EC2のLAMP環境でWordPressを動かしてみた

AWSのEC2を触ってみたいなと思って、下記の書籍を購入しました。

www.amazon.co.jp

懇切丁寧にEC2の概要やLAMP環境でWordPressを動かす手順が書いてあります。

今回は復習がてらその手順を記していこうと思います。

【自分の環境】
macOS Catalina
AWSアカウント作成済み

手順の確認

手順は3つです。

①EC2インスタンスをデフォルトのサブネットに配置する

SSHで接続する

ApachePHPMariaDBWordPressのインストール

これだけでパブリックIPアドレスのURLでWordPressが使えます。

若干長くなりそうですが、書いていきます。

①EC2インスタンスをデフォルトのサブネットに配置する

まずEC2インスタンスを作ります。

EC2インスタンスを作るにあたって、いろんな要素が必要になりますので、以下に記します。

AMI:Amazon Linux 2
インスタンスタイプ:t2.micro
リージョン:東京
VPS:デフォルトのVPC
サブネット:優先順位なし
ストレージ:8GBのSSD
EC2インスタンスの名称:WordPressWebServer
セキュリティグループ:my-webserver-sg

それでは、AWSマネジメントコンソールを開いて、EC2ダッシュボードを開きます。

リージョンを確認して、東京になっているか確認します。

左にあるインスタンスをクリックして、インスタンス一覧を表示してください。

オレンジ色の「インスタンスを起動」をクリックします。

ステップ①AMI(Amazon Machine Image)に一番上の「Amazon Linux 2」を選択。

ステップ②インスタンスタイプに「t2.micro」を選択。

ステップ③インスタンスの詳細設定で、(1)ネットワーク(2)サブネット(3)自動割り当てパブリックを、それぞれ(1)●●●デフォルト(2)優先順位なし(3)サブネット設定を使用とする。

※自分の時はデフォルトでなってました。

ステップ④ストレージの追加で「8GBのSSD」を選択。

ステップ⑤タグの追加では、インスタンスの名称を設定するため、「クリックしてNameタグを追加します」をクリック。

「値」の部分に「WordPressWebServer」を入力。

ステップ⑥セキュリティグループの設定で、(1)ラジオボタン「新しいセキュリティグループを作成する」を選択し、(2)セキュリティグループ名は「my-webserver-sg」、説明は「HTTP/HTTPS enable」と入力する。

またセキュリティグループの設定では、デフォルトでSSHしかないので、HTTPとHTTPSを追加します。

やり方は「ルールの追加」をクリックして、プルダウンの「HTTP」「HTTPS」をそれぞれ選びます。

ここまで来たら、「確認と作成」を押します。

今までの設定が出るので、間違いなかったら「作成」を押します。

最後に「既存のキーペアを選択するか、新しいキーペアを作成します。」と出ます。

1台目のEC2インスタンスの場合、キーペアはないので、新しく作成します。

プルダウンで「新しいキーペアの作成」を選択し、キーペア名を「myserverkey」とします。

次に「キーペアのダウンロード」を押します。

これで「myserverkey.pem」というキーペアファイルがダウンロードされます。

ここでダウンロードしておかないと、このEC2インスタンスにログインできなくなります。

必ずやっておきましょう。

インスタンスの作成」を押して数分経つと、インスタンスが起動します。

あとやっておきたいのが、インスタンス情報の確認です。

インスタンスIDをクリックすると、「パブリック IPv4 アドレス」や「パブリック IPv4 DNS」が確認できます。

これらはSSH接続時に使うので、すぐ使えるように控えておくといいみたいです。

これで「①EC2インスタンスをデフォルトのサブネットに配置する」は終了です。

SSHで接続する

ようやく手順②です。

macOS(ターミナル)でSSH接続する手順を書いていきます。

①ダウンロードしたキーペアファイルを~/.ssh以下に移動し、権限変更します。

下記をターミナルで打ってください。

mv /Users/username/Downloads/○○.pem  ~/.ssh
chmod 600 /Users/username/.ssh/○○.pem

上記の「username」はご自身のmacOSの名前にしてください。

また「○○.pem」は「myserverkey.pem」にしてください。

これで鍵を移動し、鍵の権限変更がされます。

要は使えるようになったかんじです。

②ターミナルからSSH接続する

SSH接続してみます。

ssh -i /Users/username/.ssh/○○.pem ec2-user@パブリック IPv4 アドレス

上記も先ほどのように書き換えてください。

実際に書くと以下のようなかんじです。

ssh -i /Users/sassamori/.ssh/myserverkey.pem ec2-user@12.34.56.78

これでSSH接続できるはずです。

あと重要なのがrootユーザーでインストールは行なっていくことです。

一般ユーザーではインストールが行えないです。

rootユーザーに成り上がるには下記をコマンドします。

sudo -i

これでrootになるはずです。

