はじめに
AWSハンズオンの学習記録です。
2022年8月の情報をもとに投稿します。
ゴールは、EC2を使って簡易的な仮想サーバーを作り、ブログソフトであるWordPressをインストールします。
また、WordPressを外部公開できることを想定しています。
今回はこれまで流れを踏まえて、WordPressのインストール方法を投稿します。
尚、ハンズオンがメインのため、各サービスの概要や用語の解説は極力省かせていただきます。
ゴール
仮想サーバーでWordPressを使える状態にします
ゴールまでの流れ
1.VPCとサブネットを作成
2.EC2を作成/セキュリティグループの設定
3.EC2へSSH接続
4.Webサーバーである「Apache」をインストール
5.プログラミング言語である「PHP」をインストール
6.データベースである「MariaDB」をインストール
7.WordPressをインストール(本記事ではここを解説します)
本記事の目的
・WordPressのインストール方法を理解します
動作環境
・MacBook Pro (Retina, 13-inch, Late 2013)
・macOS: Big Sur 11.6.1
・CPU: Intel
・メモリ: 8GB
WordPressをインストールするまでの流れ
①EC2インスタンスへSSH接続
詳しくはこちら
②root ユーザーに切り替える
詳しくはこちら
③Apacheを起動する
詳しくはこちら
④MariaDBを起動しログインする
以下のsystemctl
コマンドを用いてMariaDBを起動します↓
# systemctl start mariadb
ログイン方法の詳細は前回記事のこちら
※変更したパスワードでログインしましょう。
⑤WordPressをダウンロードし展開する
a).EC2上にmkdir
コマンドを用いて作業用のディレクトリを作る
EC2インスタンスにWordPressをインストールするため、まずはEC2インタンス上に「作業部屋」を作成します。
ここでは便宜上、「作業部屋」=「ディレクトリ」と考えて良いです。
mkdir
コマンドとは「make directory」の略で、直訳すると「ディレクトリを作成する」、つまり作業部屋であるディレクトリを新規作成するコマンドです。
以下のコマンドを入力します↓
# mkdir /home/wordpress
wordpress
という名前のディレクトリ=作業部屋を/home
のディレクトリ以下に作成します。
b.)cd
コマンドを用いてwordpress
のディレクトリに移行する
以下のコマンドを入力します↓
# cd /home/wordpress
cd
コマンドについてはこちらを参照願います。
c.)wget
コマンドを用いてWordPressをダウンロードする
wget
コマンドとは、凄く噛み砕くと「Web上からコンテンツなどをダウンロードする」コマンドと考えて良いです。HTTP・HTTPS・FTP に対応しています。
以下のコマンドを入力します↓
# wget https://wordpress.org/latest.tar.gz
記述方法は、ざっくりですがwget
+(space)
+Web上にあるダウンロードしたいコンテンツ
となります。
成功すると以下のような情報が出力されます↓
--2022-08-11 05:28:43-- https://wordpress.org/latest.tar.gz
wordpress.org (wordpress.org) をDNSに問いあわせています... 198.143.164.252
wordpress.org (wordpress.org)|198.143.164.252|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 21171263 (20M) [application/octet-stream]
`latest.tar.gz' に保存中
100%[======================================>] 21,171,263 6.24MB/s 時間 3.2s
2022-08-11 05:28:47 (6.24 MB/s) - `latest.tar.gz' へ保存完了 [21171263/21171263]
上記のように保存完了
やsaved
と表示されれば成功です。
d.)tar
コマンドを用いてダウンロードしたファイルを展開する
tar
コマンドとは、文字通りtar形式のファイルを操作するコマンドです。tar
の後にコマンドを追加することで、どのような操作をするか指定できます。
ここでは、tar
の後にxzvf
というファイルを解凍するコマンドを付け足します。
以下のコマンドを入力します↓
# tar xzvf latest.tar.gz
記述方法は、tar
+(space)
+xzvf
+ファイル名
です。
成功すると、以下の情報が出力されます↓ ※途中省略します
wordpress/
wordpress/xmlrpc.php
wordpress/wp-blog-header.php
wordpress/readme.html
~~~~以下省略します~~~~
⑥Apacheユーザーに書き込み権限を与える
a.)展開したWordPressをApacheのディレクトリに移動する
WebサーバーであるApacheのディレクトリに、展開したWordPressの中身を全てApacheの /var/www/html/
ディレクトリの下に移動します。
以下のmv
コマンドを入力します↓
# mv wordpress/* /var/www/html/
b.)移行先のApacheのディレクトリへの書き込み権限を与える
Apacheユーザーに対して、移行先のディレクトリである/var/www/html/
への書き込み権限を与えます。
1.chown
コマンドを用いてファイルの所有者を変更する
chown
コマンドとは上記説明の通り、ファイルの所有者を変更するコマンドです。今回はファイルの所有者を「Apacheユーザ」に変更します。
以下のコマンドを入力します↓
# chown apache.apache -R /var/www/html
2.chmod
コマンドを用いて書き込み権限を与える
chmod
コマンドとは、対象に書き込み権限を与えるコマンドです。今回は「/var/www/htmlに対して」書き込み権限を与えます。
以下のコマンドを入力します↓
chmod +w -R /var/www/html
⑦WordPressをインストールする
a.)ブラウザでインストールページにアクセスする
アクセス方法は、ブラウザ上で「http://パブリックIP/wp-admin.install.php」
と入力します。成功すると以下のようなページが表示されます。
「日本語」を選択し、「次へ」を押下します。
b.)データベースの情報を設定する
「次へ」を押下すると上記画面が現れます。「さあ、始めましょう!」を押下して次の項目へ進みます。
ここでは、前回記事で設定した情報に準拠して入力してみます。
例としては以下の通りに入力します↓
入力値 | |
---|---|
データベース名 | userdb |
データベースのユーザー名 | user |
パスワード | 各自設定したもの |
データベースのホスト名 | localhost(そのまま) |
テーブル接頭辞 | wp_(そのまま) |
成功すると以下のページが表示されます↓
「インストール実行」を押下します。
c.)WordPressの初期設定を行う
上記ページが表示されるので、適宜入力が終われば「WordPress をインストール」を押下します。
⑧WordPressにログインし動作確認する
設定したユーザ名とパスワードでログインし、正常にページが動いているか確認します。
⑨作成したWordPressに今後もアクセスしたい場合
ブラウザ上にhttp://パブリックIP/wp-admin
と入力すれば、WordPressのログインページにアクセスできます。
その後ログインします。
今後どうするのか?
WordPressを残す場合
WordPressを残す場合、以下の2パターンに分かれることが多いと思います。
a.)常に稼働したい
このパターンではEC2を常に稼働することになると思うので、秒単位で料金が課金されます(スポットインスタンスやリザーブドインスタンスなどを除く)。
ハンズオンや検証目的であれば、後述するような、必要な場合のみEC2を起動する方法や、EC2ごと完全に削除する方法を推奨します。
上記画面右上の「ログアウト」を押下し、必要に応じてログインします。
b.)必要な場合のみWordPressを使いたい
EC2を停止すると、ApacheやMariaDBも停止します。そこで、EC2再起動時にApacheやMariaDBも自動起動する設定をおすすめします。
1.ApacheとMariaDBの自動起動設定を行う
以下のsystemctl
コマンドを用いてApacheとMariaDBの自動起動設定を行います↓
# systemctl enable httpd
# systemctl enable mariadb
入力した結果は以下の通りです↓
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/xxxxx.service.
※最後のxxxxx
の部分はhttpd
、mariadb
のようなサービス名が入ります。
2.WordPressごとEC2を停止する
EC2ダッシュボードを表示し、「インスタンスを停止」を押下します。
3.WordPressごとEC2を再起動する
上記画像の「インスタンスを再起動」を押下し起動確認後、本記事上部記載の①〜④を実施します。その後、本記事⑨を実施します。
全て削除したい場合
これはシンプルで、上記画像の「インスタンスを終了」を押下します。
あとがき
AWSのサービスであるEC2インスタンス上にLAMPサーバーを構築し、WordPressを動かしてみようというテーマで、合計7回に渡り投稿させていただきました。
このサーバーをよりAWSらしく構築するには、Route 53で独自ドメインを設定したり、ELBで負荷分散したり、RDSといったマネージドサービスのデータベースを使ったり...などさまざまな機能を利用します。
拡張できる余地がまだあるので、機会があれば投稿してみようかな、と思います。
最後に、ここまでお読みくださった方々、本当にありがとうございました。
みなさまのご参考になれば幸いです。