もともとこのブログはサーバーを自分で用意していて運用してましたところを、
http://blog.masuidrive.jp/2013/09/15/wordpress-on-s3-1/
の記事を見てamazon s3運用に引っ越し、更新時はVirtualBoxを立ち上げて
更新する運用に変更したい!と思って実際に変更するまでの作業ログとハマった点のメモ。
作業したクライアント環境はubuntu(lubuntu)です。このへんの作業をやるなら、VirtualBoxなどで
linux環境用意してやるのが多分ハマりどころが少ないと思う。
- awsのサインアップ(クレジットカード必要)
これは普通に、ググって実施。ハマった点:住所が正しくないと言われる
対応:zip codeを3桁で設定
参考:http://blog.livedoor.jp/kistame228/archives/51490350.html - staticpressのインストールと設定。
インストールは普通にwordpressのプラグイン管理画面からハマった点:実行した時に、最後まで完了せずに途中で「エラー!」と出る。
httpのアクセスログをよく見ると、404エラーが出ている。
登録されている拡張子以外のurlはディレクトリと判定して、クローリングしている模様。
staticpressのソース(wp-content/plugins/staticpress/includes/class-static_press.php )を修正して対応。これでクロールできたら、OK。 - awsへのアップロード
方法はいろいろあるけど、aws-cliを使うのが楽。
(staticpress-S3などのwordpressプラグインなども試行錯誤してみたが
自分はこの方法が良いと思った)
インストールはとても簡単。インストール後に、configureで設定する。pip install awscli aws configure
cliの参考:http://dev.classmethod.jp/cloud/aws/aws-cli-1-0-s3-commands/
日本語URLがあると、awsへのアップロードがうまく行かない時がある?ようだったので、
パーマリンク構造を変更(これはwordpressの管理パネル(設定->パーマリンク設定)から変更)。
ただし、もともとのアクセスもそのまま生かしたかったので、リダイレクトするように設定。これもcliなら簡単。
空のindex.htmlファイルを作成して、日本語URLでアクセスした時のページにリダイレクト属性を設定する。
こんなかんじのコマンド実行。aws s3 cp index.html s3://wp.krks.net/2012/04/blogのテーマの更新をしてthe-bootstrapというテーマにしてみ/index.html --website-redirect /2012/04/1038 aws s3 cp index.html s3://wp.krks.net/2012/04/プラグインでwordpressにfaviconを簡単表示/index.html --website-redirect /2012/04/1042
上記の赤で囲んだように設定されていれば、このURLにアクセスした時に/2012/04/1038にリダイレクトしてくれる。 - ドメインの設定。
自分はvalue-domainを使っていたので、cnameをエンドポイントにさくっとマッピング。
しばらく待つと、s3にアクセスするようになる。
ドメインが書き換わってしまうので、自分からもs3にアクセスする→wordpressの管理画面に入れず更新できない!
という笑える自体が発生するので、これは自分のpcのhostsファイルを書き換えて対応する。 - 元々のサーバーで運用していたwordpressをVirtualBOXに引っ越す
vagrantでVMをセットアップして、引っ越し。
データの移し替えにはWordPress Database Backupプラグインでとったバックアップを使うと簡単だった。
http://austinmatzko.com/wordpress-plugins/wp-db-backup/mysql [db名] < sql_20140503_335.SQL -u root -p
その他プラグインなどはwordpressのディレクトリをそのままscpで移行。
少し簡単だけど、概ねこんなかんじで移行完了!
この記事も、移行したVirtualBOX上のwordpressから書いてs3にアップロードしました。