このブログ(WordPress)を動かしているVPSをConoHa(古)からConoHa(新)に移行しました。
動機
ConoHa(古)は2015年5月17日以前にConoHaに登録した古いユーザーが使えるサービスを指していて、ConoHa(新)はそれ以降に登録したユーザーが使えるサービスを指しています。古と新では、HDDからSSDに変わったなど、性能面で大きく差があったり、受けられるサポートにも差があったりします(確か)。前の環境ではOSがCentOS6と、もうだいぶ古いのを使っており、不便も感じていました。
この移行はほぼほぼ手動で行う必要があり、面倒そうなので保留していたのですが、大学院卒業時に思い切って移行作業を行いました。
新環境
新しい環境は、Ubuntu16.04(このときは18出てなかった気がする)、メモリ1GB、CPU 2Core、SSD 50GBです。
ついでに、VPS上で生で展開していたWordPressを、Dockerを使ってコンテナ内に閉じ込めるよう変更しました。
Let’s Encryptもコンテナ内に閉じ込めたかったのですが、いまいちうまいやり方がわからず諦めました。ドメインのIP張替えにラグがあるのが結構しんどい。
トラブルシューティング
移行時、ドメインの張替えやhttpsのURL対応がなかなかうまくいかず、WordPressの本ブログが正常に表示されない問題が発生しました。特に、ログインページを表示する際にリダイレクトループが発生し、これの解決に苦労しました。
結局、URLを張り替えるだけでなく、 wp-config.php
のL87とL89をコメントアウトする必要がありました。
// If we're behind a proxy server and using HTTPS, we need to alert WordPress of that fact
// see also http://codex.wordpress.org/Administration_Over_SSL#Using_a_Reverse_Proxy
- if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) &&
+ #if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) &&
$_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
$_SERVER['HTTPS'] = 'on';
- }
+ #}
まさにそれっぽい設定名な上に、よく見ると上にプロキシサーバー使う場合は設定しろよって書いてあるので、しっかり設定ファイルを上から眺めればすぐに解決できたっぽいです。
さいごに
ブログ移行のついでに、ごちゃごちゃ入れていたプラグインを一旦削除し、テーマもシンプルかつ読みやすいフォントのものに変えました。そのため、SNS連携やサムネは設定できていないです。WordPressで色々弄って互換性保ちつつ保守するのが結構しんどいので、いずれ別のものに移行するかもしれません。