インフラエンジニアbacchiのわかったことまとめ

bacchi.me

Kusanagi 9 の OS を変更した話

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 のインスタンスを作ったら引っ越しを行います

  1. パッケージを最新のものに更新する
  2. kusanagi init コマンドの実行
  3. WP、Web サーバー設定ファイル、SSL 証明書の配置
  4. DB ユーザーの作成と DB バックアップのリストア
  5. 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時間ほどだったかと思います。

参考になれば幸いです。

  • B!