EC2のLAMP環境でWordPressを動かしてみた
AWSのEC2を触ってみたいなと思って、下記の書籍を購入しました。
懇切丁寧にEC2の概要やLAMP環境でWordPressを動かす手順が書いてあります。
今回は復習がてらその手順を記していこうと思います。
【自分の環境】
macOS Catalina
AWSアカウント作成済み
手順の確認
手順は3つです。
①EC2インスタンスをデフォルトのサブネットに配置する
②SSHで接続する
③Apache・PHP・MariaDB・WordPressのインストール
これだけでパブリック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で接続する」は以上です。
③Apache・PHP・MariaDB・WordPressのインストール
あとはどんどんインストールしていきます。
まず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
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の領域となります。