EC2とRDSでWordPressを動かしてみる - AWSをはじめからていねいに
ていねいを心掛けたAWS記事です。スクリーンショット満載でやった気になれます。
AWS関連の他の記事はAWSをはじめからていねいにからどうぞ。
概要
EC2にWordPressを導入する記事はたくさんあるのですが、RDSを使っているケースはあまり見当たらないようです。EC2のみで構築すると簡単そうに思えるのですが、実際に運用を始めるとバックアップの管理が面倒だったりするなどの手間が出てきます。RDSで作っておくと運用が楽になるので最初からRDSで構築しておくのがよいでしょう。
ゴール
EC2とRDSでWordPressを動かす。
必要なもの
- 作業時間:60分
- 構築にかかる費用:無料※
- 運用にかかる費用:無料※
- ApacheをインストールしたEC2
- MySQLのRDS
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構築時に指定した値です。設定名 設定する値 DB_NAME wordpress-db DB_USER RDSのインストール時に指定したマスターユーザー名 DB_PASSWORD RDSのインストール時に指定したマスターパスワード DB_HOST 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 に変更します。 -
変更を保存して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 {} \;
-
変更した設定を有効にするためApacheを再起動する
systemctlコマンドでApacheを再起動して変更した設定を有効にします。sudo systemctl restart httpd
WordPress用のDBを作成する
-
DBに接続する
mysqlコマンドでDBに接続します。 -
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画面を表示します。以下のスクショのように言語選択画面が表示されればインストールは正常に終了しています。
感想
AWSの構築記事を書くにあたって、お手軽に動かせるソフトウェアにWordPressを使おうと考えて書いた記事です。
実のところWordPressを使ったことがなく、名前だけ知っているという状態でした。こういうSIerさん多いんじゃないかなと思います。
次はこれをやろう
- 独自ドメイン名をつけてRoute53で管理する(鋭意作成中)
AWS関連の他の記事はAWSをはじめからていねいにからどうぞ。
Discussion