ミライハック
  • Home
  • Categories
  • About

>> Home / インフラ

Amazon S3にWordPressの画像ファイルを配置する

∵ Takayoshi Saito ∴ 2017-08-20 ∞ 2'

WordPressでAWS S3に画像ファイルを配置して表示させる

AWS S3にWordPressの画像データを移動させて使用する方法です。WP Offload S3 Liteなどのプラグインを使う方法もありますが、今回はプラグインを使わず、S3をファイルシステムとしてEC2からマウントして使用する方法をご紹介します。

AWS-CLIの環境設定を行います。

$ aws configure

AWS Access Key ID : 
AWS Secret Access Key : 
Default region name : ap-northeast-1
Default output format : text

wp-content/uploads/の中身をs3にコピーします。

$ aws s3 cp wp-content/uploads/ s3:///wp-content/uploads/  --recursive

s3fs-fuseに必要なパッケージをインストールします。

$ sudo yum -y install gcc-c++ fuse fuse-devel libcurl-devel libxml2-devel openssl-devel

s3fs-fuseをインストールします。

$ git clone https://github.com/s3fs-fuse/s3fs-fuse.git
$ cd s3fs-fuse/
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

マウントポイントを作成してs3領域をマウントします。マウントするユーザーはnginxのユーザーIDとグループIDにしました。

$ sudo mkdir /mnt/s3fs
$ echo ":" | sudo tee -a /etc/passwd-s3fs
$ sudo chmod 640 /etc/passwd-s3fs
$ sudo /usr/local/bin/s3fs   -o rw,allow_other,uid=$(id -u nginx),gid=$(id -g nginx),default_acl=public-read
$ echo "/usr/bin/s3fs#  fuse rw,allow_other,uid=$(id -u nginx),gid=$(id -u nginx),default_acl=public-read 0 0" | sudo tee -a /etc/fstab

/wp-admin/options.php をブラウザで開いて、次の項目を変更します。

upload_url_path http://.s3-ap-northeast-1.amazonaws.com/wp-content/uploads

s3fsでマウントした領域へのシンボリックリンクを張ります。

$ ln -sf /s3fs//wp-content/uploads /var/www/html/wp-content/

これでS3領域に保存された画像ファイルが表示されるようになりました。

Search

Categories
  • LInux
  • インターネット
  • インフラ
  • エッセイ
  • ゲーム
  • システム開発
  • セキュリティ
  • データサイエンス
  • 国際関係
  • 政治
  • 歴史
  • 社会学
  • 自己紹介
  • 行ってきた

Pages
  • 齊藤貴義
  • 職務経歴
  • スクレイピング・ハッキング・ラボ サポートページ
  • 『爆速開発を支えるClaude Code上級者テクニック』サポートページ

2026 © Takayoshi Saito | Twitter GitHub | Built on Zola