CentOS Stream 8 で稼働している Kusanagi 9 のサポート期間が2024年5月までとアナウンスが有りました。
早めに引っ越してしまえと AlmaLinux 9 版に引っ越したのでメモ
前提条件
- 旧サーバーでパッケージと WP を最新のものにしておく
- AWS EC2 での作業
- 旧サーバーにアタッチしていた EIP を新サーバーにアタッチし直したので、DNS の作業はない
EC2 以外の環境でも DNS まわりの設定以外はそのまま使える手順だと思います。
移行作業手順
旧サーバーでの作業
旧サーバーでは新サーバーに持っていくためのファイルの準備を行います。
新サーバーに持って行くのは下記の通り。
- WP のデータ
- SSL 証明書ファイル
- あれば
- DB のバックアップ
- Web サーバーの設定ファイル
- 今回はNginx
下記のコマンドでバックアップを取得します。
cd /
## WP のデータのバックアップ
tar cvzfp wp.tar.gz /home/kusanagi/<HOST_NAME>
## SSL 証明書のバックアップ
tar cvzfp certs.tar.gz /home/kusanagi/certs
## Nginx 設定ファイルのバックアップ
tar czvfp nginx.tar.gz /etc/opt/kusanagi/nginx
## DB のバックアップ
mysqldump -h localhost -u DB_USER -p DB_PASS_WORD --databases DB_NAME > dump.sql
取得したファイルは、SCP なり FTP なりで新サーバーに転送します。
私は一旦ローカルホストに送ってから新サーバーに送りました。
新サーバーでの作業
AlmaLinux 9 な Kusanagi 9 のインスタンスを作ったら引っ越しを行います
- パッケージを最新のものに更新する
- kusanagi init コマンドの実行
- 詳細は公式ドキュメントを参照してください
- WP、Web サーバー設定ファイル、SSL 証明書の配置
- DB ユーザーの作成と DB バックアップのリストア
- EIP の差し替え or DNS の切り替え
- AWS コンソールや DNS の管理ツールで実施する
## パッケージの更新
sudo -i
dnf update -y
## kusanagi init コマンドの実行
kusanagi init --passwd "PASS_WORD" --nophrase --dbrootpass "PASS_WORD" --nginx125 --php83 --mariadb10.14
## WP、Web サーバー設定ファイル、SSL 証明書の配置
cd /
tar xvzfp wp.tar.gz
tar xvzfp certs.tar.gz
tar xvzfp nginx.tar.gz
## DB ユーザーの作成と DB バックアップのリストア
mysql -uroot
CREATE USER 'DB_USER'@'localhost' IDENTIFIED BY 'DB_PASS_WORD' with grant option;
GRANT ALL PRIVILEGES ON DB_USER.* TO 'DB_NAME'@'%' identified by 'PASS_WORD' with grant option;
quit
mysql -h localhost -u DB_USER -p DB_PASS_WORD < dump.sql
所要時間は1時間ほどだったかと思います。
参考になれば幸いです。