rootをやめたかったら、「exit」と打ちましょう。

「②SSHで接続する」は以上です。

ApachePHPMariaDBWordPressのインストール

あとはどんどんインストールしていきます。

まずApacheです。

Apacheのソフト名は「httpd」なので、下記を打ち込みます。

yum install httpd

途中で「Is this ok [y/d/N]」と「本当にダウンロードしていいですか?」と聞かれるので、「y」(YES)と答えましょう。

Apacheがインストールされます。

あと忘れがちですが、起動もしましょう。

下記で起動できます。

systemctl start httpd

何も応答がないですが、下記でステータスの確認ができます。

systemctl status httpd

これで途中に「active(running)」とあればOKです。

今の時点でブラウザ確認ができるようになりました。

ブラウザを開いて、URL欄にパブリック IPv4 アドレスを入力してください。

Apacheののテストページが出るはずです。

次にPHPのインストールです。

yum install php

たぶんphp5.4が入ります。

次にWordPressの動作に必要なライブラリをインストールします。

3つあり、(1)php-mysql(2)php-mbstring(3)php-gdを入れていきます。

yum install php-mysql php-mbstring php-gd

上記のようにスペース区切りにすると、まとめてインストールできます。

忘れがちですが、PHPを有効にするためにApacheを再起動します。

systemctl restart httpd

次にMariaDBのインストールです。

これはちょっと面倒かもしれないです。

まず以下をコマンドします。

yum install mariadb mariadb-server

今度は下記でMariaDBを起動します。

systemctl start mariadb

ここからMariaDBを初期設定していきます。

mysqlコマンドを使っていきます。

mysql -u root -p

こうすると、パスワードを求められますが、空欄で入れます。

コマンド練習とセキュリティのためrootパスワードを変更しましょう。

update mysql.user set password=password('あなたのパスワード') where user = 'root'; flush privileges;

これはSQL文で、パスワードを変更する命令です。

ここからはデータベースを作成していきます。

以下の設定内容になります。

ユーザー名:wordpress
パスワード:mypassword
データベース名:wordpressdb

まずユーザーを作ります。

wordpress」というユーザーで、「mypassword」というパスワードです。

create user 'wordpress'@'localhost' IDENTIFIED BY 'mypassword';

次にデータベースを作成します。

create database wordpressdb;

最後に権限を設定します。

作成したユーザーに、作成したデータベースの全権限を与えます。

grant all privileges on wordpressdb.* to 'wordpress'@'localhost'; FLUSH PRIVILEGES;

設定完了です。

確認としては、「show databases;」と打ってみて、「wordpressdb」というデータベースが存在するかどうかで見られます。

確認を終えたら、「exit」と打ち、mysqlコマンドからログアウトします。

そしていよいよWordPressをインストールします。

まず作業用のディレクトリを/homeに作って、wordpressディレクトリに移動します。

/homeディレクトリはrootディレクトリから1階層上がったところにあると思います。

mkdir /home/wordpress
cd /home/wordpress

ここにWordPressをダウンロードします。

自分の環境だと最新版だと動かなかったので、WordPress5.0.7を入れました。

wget https://wordpress.org/wordpress-5.0.7.tar.gz

ダウンロードしたファイルを展開します。

tar xzvf wordpress-5.0.7.tar.gz

そしてApacheから見えるディレクトリに移動します。

mv wordpress/* /var/www/html/

次にApacheユーザーに/var/www/htmlディレクトリ書き込み権限を与えます。

chown apache.apache -R /var/www/html
chmod +w -R /var/www/html

ここからはブラウザ操作です。

URL欄に「http://パブリック IPv4 アドレス/wp-admin/install.php」を入力し、アクセスします。

普通に行けば、WordPressのインストールページに行きます。

日本語を選択し、「続ける」をクリック。

「さあ、始めましょう」をクリック。

次にデータベース名などの入力をします。

下記のように入力してください。

データベース名:wordpressdb
ユーザー名:wordpress
パスワード:mypassword
データベースのホスト名:localhost
テーブル接頭辞:wp_

うまく行けば、インストールの実行をクリック。

WordPressの初期設定が始まります。

ブログのタイトルやユーザー名、パスワードなどを入力します。

パスワードはログインで必要なので、どこかに控えておきましょう。

入力したら、「WordPressをインストール」を押します。

ログインをして、ダッシュボードが表示されます。

パブリック IPv4 アドレスをURL欄に打ち込むと、「Hello World!」とWordPressのトップページが出てくるはずです。

これで完了です。

あとはWordPressの領域となります。

終わりに

以上となります。

自分は誤操作でしばらくWordPressのトップページが表示されませんでした。

皆さんもすんなり行かない部分はあるかもしれません。

あと、独自ドメイン名にするなどの手順も書籍に書いてあるので、時間があればまとめていきます。

ありがとうございました。