WordPressの画像をAmazon S3へ

WordPressの画像をAmazonS3に置いて利用する。

これがうまくいけば Amazon CloudFrontにも対応出来そうだし。

WordPressの設定変更 設定 → その他の設定 → 「ファイルへの完全な URL パス」 そのファイルにAmazonS3のURLを埋め込みましょう。 私の場合はhttp://*****.s3.amazonaws.com/images/uploads

もちろんAmazonS3に「images/uploads」を先に作っておいて、Public Readにしておいてください。

サーバとS3との同期にs3sync.rbを利用します。 スクリプトは s3sync.rb -rp 同期するディレクトリ バケット名:images/uploads です。

どうやって自動で同期を取るかですね^^;; 私は下記のようなスクリプトをcronで定期的に回して同期をとっています。 他のアイディア募集

#!/bin/sh YEAR=`/bin/date +%Y` MONTH=`/bin/date +%m` IMAGE_DIR=/usr/home/www/htdocs/wordpress/wp-content/uploads/${YEAR}/${MONTH}/ FIND=/usr/bin/find S3SYNC=/usr/home/asuma/s3sync/s3sync.rb S3_DIR=*********:images/uploads/${YEAR}/${MONTH} $FIND $IMAGE_DIR -mmin -8 -print -exec $S3SYNC -rp $IMAGE_DIR $S3_DIR ;