2016/7月に建てたサーバーをほぼノーメンテで長年放置していたんですが、テーマで利用しているcocoonがPHP7.4、WordPress5.7以上を要求するようになったので、重い腰を上げてサーバー移行しました。2016年当時のphpってreleaseが7.0系らしいのでサーバーにはいったいどのバージョンが入ってたのやら。下手すりゃ5系の可能性も、、、
ほかにもhttps化してなかったのでいい機会なのでhttps化しました。とはいえ個人的なスクラップブックなので別にhttpで困らないんだけどね。
引っ越し先の選定
もともとConoha VPSのKUSANAGIを利用していたので同じ構成にするかConoha wingにするか悩みました。
1年契約した場合の価格がこちら。一番左端だけwingであとはVPSの価格です。
ほとんど負荷のないサイトなので多少スペック落ちてもvpsで十分じゃないかなーってのが正直なところ。3か月契約にするとwingの方は1300円くらいまで価格が上がるけど、vpsの1GBプランは666円。
ちなみに私はconohaのサーバー代はGMO株主優待の無料枠(半年5000円分)で賄っているため、3か月契約か長くても半年契約にする必要があります。半年契約の場合、優待の入力忘れると払うタイミングによっては1円も使えなくなるリスクがあるので3か月で契約したい。
WordPressの引っ越し
普段のWPのバックアップはBackWPupでやっているのですが、サーバー移行で復元するのにボタン1つで終わりって感じにはならなさそうだったので、All-In-One WP Migrationというプラグインを利用しました。
バックアップファイルのサイズが512MBを超えるようなら有料版を使わないといけないようですが、それ未満の小規模サイトなら簡単に移行できます(後述しますがちょっと大変でした)。
やることは
・All-In-One WP Migrationをインストール
・Exportボタンを押す
・新しいサーバーでAll-In-One WP Migrationをインストール
・Importボタンを押し、Exportしたファイルをアップロード
で完了です。
普通のWordPressサーバーであればこれで完了になるはずですが、KUSANAGIで構築してると深い沼にハマっていきます。こんな苦労すると知ってたらBackWpupのファイルを手でリストアすればよかったw
KUSANAGIでの苦労
KUSANAGI管理画面を開けない
conohaのKUSANGIテンプレートでVPSを立てると以下のようなVPSの管理画面が出ます。
左端のKUSANAGI管理ボタンを押すとhttp://{your ip address}:60000/にアクセスするはずなのですが、VPSを立てた直後に入れません!Connectionエラーが出ます。
60000番のポート開いてないっぽい挙動なのでポートを空けようと上記ボタン右端のコンソールからVPSにログインすると、途端に管理画面にアクセスできるようになりました。初回は必ずVPSにログインしなきゃダメ?
All-In-One WP Migrationのinstall時にPermissionエラー
All-In-One WP Migrationが使う領域に書き込み権限がないよと怒られます。
こちらの記事の通りに実行しようとしたのですが、なんかディレクトリ構造違う!
chown -R httpd:www wp-content/plugins/all-in-one-wp-migration/storage
chown -R httpd:www wp-content/ai1wm-backups
KUSANAGIのバージョンでファイル構成が大幅に異なるようです。以下のディレクトリ下にwp-content等があります。
/home/kusanagi/プロファイル名/DocumentRoot/
KUSANAGI9を利用する場合、こちらのサイトの記事が非常に参考になります。
All-In-One WP Migrationのimportファイルのサイズ上限が16MB
この画像は対応後のものになりますが、以下のアップロードファイルサイズがデフォルトで16MBとなっています。Exportで512MBまで許容しておいて、Importが16MBってどういうことや!と思いながら改善方法を検索します。
私は3か所修正しましたが、最終的にどれが有効だったのかは検証していません。
.user.iniは必須。.confも必須な気がするけど、.htaccessは要らないかも。
私の手順的には.htaccessをやってダメ、nginxも修正するもダメ。user.iniを追加すると上記のようにファイルサイズの数値が変わり、importできるようになりました。
nginx
nginx.conf
nginxのディレクトリはホント意味不明な場所にあります。
/etc/opt/kusanagi/nginx/nginx.conf
このファイルの中身でclient_max_body_sizeの行を任意の値に変更します。
clinet_max_body_size 512M
conf.d/プロファイル名.conf
こちらにも同様のファイルがあるため、client_max_body_sizeの行を書き換えます。
/etc/opt/kusanagi/nginx/conf.d/プロファイル名.conf
.user.ini
以下のパスに.user.iniを作成します。
/home/kusanagi/プロファイル名/DocumentRoot/.user.ini
ファイルの中身はこう
momory_limit = 512M
post_max_size = 512M
upload_max_filesize = 512M
.htaccess
これ必要なのかどうかわかりませんが、やるように書いてある記事が多かったのでやりました。KUSANAGIだと要らない気もする。
/home/kusanagi/プロファイル名/DocumentRoot/.htaccess
php_value upload_max_filesize 512M
php_value post_max_size 512M
php_value memory_limit 512M
php_value max_execution_time 300
php_value max_input_time 300
<Files ~ ,,,以下略>
SSL化
これは恐ろしく簡単です。KUSANAGI管理画面からSSLボタンをONにするだけ。
パフォーマンス
せっかくなのでサイトのパフォーマンスを比較します。
ちなみにVPSは新旧ともに1GBなのでハードスペックは同等です。(ディスクがSSDじゃない懸念もあるけど)
旧
新
なぜか下がってるスコアもありますが、パフォーマンスは上がったので良しとしましょう!
コメント