WordPress
Linux
AWS
S3

Amazon Linux (WordPress) 3

本ハンズオンは3部構成となっています。

Amazon Linux (EC2) 1

Amazon Linux (RDB) 2

Amazon Linux (WordPress) 3



1.wordpress のダウンロード、インストール

curlコマンドでダウンロードしていきます。

curl -O https://wordpress.org/latest.tar.gz

lsコマンドでダウンロードできたかも確認しておきましょう。

ls -lh /home/ec2-user/

スクリーンショット 2018-10-30 18.20.34.png

tarコマンドで展開します。

tar -xzf /home/ec2-user/latest.tar.gz

スクリーンショット 2018-10-30 18.21.42.png

mv コマンドでordpress ディレクトリの中身をすべてドキュメントルートに移動させます。

sudo mv /home/ec2-user/wordpress/* /var/www/start-aws-documentroot/

スクリーンショット 2018-10-30 18.22.45.png

chown コマンドでドキュメントルート以下の持ち主をapache ユーザに変更しておきます。

sudo chown apache:apache -R /var/www/start-aws-documentroot

スクリーンショット 2018-10-30 18.24.17.png

ドキュメントルート以下にindex.htmlなど不要なファイルがある場合は、削除し、WordPress のファイルだけにします。

sudo rm -f chown /var/www/start-aws-documentroot/index.html

lsコマンドで中身を確認しておきましょう。

ls -lh /var/www/start-aws-documentroot/

スクリーンショット 2018-10-30 18.28.05.png

ブラウザで自分のドメインを開き、「日本語」を選択して「Cotinue」をクリックします。

スクリーンショット 2018-10-30 18.30.49.png

「行こう!」をクリックします。

スクリーンショット 2018-10-30 18.32.18.png

以下の項目を入力し「提出する」。

データベース名:start_aws_wordpress_dbname

ユーザー名:rdsuser(マスターユーザの名前)

パスワード:password(マスターパスワード)

データベースのホスト名:エンドポイント

スクリーンショット 2018-10-30 18.35.21.png

「Run the installation」をクリックします。

スクリーンショット 2018-10-30 18.36.28.png

WordPress 管理画面に入るための情報を入力し、「install WordPress」をクリックします。

サイトのタイトル

ユーザー名

パスワード

メールアドレス

スクリーンショット 2018-10-30 18.38.07.png

実際にログインしてみましょう。

スクリーンショット 2018-10-30 18.39.44.png


2.管理画面にダイジェスト認証をかけてみる

htdigestコマンドで、パスワードファイルを作成します。

sudo htdigest -c /etc/httpd/conf/htdigest wp-admin-area start-aws-digest-user

New password:

Re-type new password:

スクリーンショット 2018-10-30 18.46.08.png

cat コマンドでパスワードファイルを見てみましょう。

cat /etc/httpd/conf/htdigest

スクリーンショット 2018-10-30 18.47.28.png

vi コマンドでバーチャルホストにダイジェスト認証の設定を書き足します。

vi /etc/httpd/conf.d/start-aws-virtualhost.conf

スクリーンショット 2018-10-30 18.58.38.png

<Directory "/var/www/start-aws-documentroot/wp-admin">

AuthType Digest
AuthName wp-admin-area
AuthUserFile /etc/httpd/conf/htdigest
Require valid-user
</Directory>

cat コマンドで確認して起きましょう。

cat /etc/httpd/conf.d/start-aws-virtualhost.conf

apachectlで構文チェックをしましょう。

apachectl configtest

スクリーンショット 2018-10-30 18.59.17.png

有効にするためにApacheを再起動します。

apachectl restart

スクリーンショット 2018-10-30 18.59.57.png

管理画面にログインし、ダイジェスト認証が表示されるか、ログインされるか確認してみましょう。

スクリーンショット 2018-10-30 19.00.20.png


3.画像をS3 に保存する

WordPress で画像をアップすると、画像ファイルはドキュメントルート以下にある「wp-content/uploads」というディレクトリに保存されてしまうため、s3に保存されるようにします。

1.S3アップ用のIAMユーザーを作成しておく

以下の用件で作成しておきます。手順は省きますので、AWS IAM ハンズオンの記事などを参考にしてください。

グループ:s3-upload-group

ポリシー:AmazonS3FullAccess

ユーザ:s3-upload-user

2.プラグインをインストールする

WordPress にS3 を使うためのプラグインを入れます。

・Amazon Web Services プラグイン

・WP Offload S3 Lite プラグイン

「プラグイン」の「新しく追加する」をクリックして、「プラグインの検索...」と書かれたところに「Amazon Web Services」と入力します。

「Amazon Web Services」が表示されたら「今すぐインストール」をクリックします。

image.png

ボタンの表示が「インストール中」の後に「アクティブ化する」になったらクリックします。

image.png

Amazon Web Services プラグインがインストールできたので「アクセスキー」をクリックします。

image.png

「ここをクリックしてフォームを表示してください。」をクリックして、先ほど作ったS3 アップ専用のIAMユーザである「s3-upload-user」のアクセスキーID と秘密のアクセスキーを入力します。どちらも入力できたら「変更内容を保存」をクリックします。

image.png

同じように「WP Offload S3 Lite」をインストールし、有効化してください。

WP Offload S3 Lite プラグインがインストールできたら「設定」をクリックします。

image.png

「パケット名」に「start-aws-wordpress-bucket」と入力し、「Region」は「Asia Pacific (Tokyo)」を選択したら「新しいパケットを作成する」をクリックします。

image.png

下にスクロールして「Force HTTPS」をオンにしたら「Save Changes」をクリックします。

image.png

画像を投稿して、URLがS3のものになっているか確認してみましょう。

image.png