LoginSignup
2
9

More than 5 years have passed since last update.

Wordpressで作成したブログをS3で管理する。StaticPress

Posted at

S3で管理する利点

EC2を起動しないでいいので、料金が安く済む。

S3のバケットを作成する

公開する静的ファイルを置く、S3を作成します。
http://example.comの場合、example.comというバケットを作成します。
スクリーンショット 2018-05-10 15.32.35.png

IAMの設定を行います。

ポリシーを作成します

S3Onlyという名前にしてみました。(適当で)

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "s3:ListAllMyBuckets",
                "s3:GetBucketLocation",
                "s3:DeleteObject",
                "s3:GetObject",
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Action": "*",
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::${aws:username}",
                "arn:aws:s3:::${aws:username}/*"
            ]
        }
    ]
}

S3を使用するユーザを作成します。

ユーザを作成します。
作成したときに取得する、アクセスキーとシークレットキーを後で使います。
さきほど作成したポリシーをアタッチします。
ここでは、S3Onlyというユーザを作成しました。(適当)
同じ名前ですが、S3Onlyというポリシーをアタッチしました。

StaticPressのプラグインをインストールする

WordPressのプラグインの項目から新規追加する。

スクリーンショット 2018-05-10 14.58.22.png

インストールしたら、有効化を忘れずにします。

StaticPress S3もインストールします。

こちらは、WordPressからインストールできません。
Gitから「Download ZIP」を押して、Zipを落としてください。
https://github.com/megumiteam/staticpress-s3
スクリーンショット 2018-05-10 15.16.59.png

プラグインの新規追加画面を開きます。
プラグインのアップロードボタンを押します。
スクリーンショット 2018-05-10 15.22.16.png

先ほどダウンロードしたZIPを選択し今すぐインストールを押します。
スクリーンショット 2018-05-10 15.25.59.png

StaticPressとStaticPress S3を有効化します。
スクリーンショット 2018-05-10 15.27.06.png

StaticPressのコードを修正

AWSのインスタンスで立ち上げた場合必要でした

wordpress_home/wp-content/plugins/staticpress-s3-master/includes/class-S3_helper.php

$magic_file = '/usr/share/misc/magic';

$magic_file = '/etc/httpd/conf/magic';

一応リスタートします

sudo service nginx restart
sudo service php-fpm restart

StaticPressの設定

StaticPressの設定を押して、設定します。

スクリーンショット 2018-05-10 16.48.50.png

静的サイトURLには、S3バケットでのエンドポイントを設定してください
出力先ディレクトリ (ドキュメントルート)には、/wordpress_home/staticを設定します。

真ん中にある、変更を保存ボタンを押します。

AWS Access Key
AWS Secret Key
AWS Region
を入れて、一番下にある変更を保存ボタンを押します。

そうするとバケットが選べるようになるので、S3に作成したバケットを選択し、変更を保存ボタンを押します。

StaticPressで再構築

StaticPressの再構築を押します。
これにより、設定で指定した、出力先ディレクトリと、S3のバケットに静的ファイルが出力されます。
スクリーンショット 2018-05-10 16.56.59.png

Route53で公開する

Route53を開き、使用するドメインのAレコードにS3で指定したドメイン名と同じバケットを指定する

完成

これで完成となります。
アクセスして確認してください

2
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
9