AWSでWeb(3)EC2とRDSでWordPress

概要
EC2にWordPressを導入する記事はたくさんあるのですが、RDSを使っているケースはあまり見当たらないようです。EC2のみで構築すると簡単そうに思えるのですが、実際に運用を始めるとバックアップの管理が面倒だったりするなどの手間が出てきます。RDSで作っておくと運用が楽になるので最初からRDSで構築しておくのがよいでしょう。
ゴール
EC2とRDSでWordPressを動かす。
必要なもの
- 作業時間:60分
- 構築にかかる費用:無料※
- 運用にかかる費用:無料※EC2とRDSの無料枠の使用を想定しています。AWSアカウント作成から12カ月以内の場合は無料です。無料枠がない場合は構築費で10円ぐらい、毎月5000円ぐらいかかります。
参考見積はこちら - ApacheをインストールしたEC2
- MySQLのRDS ApacheやRSDを準備していない場合は以下の記事を参考にして構築しましょう。
EC2とRDSでWordPressを動かしてみる
PHPをインストールする
WordPressを実行するためのPHPをインストールします。
- PHPのリポジトリを設定する
amazon-linux-extras コマンドでインストールに使うリポジトリを指定します。sudo amazon-linux-extras enable php7.4
- PHPをインストールする
yumコマンドでphpをインストールします。sudo yum install php php-gd php-mysqlnd php-xmlrpc -y
- PHPがインストールされたことを確認する
phpコマンドでバージョンを表示してインストールが正常に行われていることを確認します。php -version
WordPressをインストールする
- 作業ディレクトリを変更する
セッションマネージャーで接続している場合はカレントディレクトリが /usr/bin になっているのでホームディレクトリに変更します。
Linuxでは ~(チルダ) がホームディレクトリを表します。cd ~
- WordPressをダウンロードする
curlコマンドでwordpressをダウンロードします。
ダウンロードしたファイルがあることをlsコマンドで確認します。wget https://wordpress.org/latest.tar.gz
- ダウンロードしたファイルを解凍する
tarコマンドでダウンロードしたファイルを解凍します。tar -xzvf latest.tar.gz
- 設定ファイルのサンプルをコピーする
解凍ファイルに含まれているサンプルの設定ファイルをコピーします。cp wordpress/wp-config-sample.php wordpress/wp-config.php
- nanoエディタで設定ファイルの編集を始める
nanoエディタを使用して設定ファイルの変更を始めます。nano wordpress/wp-config.php
- DB設定を変更する
DBの以下4つの設定を変更します。DB_NAMEは任意の値を設定して構いませんが、この手順では「wordpress-db」を使用します。
マスターユーザー名、マスターパスワード、エンドポイントはRDS構築時に指定した値です。 - 変更を保存してnanoエディタを終了する
キーボード操作で「C-o」(コントロールキーを押したままo)を押すとファイル保存モードになるので、エンターキーを押して保存します。
次に「C-x」(コントロールキーを押したままx)を押すとエディタが終了します。 - WordPressのファイルをApacheの配下にコピーする
copyコマンドでWordPressのファイルをApacheの配下にコピーします。cp -r wordpress/* /var/www/html/
Apacheの設定をWordPress用に変更する
- nanoエディタで設定ファイルの編集を始める
WordPressのパーマリンクを使用するにはApacheの.htaccess設定を有効にする必要があります。Amazon Linux2 ではデフォルトでは無効になっているので有効に変更します。
nanoエディタを使用して設定ファイルの変更を始めます。sudo nano /etc/httpd/conf/httpd.conf
- .htaccessを有効にする
設定ファイルから <Directory “/var/www/html”> という行を探し、その後にある「AllowOverride」の値を None から All に変更します。
この設定ファイルにはAllowOverrideという項目が何度か登場します。以下のスクショでも2か所存在しています。編集するのは<Directory “/var/www/html”>タグの中のAllowOverrideの値なので間違わないように注意しましょう。 - 変更を保存してnanoエディタを終了する
キーボード操作で「C-o」(コントロールキーを押したままo)を押すとファイル保存モードになるので、エンターキーを押して保存します。
次に「C-x」(コントロールキーを押したままx)を押すとエディタが終了します。 - Apacheによる書き込み権限を追加する
WordPressはドキュメントルート(/var/www/html)の書き込み権限が必要となります。
WordPressを実行するApacheユーザーに一連の権限を設定します。sudo chown -R apache /var/www
sudo chgrp -R apache /var/www
sudo chmod 2775 /var/www
find /var/www -type d -exec sudo chmod 2775 {} \;
find /var/www -type f -exec sudo chmod 0664 {} \;
4つめと5つめのfindコマンドによる処理は数十秒程度の処理時間が必要です。気長に待ちましょう。 - 変更した設定を有効にするためApacheを再起動する
systemctlコマンドでApacheを再起動して変更した設定を有効にします。sudo systemctl restart httpd
WordPress用のDBを作成する
- DBに接続する
mysqlコマンドでDBに接続します。
DB接続方法がわからない場合はRDSでデータベースを構築するを参照して接続してください。 - WordPress用DBを作成する
WordPressの設定ファイルのDB_NAMEに指定したDBを作成します。この手順の通りに作業していれば「wordpress-db」が設定されています。
DBの作成にはCREATE DATABASEコマンドを使用します。CREATE DATABASE `wordpress-db`;
DBが作成されたことの確認はshow databaseseコマンドで行います。show databases;
- DB接続を終わります
exitコマンドでDB接続を終わります。
ブラウザでWordPressを表示する
- ブラウザでWordPress画面を表示する
ブラウザでEC2にインストールしたWordPress画面を表示します。以下のスクショのように言語選択画面が表示されればインストールは正常に終了しています。
表示方法がわからない場合はEC2にApacheをインストールしてブラウザで表示するを参照して表示してください。