WordPressをAWS(EC2+RDS)で構築④ ~WordPressインストール編~

WordPressをAWS(EC2+RDS)で自力で地道に構築する手順を紹介します。これまで導入編EC2構築編RDS構築編で、Webサーバー、データベースサーバーの構築は完了しました。

構築する環境の構成図は以下のとおりです。これまで、ネットワーク設定にあたるVPC、EC2、RDSは構築済みなので、今回のWrdpress編でApache、PHP、Wordpress環境を構築して完成となります。

ここから先はほぼLAMP環境構築の普通の作業なのでAWS要素はあまりありません。

EC2にSSHで接続する

ここから先の作業はEC2にSSH接続して実施しますので、SSHでのEC2の接続方法を紹介します。紹介するのは私が使っているTeraTermでの接続方法です。

EC2に関連付けたElastic IPのIPアドレスを入力してOKボタンをクリック。

ユーザー名は「ec2-user」です。パスフレーズは空欄のまま「RSA/DSA/ECDSA/ED25519鍵を使う」のラジオボタンをチェックし「秘密鍵」ボタンをクリックします。ここで、EC2を構築した時に取得したキーパスファイルを選択します。キーパスファイルを選択したらOKをクリック。

以下のような画面が出たら接続成功です。

初回の接続時だけ、お作法的にアップデートしておきます。

$ sudo yum update

 
以上でSSH接続とアップデートは完了です。引き続きApacheをインストールしていきます。

EC2にApacheをインストールする

まずはApacheをインストールします。

$ sudo yum install httpd

 
自動起動設定をしておきます。

$ sudo chkconfig httpd on

 
設定ファイルであるhttpd.confの編集を行います。
ファイル編集をする前に念のためバックアップをとっておきます。

$ sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org

 
テキスト入力モードでhttpd.confを開きます。

$ sudo vim /etc/httpd/conf/httpd.conf

 
編集点は以下のとおりです。左の数字は該当箇所の行数の目安です。TeraTermの桁数が77桁の場合の行数です。

  44  ServerTokens Prod
537  ServerSignature Off

 
設定変更が完了したところでApacheを起動します。

$ sudo service httpd start

 
以上でApacheのインストールと設定が完了しました。次にPHPをインストールします。

EC2にPHPをインストールする

まずはPHPをインストールします。

$ sudo yum install php php-devel php-mysql php-mbstring php-gd

 
設定ファイルであるphp.iniの編集を行います。念のためバックアップを取ります。

$ sudo cp /etc/php.ini /etc/php.ini.org

 
テキスト入力モードでphp.iniを開きます。

$ sudo vim /etc/php.ini

 
編集点は以下のとおりです。左の数字は前出同様の行数の目安です。

  436  expose_php = Off
  643  error_log = /var/log/php_errors.log
  885  upload_max_filesize = 20M
  956  date.timezone = Asia/Tokyo
1552  mbstring.language = Japanese
1558  mbstring.internal_encoding = UTF-8
1562  mbstring.http_input = auto
1580  mbstring.detect_order = auto

 
Apacheを再起動します。

$ sudo service httpd restart

 

以上でPHPのインストールと設定変更は完了です。

EC2からRDSに接続する

WordPressの構築ではDB接続はブラウザから行うのですが、ここでEC2からRDSに接続できるか疎通確認をします。EC2にMySQLクライアントをインストールします。

$ sudo yum install mysql

 

次にMySQLに接続してみます。コマンドは以下のとおりです。適宜自分でつけたネーミングに変更して下さい。

#mysql -h RDSのエンドポイント -P ポート番号 -u ユーザ名 -p データベース名

私の場合はユーザ名もデータベース名もwpdbなので以下のようなコマンドになります。

$ mysql -h wpdb.cqrjfkqguebt.ap-northeast-1.rds.amazonaws.com -P 3306 -u wpdb -p wpdb

 

MySQLのコンソール画面が表示されれば疎通完了です。それではいよいよWordpressをインストールしていきます。

EC2にWordpressをインストールする

WordPress日本語版をダウンロードします。

$ wget http://ja.wordpress.org/latest-ja.tar.gz

 
ルート権限に入り、Wordpressファイルの展開先ディレクトリのオーナーをec2-userに変更します。

$ sudo su –
$ chown ec2-user /var/www/html

 
Wordpressファイルを展開します。

$ tar zxvf latest-ja.tar.gz -C /var/www/html/

 
これでインストール完了ですが、このままだと/var/www/html/wordpress/配下にWordpressファイルが展開されているため、ドメイン/wordpressがindex.htmlのパスになってしまうのでhtmlディレクトリ直下に移動して不要となったwordpressディレクトリを削除します。

$ mv /var/www/html/wordpress/* /var/www/html/
$ rmdir /var/www/html/wordpress/

 
最後にオーナーをapacheに変更します。このオーナー変更を実施しないとWordPress上でテーマやプラグインのインストールができません。

$ sudo chown -R apache /var/www/html/

 
以上でSSH経由でのWordpressのインストールと設定は完了です。最後にブラウザからWordpressの設定をいくつかして完了です。
ブラウザで以下のURLにアクセスします。"xxx"の部分はElstic IPが入ります。

http://ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com

データベースのホスト名欄にはRDSのエンドポイントを入力。

以下、Wordpressのログインアカウントやパスワード、HP名などの初期設定を入力します。

ログインボタンをクリックすると以下のログインページが開きます。このページは今後Wordpressにログインする際に使うのでブックマークしておきましょう。

以上でWordpressの設定は完了です。AWS(EC2+RDS)環境でWprdpressが構築できました。