LoginSignup
nong
@nong

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

WordPressの画像投稿がS3に反映されない。

解決したいこと

ここに解決したい内容を記載してください。

例)
WordPressに投稿する画像をサーバー上ではなく、AWSのS3の保存され、インターネットから閲覧できるようにS3の構築を行なっています。
nanoエディターで権限付与しているIAMユーザをアクセスキー・シークレットアクセスキーで認証し、WordPressも正常に作動したため試しに画像を投稿してS3に画像が表示されるか確認したのですが、表示されません。
WordPressから投稿した画像がS3に表示(保存・閲覧)されるよう
解決方法を教えて下さい。

発生している問題

WordPressから投稿した画像がS3側で保存・閲覧ができない。
また、WordPressの画像投稿し、投稿保存し、プレビュー画面で画像のアドレスを見ると、
ページ名から始まってしまっている。
S3に反映されていれば、アドレスはS3から始まっているのに自分のサイト名から始まっているので、サーバー上で保存されている可能性あり。

スクリーンショット 2021-05-05 10.48.12.png
スクリーンショット 2021-05-05 10.49.37.png

今回の構築手順

1、AWS側の準備
①S3バケットを作成
S3でバケット作成時に ブロックパブリックアクセス設定について、
インターネットからアクセスできるようにしたり、WordPressからアクセスできるようにするなら、
- [ ] パブリックアクセスを全てブロックにチェックを外す。

②S3の権限を持ったIAMユーザ作成
- [x] プログラムによるアクセスにチェック
既存のポリシーを直接アタッチを選び、「AmazonS3FullAccess」
→S3の操作であればなんでのできる
キーは空にする。

2、 WordPressの設定

ープラグインのインストール(拡張機能の付与)
プラグインメニューでWP OFFload media lite for Amazon S3をインストール 
Remove Files From Serverを有効化にする

ー必要なライブラリをEC2にインストール
![スクリーンショット 2021-05-05 10.48.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1114666/e4ef452e-d989-24bd-c16d-5c9620d19a3f.png)

ターミナルでSSHでログイン
ssh -i  ~/Desktop/aws/my-aws-ssh-01.pem ec2-user@パブリックIP
必要なライブラリをyumでインストール
sudo yum install -y php-xml
+sudo yum install php-devel.x86_64

WebサーバのApacheがライブラリをちゃんと読み込むようにサーバの再起動する。
sudo systemctl restart httpd.service

ープラグインの設定
→S3とwordPressを連携させる。
Wp-config.php
→サーバ上にあるWordPressの設定ファイル
Wordpressファイルのある下位に移動
cd /var/www/html/
ls
nanoエディターを起動(編集:$nano[ファイル名] 保存:^S 閉じる:^X)
nano wp-config.php

If文より上の部分にWordPressのoffload media liteの内容を貼る。
define( 'AS3CF_SETTINGS', serialize( array(
    'provider' => 'aws',
    'access-key-id' => '********************',
    'secret-access-key' => '**************************************',
) ) );

S3にアクセスするためのIAMユーザの認証情報を*の部分に貼る。
(S3権限を持つIAMユーザの作成時にダウンロードしたcsvデータに記載)

保存して、閉じる。

Offload Media Liteをリロード。
バケット選択で今回作ったバケットを選択。
オプション選択時にRemove Files From Server←オンにする
保存。

これでWordPressから投稿された画像はS3に保存されて、S3から配信される。

WordPressから画像を掲載して投稿保存した上で、S3から配信されているか確認する。

自分で試したこと

構築の最初の手順から見直し、リロードしても改善しません。

0

No Answers yet.

Your answer might help someone💌