Amazon Linux (WordPress) 3

本ハンズオンは3部構成となっています。
[Amazon Linux (EC2) 1](https://qiita.com/leomaro7/items/efd059559ce4551b4324)
[Amazon Linux (RDB) 2](https://qiita.com/leomaro7/items/5978ed2e709aa19c8ee0)
[Amazon Linux (WordPress) 3](https://qiita.com/leomaro7/items/987d35d6e4cd9a0b10e9)


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

curlコマンドでダウンロードしていきます。
`curl -O https://wordpress.org/latest.tar.gz`
lsコマンドでダウンロードできたかも確認しておきましょう。
`ls -lh /home/ec2-user/`
![スクリーンショット 2018-10-30 18.20.34.png](https://qiita-image-store.s3.amazonaws.com/0/280929/fa95582f-82c5-d827-07d2-21e5a77517db.png)

tarコマンドで展開します。
`tar -xzf /home/ec2-user/latest.tar.gz`
![スクリーンショット 2018-10-30 18.21.42.png](https://qiita-image-store.s3.amazonaws.com/0/280929/e6b8cfd8-447c-4446-dfa9-e00d8cf0095e.png)

mv コマンドでordpress ディレクトリの中身をすべてドキュメントルートに移動させます。
`sudo mv /home/ec2-user/wordpress/* /var/www/start-aws-documentroot/`
![スクリーンショット 2018-10-30 18.22.45.png](https://qiita-image-store.s3.amazonaws.com/0/280929/d8bcfc8d-c9e7-ed23-6814-84ef0b5aae55.png)

chown コマンドでドキュメントルート以下の持ち主をapache ユーザに変更しておきます。
`sudo chown apache:apache -R /var/www/start-aws-documentroot`
![スクリーンショット 2018-10-30 18.24.17.png](https://qiita-image-store.s3.amazonaws.com/0/280929/dbc09983-9a41-52ed-e811-787f934ff1d7.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](https://qiita-image-store.s3.amazonaws.com/0/280929/9fbba5c4-b12d-5517-224a-cf577ffb5f18.png)

ブラウザで自分のドメインを開き、「日本語」を選択して「Cotinue」をクリックします。
![スクリーンショット 2018-10-30 18.30.49.png](https://qiita-image-store.s3.amazonaws.com/0/280929/c1cb3f71-653c-e43b-6223-a8e5a907a323.png)

「行こう！」をクリックします。
![スクリーンショット 2018-10-30 18.32.18.png](https://qiita-image-store.s3.amazonaws.com/0/280929/85eb40fb-f289-7a75-6c0c-845424c7a613.png)

以下の項目を入力し「提出する」。
データベース名：start_aws_wordpress_dbname
ユーザー名：rdsuser（マスターユーザの名前）
パスワード：password（マスターパスワード）
データベースのホスト名：エンドポイント
![スクリーンショット 2018-10-30 18.35.21.png](https://qiita-image-store.s3.amazonaws.com/0/280929/0732ebab-b54f-b0fa-02ca-3dfac7cb862c.png)

「Run the installation」をクリックします。
![スクリーンショット 2018-10-30 18.36.28.png](https://qiita-image-store.s3.amazonaws.com/0/280929/7e1883b3-ed49-5b2f-8b0c-8cc2efcdfccf.png)

WordPress 管理画面に入るための情報を入力し、「install WordPress」をクリックします。
サイトのタイトル
ユーザー名
パスワード
メールアドレス
![スクリーンショット 2018-10-30 18.38.07.png](https://qiita-image-store.s3.amazonaws.com/0/280929/f1567e9a-7374-392b-baca-85b5b651b1a0.png)

実際にログインしてみましょう。
![スクリーンショット 2018-10-30 18.39.44.png](https://qiita-image-store.s3.amazonaws.com/0/280929/ed1db561-b7c3-0373-d315-343ba9c09b36.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](https://qiita-image-store.s3.amazonaws.com/0/280929/8e88b4f7-0f66-b7ba-4f29-881ce7e4facf.png)

cat コマンドでパスワードファイルを見てみましょう。
cat /etc/httpd/conf/htdigest
![スクリーンショット 2018-10-30 18.47.28.png](https://qiita-image-store.s3.amazonaws.com/0/280929/21490f81-79b7-1b56-089b-05004b15e9b5.png)

vi コマンドでバーチャルホストにダイジェスト認証の設定を書き足します。
`vi /etc/httpd/conf.d/start-aws-virtualhost.conf`
![スクリーンショット 2018-10-30 18.58.38.png](https://qiita-image-store.s3.amazonaws.com/0/280929/fbf7a500-b23d-7b6e-f40e-fc83f1d4547a.png)

```ruby:
<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](https://qiita-image-store.s3.amazonaws.com/0/280929/befa21b6-6459-b349-6166-714a5a4c3ce7.png)

有効にするためにApacheを再起動します。
`apachectl restart`
![スクリーンショット 2018-10-30 18.59.57.png](https://qiita-image-store.s3.amazonaws.com/0/280929/924ea96d-8074-ab60-3a1f-742833c643f1.png)

管理画面にログインし、ダイジェスト認証が表示されるか、ログインされるか確認してみましょう。
![スクリーンショット 2018-10-30 19.00.20.png](https://qiita-image-store.s3.amazonaws.com/0/280929/f088005c-689e-e423-8dd4-a3afdc728b1a.png)


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

**1.S3アップ用のIAMユーザーを作成しておく**
以下の用件で作成しておきます。手順は省きますので、[AWS IAM ハンズオン](https://qiita.com/leomaro7/items/da08478ab280148fe444)の記事などを参考にしてください。
グループ：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](https://qiita-image-store.s3.amazonaws.com/0/280929/99368319-8db4-a21b-7af7-64a5bcc55029.png)

ボタンの表示が「インストール中」の後に「アクティブ化する」になったらクリックします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/280929/75e97b28-2eaf-6bdd-5f61-def32af241f4.png)

Amazon Web Services プラグインがインストールできたので「アクセスキー」をクリックします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/280929/e2f7ae09-9095-b117-0563-c255352b289c.png)

「ここをクリックしてフォームを表示してください。」をクリックして、先ほど作ったS3 アップ専用のIAMユーザである「s3-upload-user」のアクセスキーID と秘密のアクセスキーを入力します。どちらも入力できたら「変更内容を保存」をクリックします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/280929/b076ab98-e62f-b5f6-df3f-79b2c6ca80b2.png)

同じように「WP Offload S3 Lite」をインストールし、有効化してください。
WP Offload S3 Lite プラグインがインストールできたら「設定」をクリックします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/280929/05273a51-9443-ad78-e063-b6833e60099d.png)

「パケット名」に「start-aws-wordpress-bucket」と入力し、「Region」は「Asia Pacific (Tokyo)」を選択したら「新しいパケットを作成する」をクリックします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/280929/de11e9cc-0d13-df3b-67ed-c23aeebb9a85.png)

下にスクロールして「Force HTTPS」をオンにしたら「Save Changes」をクリックします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/280929/c729b54b-eb1f-8f2b-bee0-4a8ac639a70c.png)

画像を投稿して、URLがS3のものになっているか確認してみましょう。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/280929/6909cb90-09c2-e547-c6b1-8052ca8cff42.png)