今回からWordPressを動作させる為に必要なサービスやプログラムをインストールします。
今回はWebサーバーApacheをインストールします。
詳しい手順がこちらで公式ドキュメントで公開されています。ここではapacheのインストールに関して、掻い摘んで記述します。
サーバーインスタンスにSSHログイン
前回の記事を参考にしてサーバーインスタンスにSSHログインします。
1 2 | $sudo yum update -y $sudo yum install apache |
これだけです。今はパッケージ管理システムのおかげでサービスのインストールが本当に楽になりました。
1 | $sudo service httpd start |
インスタンス起動時に自動的にapacheを起動するようにしましょう。
1 | $sudo chkconfig httpd on |
動作確認
ブラウザにホスト名、またはIPアドレスを入力してApacheが起動しているか調べてみましょう。
ホスト名、IPアドレスは以下の画像を参考に取得して下さい。パブリックDNSがホスト名、パブリックIPがIPアドレスとなります。
ブラウザにアドレスを入力してページを表示してみましょう。通常、アドレスは以下のような形式になるはずです。
1 2 | http://ec2-xx-xx-xx-xx.ap-northeast-1.compute.amazonaws.com http://xxx.xxx.xxx.xxx |
アドレスが正しければ、以下のテストページが表示されます。このページが表示されれば、正常にapacheが動作しています。
テストページが表示されない場合
セキュリティグループのインバウンドを確認してみましょう。
タイプHTTPが存在していない場合はルールを追加してHTTPポートによる通信を許可して下さい。
ec2-userへドキュメントルートへのアクセス許可を与える
Apacheのドキュメントルート/var/wwwは所有者、グループ共にrootとなっていて、ec2-userでは書き込みできません。
以下はec2-userにアクセス許可を与える手順です。
まず/var/wwwにアクセスできるグループ”www”を作成しましょう。
注意:このグループはApacheの設定ファイルに定義されているグループと同じグループとしましょう。インスタンスのOSやパッケージ管理システムで使用したリポジトリによって、”www”でなく”apache”の場合もあります。
Apacheの設定ファイルに記述されているグループを以下のコマンドで調べてみましょう。
1 2 3 4 5 6 7 | $sudo cat /etc/httpd/conf/httpd.conf | grep Group # User/Group: The name (or #number) of the user/group to run httpd as. # . On SCO (ODT 3) use "User nouser" and "Group nogroup". # NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET) # when the value of (unsigned)Group is above 60000; # don't use Group #-1 on these systems! Group apache |
上記例の最後の行がグループの定義です。”apache”と定義されています。
上記例のようにグループが”www”でない場合、以下の内容の”www”グループは定義されたグループに置き換えて下さい。
作成する前にグループが存在するか確認しましょう。
1 | $sudo cat /etc/group | grep www |
コマンドを実行しても何も出力されない場合、そのグループは存在しません。グループを作成しましょう。
1 | $sudo groupadd www |
次にユーザーec2-userをwwwグループに追加します。
1 | $sudo usermod -a -G www ec2-user |
ec2-userのグループ設定を有効にする為に、一旦、インスタンスサーバーからログアウトしましょう。
1 | $exit |
再度ログインし、/var/www/とそのコンテンツの所有グループをwwwグループに変更します。
1 | $sudo chown -R root:www /var/www |
/var/www/の権限を変更します。
4桁目の2は、/var/www以下に作成されるファイルのグループをこれ以降全てwwwグループとする為です。
3、2、1桁目はそれぞれ所有者、グループ、全員の権限です。
1 | $sudo chmod 2775 /var/www |
次に、/var/www以下のディレクトリ全てに上記と同じ権限を与えます。
find /var/www -type dで、/var/www以下のディクレトリを検索し、その検索結果に対してsudo chmod 2775 を行います。
{}は検索結果を表し、\;は検索結果に対する処理の終わりを表します。
1 | $find /var/www -type d -exec sudo chmod 2775 {} \; |
以上でApacheの設定は終了です。
次回はMySQLのインストール手順を書きます。
宮崎県在住。
プログラムを書いて暮らしています。趣味はルアーフィッシング、ギター。