先日別サイト用に Movable Type Open Source (MTOS) をインストールしたので、ついでに本サイトの MTOS を 4.24 → 4.25 にアップグレードした。本サイトでは英語版を使うが、日本語版でも特に違いはないはず。ただし 4.23 以外の MTOS 4.2x は同様に可能だと思うが、4.1x 等からのアップグレードについては、検証していないので不明。

まず何はともあれ、現在の DB の内容を任意の場所にダンプしておく。MT/MTOS はマイナーアップグレードであっても、DBに手が加えられることが多い。

$ mysqldump -uroot -p<PASSWORD> <DBNAME> --default-character-set=binary > mtos-4.24.sql

次に前述のサイトから "MTOS-4.25-en.zip" を入手し、Web サーバーのドキュメントツリー内の任意の場所で展開する。

$ cd <PATH_TO_MTOS_ROOT>/
$ unzip MTOS-4.25-en.zip ← 展開
$ mv MTOS-4.25-en mtos-4.25 ← リネーム
$ ls -l ← 確認
mtos4 -> mtos-4.24/ ← 旧バージョンへのシンボリックリンク
mtos-4.24/ ← 旧バージョンの MTOS ディレクトリ
mtos-4.25/ ← 新バージョンの MTOS ディレクトリ

僕の場合は、アーカイブを展開した場所に旧バージョン 4.24 と新バージョン 4.25 のディレクトリがそれぞれ "mtos-4.24"、"mtos-4.25" と並んだ状態になる。この時点では、シンボリックリンク "mtos4" のリンク先はまだ "mtos-4.24" のままだ。

次は旧 <MT_DIR> から新 <MT_DIR> に、必要なファイルをコピーする。

$ cp -a mtos-4.24/mt-config.cgi mtos-4.25/ ← 設定ファイルをコピー
$ mv mtos-4.25/mt-static mtos-4.25/mt-static.bak ← 新 "mt-static" ディレクトリをバックアップ
$ cp -a mtos-4.24/mt-static mtos-4.25/ ← "mt-static" ディレクトリをコピー
$ cp -a mtos-4.25/plugins mtos-4.25/plugins.bak ← "plugins" ディレクトリをバックアップ
$ rsync -av mtos-4.24/plugins mtos-4.25/ ← "plugins" ディレクトリをコピー
$ rm mtos4 ← 4.24 へのシンボリックリンクを削除
$ ln -s mtos-4.25 mtos4 ← 4.25 へのシンボリックリンクを作成
$ ls -l ← 確認
mtos4 -> mtos-4.25/ ← リンク先が切り替わっている
mtos-4.24/
mtos-4.25/

後はブラウザーで今までと同じ MTOS の URL <MT_URL> にアクセスし、サインインを試みると DB のアップグレードを促され、「次へ次へ」で終了する。今回のアップグレードでは、DB のバージョンが 4.0068 → 4.0070 に変更された。

アップグレードが完了したら、MTOS にインストールしたプラグインに問題が発生していないか確認する。僕の場合は、幸い 4.24 で使っていた全てのプラグインがそのまま動いているようだが、プラグインによってはダメなものがあるかもしれない。また "mt-check.cgi" は放置するとリスクになるので、削除するか、リネーム&パーミッション変更しておく。

絶対に必要なプラグインに不具合がある等、何らかの理由で旧バージョンに戻す場合は、シンボリックリンクで切り替えた <MT_DIR> とダンプしておいた DB データが役に立つ。シンボリックリンクのリンク先を旧バージョンのディレクトリに戻し、次のようにダンプデータから DB をアップグレード作業前の状態に戻す。

$ mysql -uroot -p<PASSWORD> <DBNAME> < mtos-4.24.sql

Comments are closed.