Movable Type AMI版を Amazon Linux 2 から Amazon Linux 2023 に移行する
Movable Type AMI版を Amazon Linux 2 (AL2) から Amazon Linux 2023 (AL2023) に移行するためのガイドです。
AL2 対応版と AL2023 対応版の違いについては、「Movable Type AMI版 Movable Type 7 r.5402 (7.9.7-2) Amazon Linux 2023 対応 リリースノート」を参照してください。
お客様の環境やカスタマイズなどによっては、このガイドだけでは不十分な場合がありますので、ご注意ください。
前提条件
Movable Type AMI版の初期設定を前提としています。パスやユーザー名など、初期設定から変更を加えている場合は、実際の環境に合わせて、コマンドを読み替えてください。
移行先のインスタンスを起動する
AL2023 対応の Movable Type AMI版から新しい EC2 インスタンスを起動します。
インスタンスの起動手順は、「Movable Type AMI版の EC2 インスタンスの起動方法」を参照してください。
移行対象
移行対象は、データベースおよび /data 配下と /app/movabletype 配下のユーザーコンテンツ領域にある計6つのディレクトリです。プラグイン(プログラム・静的ファイル)やテーマについては、ユーザーが独自に追加したファイルのみバックアップします。
また、必要に応じてユーザー CGI スクリプト(/data/file/cgi-bin)やログファイル(/data/logs/movabletype 配下および /var/log 配下)もバックアップしてください。その他にも独自にカスタマイズを加えている場合は、適宜バックアップを行い、移行先へ反映してください。
- 公開ディレクトリ
- /data/file/static
- プラグインディレクトリ(プログラム)
- /app/movabletype/plugins
- プラグインディレクトリ(静的ファイル)
- /app/movabletype/mt-static/plugins
- サポートディレクトリ
- /app/movabletype/mt-static/support
- テーマディレクトリ
- /app/movabletype/themes
- 代替テンプレートディレクトリ
- /app/movabletype/alt-tmpl
代替テンプレートを使用する場合、移行元と移行先で Movable Type のメジャーバージョンが異なると、管理画面の構成の違いにより正常に動作しなくなる可能性がありますので、ご注意ください。
データベースをバックアップする
データベースをダンプし、gzip 形式で圧縮します。
補足
標準のデータベース名は movabletype、ユーザー名は sixapart です。パスワードは、設定ファイル /data/conf/mt-config.cgi 内の環境変数 DBPassword の値を確認してください。
$ cd ~
$ mysqldump -u sixapart -p movabletype | gzip > dump.gz
/data 配下および /app/movabletype 配下のディレクトリをバックアップする
各バックアップ対象ディレクトリを gzip 形式でアーカイブ・圧縮します。
公開ディレクトリ(/data/file/static)のバックアップ例です。
$ cd /data/file
$ tar -czf ~/static.tar.gz static
バックアップファイルを移行先に転送する
バックアップファイルを移行先のインスタンスに任意の方法で転送します。
scp コマンドを使用して移行先インスタンスにバックアップファイルを転送する例です。
$ scp -i /path/to/key-pair-name.pem ~/static.tar.gz ec2-user@instance-ip-address:~/
データベースをリストアする
移行先でデータベースのバックアップファイルから、データベースをリストアします。
$ cd ~
$ zcat dump.gz | mysql -u sixapart -p movabletype
/data 配下および /app/movabletype 配下のデータをリストアする
バックアップファイルから移行先の対応するディレクトリにリストアします。AL2023 版でのディレクトリ構成は次の表のとおりです。
| ディレクトリの詳細 | AL2 のディレクトリパス | AL2023 のディレクトリパス |
|---|---|---|
| 公開ディレクトリ | /data/file/static | /data/file/static |
| プラグインディレクトリ(プログラム) | /app/movabletype/plugins | /data/file/plugins |
| プラグインディレクトリ(静的ファイル) | /app/movabletype/mt-static/plugins | /data/file/mt-static/plugins |
| サポートディレクトリ | /app/movabletype/mt-static/support | /data/file/support |
| テーマディレクトリ | /app/movabletype/themes | /data/file/themes |
| 代替テンプレートディレクトリ | /app/movabletype/alt-tmpl | /data/file/alt-tmpl |
- バックアップファイルから復元先のディレクトリにファイルを展開します。
- ディレクトリおよびファイルの所有ユーザー/グループが
www:wwwであることを確認します。異なる場合は、chownコマンドで変更します。
$ cd /data/file
$ sudo tar -xzf ~/static.tar.gz
$ sudo chown -R www:www /data/file/static # 必要に応じて実施
Web サーバーの設定ファイルを編集する/再起動する
移行元で Web サーバーの設定ファイルに独自の変更を加えている場合は、移行先の /data/conf 配下にある設定ファイルなどに反映してください。
AL2023 対応版では、Apache httpd が設定された状態で起動するため、移行先で使用する Web サーバーに合わせて、次の対応を実施します。
nginx を使用する場合
/app/tools/switch-webserver コマンドで Web サーバーを nginx に切り替えます。コマンド実行時に nginx が自動的に起動するため、別途手動で再起動を実行する必要はありません。
$ sudo /app/tools/switch-webserver nginx
Apache httpd を使用する場合
サービスを再起動し、設定ファイルの変更内容を反映します。
$ sudo systemctl restart httpd.service
Movable Type の設定ファイルを編集する/再起動する
移行元で Movable Type の設定ファイル(mt-config.cgi)に独自の変更を加えている場合は、復元先の /data/conf/mt-config.cgi を書き替えてください。
その後、Movable Type サービスを再起動して、リストアしたデータベースや設定ファイルの変更内容を反映します。
$ sudo systemctl restart movabletype.service
Movable Type のデータベースをアップグレードする
復元元と復元先で Movable Type のバージョンが異なる場合には、システム管理者権限のあるユーザーで復元先の管理画面にサインインすると、Movable Type のデータベースのアップグレードウィザードが表示されることがあります。画面の指示に従ってアップグレードを実施してください。