はじめに
以前よりGMOクラウド ALTUSではKUSANAGI 8をご利用いただくことができましたが、2024年3月26日よりGMOクラウド ALTUS(アルタス)で AlmaLinux OS 9 版の KUSANAGI 9もご利用いただけるようになりました。
KUSANAGI 8は、ベースOSのCentOS 7 が2024年6月30日にコミュニティによるサポートが終了することに伴い、更新の終了を予定しています。そのため、セキュリティの観点からもKUSANAGIのご利用を継続いただく場合はKUSANAGI 9への移行(マイグレーション)を推奨させて頂いております。
そこで、今回はGMOクラウド ALTUS(アルタス)でKUSANAGI 8のご利用の皆さまに、移行を簡単に行うためのkusanagi migrateコマンドを使ってKUSANAGI 9 へマイグレーションする手順をご紹介したいと思います。
KUSANAGI 8 の環境を最新化して動作検証をする
まず、 KUSANAGI 8 の環境を最新化します。
yum update --enablerepo=remi,remi-php56
もし、この際エラーが出ましたら、以下の KUSANAGI 8 の FAQ の Q5 に詳細に対応内容が書いてありますので、そちらに従って対応してください。
- エラーの例
- 対応例
続いて、 KUSANAGI 8 のミドルウェアのバージョンを移行したい KUSANAGI 9 のバージョンと合わせます。 以下は KUSANAGI 8 と KUSANAGI 9 の両方で利用できるミドルウェアの一覧です。
ミドルウェア | KUSANAGI 8 | KUSANAGI 9 | 備考 |
PHP | 7.4 | 7.4 | 2022/11/28 EOL |
8.1 | 8.1 | - | |
MariaDB | 10.5 | 10.5 | - |
※2024年5月執筆時点の情報です。
PHP は KUSANAGI 8 と KUSANAGI 9 で共通で使用できるバージョンは 7.4 か 8.1 になります。
ただし、 PHP 7.4 は 2022/11/28 で既に EOL となっていますので、できる限り PHP 8.1 への移行をお勧めします。
kusanagi php8
kusanagi php7
MariaDB のKUSANAGI 8 と KUSANAGI 9 で共通で使用できるバージョンは 10.5 ですので、10.5にアップグレードします。
kusanagi upgrade mariadb 10.5
それぞれバージョンを上げたところで、 KUSANAGI を再起動し KUSANAGI 8 の環境が正しく動ことを確認してください。
kusanagi restart
kusanagi statusコマンドやミドルウェアのバージョンを調べるコマンドを使用して、最新化したKUSANAGI 8 環境のミドルウェアのバージョンを控えておいてください。
KUSANAGI 8 環境のエクスポート
準備が整ったら、 kusanagi migrateコマンドを使用してKUSANAGI 8環境のエクスポートを行います。
エクスポート後に変更/更新されたデータは、再度エクスポートを行わないと反映されませんので、エクスポートからインポートするまでの間は、サーバーをメンテナンス中にしておくことをお勧めします。
kusanagi migrate --export プロファイル名
もし、プロファイル名が分からない場合は kusanagi target コマンドを使用することでプロファイル名の一覧が表示されます。
コマンドが正常に終了しますと /home/kusanagi ディレクトリ配下に (プロファイル名)-(YYYY-MM-DD).tar.gz ファイルが作成されます。
複数プロファイルが存在する場合は、移行したいプロファイルに対してコマンドを実行してください。
KUSANAGI 9 の環境にインポート
まず、以下の手順に従って、移行先である KUSANAGI 9 のサーバーを作成してください。
KUSANAGI 9 for GMOクラウド ALTUS(アルタス) / KUSANAGI for GMOクラウド ALTUS - 超高速CMS実行環境 KUSANAGI
移行先のサーバーが起動し、外部の IP アドレスを設定し、ファイアウォールに適切な設定がなされたら、先ほどエクスポートしたファイルを FTP や SCP などを利用して移行先のサーバーへコピーしてください。
移行先の環境では kusanagi init コマンドを使用して環境の初期化を行っておきます。
その際に、ミドルウェアのバージョンを控えておいた KUSANAGI 8 のバージョンと合わせておいてください。
dnf upgrade -y kusanagi init --passwd (kusanagiユーザのパスワード) --nophrase --dbrootpass (DBのrootパスワード) --php81 --mariadb10.5
PHP 7.4 を利用したい場合は --php74 オプションを使用してください。
Apache httpd を使用したい場合は --httpd24 オプションを使用してください。
どちらも、 kusanagi init 後に以下のコマンドを使用して変更することもできます。
kusanagi php --use php74
kusanagi httpd
環境の初期化が終わりましたら、 kusanagi import コマンドを使用してエクスポートした環境をインポートします。
kusanagi migrate --import (プロファイル名)-(YYYY-MM-DD).tar.gz
コマンドが正常に終了しますと、インポート完了となり、 /home/kusanagi ディレクトリ配下にエクスポートしたプロファイルと同じプロファイルが作成されます。
なお、エクスポートされない情報は手動で対応する必要があります。
以下に例を挙げます。
-
- ・Nginx/Apache HTTPDの設定ファイルを手で変更している場合は反映されません
/home/kusanagi/プロファイル/conf に移行元のファイルがあるので確認してください - ・CRONなどOSに行っていた設定は反映されません
- ・Let’s Encrypt SSL証明書を利用している場合は、移行元の自動更新を停止して、移行先で自動更新を有効にします。
- ・Nginx/Apache HTTPDの設定ファイルを手で変更している場合は反映されません
DNS の設定を変更し、移行先の環境に切り替えてしまう前に、 hosts ファイルの書き換えや、ブラウザの機能を利用して、移行先の環境にアクセスしてみて問題なく表示されるか確認してみてください。
- Hosts File Editor を使用した例
DNS の切り替え
最後にDNSのFQDNのレコードを移行元のサーバーのIPアドレスから、移行先のサーバーのIPアドレスに変更して移行作業は完了となります。Let’s Encrypt SSL証明書を利用している場合は、IPアドレス変更後に kusanagi ssl –email コマンドでLet’s Encrypt SSL証明書を再設定することを忘れないでください。
終わりに
Webサイトの運用環境を適切にアップデートしセキュリティを保って安全に運用することは、ご自身のサイトを守るだけではなく、サイトを訪れる閲覧者の方々を守ることにもつながります。
KUSANAGI 8からKUSANAGI 9への移行は一定の工数がかかってしまいますが、今回移行いただくことで、AlmaLinux OS 9のサポート終了の2032年5月31日まで長くご利用いただけるようになります。
また、今後も皆様に安心して簡単にWebサイトを運用いただけるよう、開発チーム一同、KUSANAGIの開発と機能強化を進めてまいります。