VPSの移動だったりOSやKUSANAGIのVerUPなどで現状のKUSANAGI環境で動作しているWordPressを移動する必要が出てきますが、初めてだと難しいかなと躊躇してしまいますが、やってみると案外簡単です。
KUSANAGI8以降はmigrateコマンドが実装されているのでこれを使って移行します。
KUSANAGI8はexportのみでimportはできないので移行先はKUSANAGI9になります。
KUSANAGI環境移行の流れ
注意点
- 現状の環境と移行先の環境(PHP/MariaDBのVer)を確認する
- Verが異なる場合は移行先に合わせて移行元のPHP/MariaDBの更新をして動作確認
- Let’s Encrypt SSL証明書を利用している場合は移行元の自動更新を停止して移行先で自動更新を有効にする
移行元をアップデートを行い最新の状態にする
KUSANAGI8
yum update --enablerepo=remi,remi-php56 kusanagi restart
KUSANAGI9
dnf update kusanagi restart
アップデートでエラーが出なければ最新になっています。
ミドルウェアのバージョンを合わせる
移行元と移行先のPHPとMariaDBのバージョンを合わせます。
PHP7.4、8.0はEOLですので運用上問題がなければ8.1以降で揃えます。(PHP7.4、8.0も今の所運用は可能なようです)
PHP7.4を使用する場合
KUSANAGI8
kusanagi php7
KUSANAGI9
kusanagi php --use php74
PHP8.0を使用する場合
KUSANAGI8
kusanagi php8
KUSANAGI9
kusanagi php --use php80
MariaDBは10.5で揃えます。
10.5以前のバージョンを使っている場合はアップデート
KUSANAGI8
kusanagi upgrade mariadb 10.5
KUSANAGI9
kusanagi upgrade mariadb --use mariadb10.5
ここまでで移行元環境が正常に動作するか確認します。
移行元でエクスポートを行う
KUSANAGI migrateコマンドを実行するとプロファイル (/home/kusanagi/プロファイル)以下の全てのディレクトリとファイルをエクスポートされます。
作業ディレクトリやファイルやバックアップ、ログファイルなど移行が不要なディレクトリやファイルが存在する場合はプロファイルとは別のディレクトリに移動するか不要であれば削除しておくとエクスポートファイルのサイズが小さくなります。
準備ができたらサイトはメンテナンス中などにしておきます。
エクスポート中やエクスポート後にされた更新は移行に反映されないため。
kusanagi migrate --export プロファイル
migrate –exportコマンドが正常に終了すると/home/kusanagi配下に【プロファイル-日付.tar.gz】ファイルが作成されます。
複数のプロファイルがある場合はそれぞれ実行します。
エクスポートされたファイル【プロファイル-日付.tar.gz】をscpやsftpを使って移行先に転送します。
移行先でインポートを行う
移行先ではkusanagi initまで済ませておきます。
dnf update kusanagi init --passwd kusanagiユーザのパスワード --nophrase --dbrootpass DBのrootパスワード --php81 --mariadb10.5
KUSANAGIの初期設定が完了したらkusanagi migrateコマンドでインポートします。
kusanagi migrate --import プロファイル-日付.tar.gz
コマンドが正常に終了すると /home/kusanagi/プロファイル配下にデータが配置されます。
移行完了
正常に表示されてWordPressの動作も問題なければDNSのレコードを移行先のサーバのIPアドレスに書き換えます。
Let’s Encrypt SSL証明書を利用している場合はDNSのIPアドレス書き換え後にkusanagi ssl –emailコマンドでLet’s Encrypt SSL証明書を再設定します。
サーバOSに設定していたcronなどの設定やpostfixなどの設定を行い完了です。
コメント