wordpressのお引越し(KUSANAGI)

HTML/CSS

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というプラグインを利用しました。

All-in-One WP Migration and Backup
1クリックでサイトをバックアップ、転送、コピー、移動します。素早く、簡単で、信頼できます。

バックアップファイルのサイズが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 で ハマりがちなこと - Qiita
はじめにKUSANAGI初期構築において、時間がかかった(=ハマった)部分のまとめです。構築手順ではありません。KUSA...

KUSANAGIのバージョンでファイル構成が大幅に異なるようです。以下のディレクトリ下にwp-content等があります。

/home/kusanagi/プロファイル名/DocumentRoot/

KUSANAGI9を利用する場合、こちらのサイトの記事が非常に参考になります。

KUSANAGI9+WEXAL環境でよく使うコマンド&パス一覧(随時更新)
「KUSANAGI9」+「WEXAL環境」でWordPressを運用する際によく使用されるコマンドやパスの一覧です。KU...

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じゃない懸念もあるけど)

PageSpeed Insights

なぜか下がってるスコアもありますが、パフォーマンスは上がったので良しとしましょう!

コメント