📃

Movable Typeをアップデートする

に公開

概要

MTをアップデートする手順について解説しています。
本記事の解説は、以下環境での動作を対象としています。

  • MT6またはMT7からMT8へのバージョンアップ
  • 同型バージョンのアップデート(MT8.0.4→MT8.4.0など)
  • ソフトウェア版(サーバーに設置して利用するタイプ)
  • 一般的なレンタルサーバー、およびLinux環境で動作している標準的なWebサーバー

アップデート手順

MT6またはMT7からMT8へのバージョンアップ、同型バージョンのアップデートとも手順は同じです。
以降の表記は下記で統一しています。

  • MT6またはMT7からMT8へのバージョンアップ、同型バージョンのアップデートをまとめて「アップデート」
  • アップデート前の既存MTディレクトリを「旧ディレクトリ」
  • アップデートする新しいMTディレクトリを「新ディレクトリ」

1. DBをバックアップする

念のため、事前にMTのDBをバックアップしておきます。

2. 必要なフォルダ・ファイルをコピー・上書きする

旧ディレクトリから、以下を新ディレクトリにコピー・上書きします。

  • mt-config.cgi(設定ファイル)
  • /pluginsディレクトリ内、独自に追加したプラグイン
  • /mt-static/pluginsディレクトリ内、独自に追加したプラグイン
  • /mt-static/support一式(ユーザー情報が含まれているディレクトリ)
  • /themesディレクトリ内、独自に追加したテーマ

導入するプラグインによっては、/plugins /mt-static/plugins以外の場所にファイルを置く指示のものがあります。その場合は、それらも新ディレクトリにコピー・上書きします。

また、セキュリティ対策などでCGIファイル名を変更している場合は、新ディレクトリのCGIファイル名も変更します。
その他.htaccessファイルなど独自に入れているものがあれば、新ディレクトリにコピーしてください。

3. 新ディレクトリをサーバーにアップロードする

新ディレクトリのディレクトリ名を一時的に旧ディレクトリとは別の名前にリネームします。
※アップデート後に不備があった場合に旧ディレクトリの環境にすぐ戻せるようにするため

以下は一例です。

  • 稼働中の旧ディレクトリ:/mt
  • アップデートする新ディレクトリ:/mt-new

旧ディレクトリと同じ階層に、リネームした新ディレクトリをアップロードします。
サーバーでCGIプログラムと静的ファイルをアップロードするディレクトリが分かれている場合、/mt-staticディレクトリ一式は静的ファイルのディレクトリにアップロードします。

4. パーミッションを変更する

新ディレクトリ内の一部ファイルやディレクトリのパーミッションを変更します。
以下パーミッションは標準的なものを記載しています。

  • mi-config.cgi以外のCGIファイルを755(705)
  • /mt-static/supportディレクトリを777(707)
  • /tools/run-periodic-tasksファイルを755(705)
    • 予約投稿など、cronでスケジュールタスクを実行している場合
  • /pluginsディレクトリ内、独自に追加したプラグインでパーミッションの指定があるもの

5. 新ディレクトリのディレクトリ名をリネームする

手順3でリネームした新ディレクトリのディレクトリ名を旧ディレクトリ名に変更します。また、今度は逆に旧ディレクトリのディレクトリ名をリネームします。

※一例として、稼働中の旧ディレクトリが/mtである場合、

  • 稼働中の旧ディレクトリ:/_mt-old
  • アップデートする新ディレクトリ:/mt

6. 管理画面にアクセスしてアップデートを完了する

ブラウザでmt-upgrade.cgi(ファイル名を変更している場合はそのファイル名)にアクセスします。
アクセスすると自動でデータベースなどのアップデートがはじまるので、完了後は管理画面にアクセスして、ページ下部のバージョン表記が変更されていることを確認します。

管理画面の動作確認などをひととおり行います。

7. 不要ファイルの削除など行う

アップデート完了後、不要ファイルや環境によって必要ないファイルは削除、あるいはパーミッションを変更して実行権限をなくします。

手順6の動作確認が終わり問題ないと判断できれば、旧ディレクトリも削除することを推奨します。
(イントラ環境など場合により残すこともありますが、セキュリティの観点からも、とくに公開サーバーであれば削除することが望ましいです)

不要ファイルの削除について、以前書いたセキュリティ対策の記事にもう少し詳しく記載しているので、こちらもご参考ください。

アップデート後に削除するファイル

  • mt-config.cgi-original
  • mt-wizard.cgi

実行権限をなくす、あるいは削除するファイル

  • mt-check.cgi(サーバー環境のシステム情報確認)
  • mt-upgrade.cgi

必要に応じて実行権限をなくす、あるいは削除するファイル

  • mt-cdsearch.cgi(コンテンツデータ専用の検索)
  • mt-comments.cgi
  • mt-data-api.cgi
  • mt-search.cgi

以上がMTアップデートのおおまかな一連の流れになります。

アップデートに関する注意事項

アップデート前に確認すること

はじめてMTアップデートする場合、事前にかならず以下公式で公開されている注意事項をご確認ください。
(筆者の経験上、古いMTだとサーバー環境も古いことが多いので、そのままバージョンを引き上げると大変な目に遭います…)

はじめて触るなどでMTがインストールされているサーバーの環境がわからない場合は、まずサーバーのシステム情報を確認してください。

MT6以前でコミュニティ機能を利用している場合

MT7以降はコミュニティ機能の提供が廃止となったため、MT6以前でコミュニティ機能を利用している状態でMT8にバージョンアップする場合は、事前に変更などが必要です。

  • コミュニティ用ブログテーマを利用している場合
  • コミュニティ機能を利用した独自テーマ、カスタマイズをしている場合(コミュニティ機能用のMTタグ利用など)

※コミュニティ機能については公式ドキュメントを参照ください

MT7以前でトラックバック機能を利用している場合

MT8ではトラックバック機能が廃止となりました(プログラムにもmt-tb.cgiは付属していません)
MT7以前でトラックバック機能を利用している場合は、テンプレートのトラックバックに関する部分の修正が必要になります。

古いバージョンのMTで、DBがSQLiteあるいはPostgreSQLで動いている場合

DBについては、以下公式ドキュメントをご確認ください。

また、MySQLで動いていてもMTのバージョンが5以前のものは、一度MT6(→MT7)→MT8とバージョンアップに段階を踏むといいかもしれません。
筆者の経験では、サーバー環境やテンプレートのつくりがよほど特殊でない限り、MT6からのバージョンアップはあまり問題はないですが、MT5以前のものは、大なり小なりなにかしらで不具合が散見されることがありました。

公式ユーザーサイトからは、2024年12月31日時点で以下の旧バージョンをダウンロードできます。
サポートが切れている(あるいは切れる)ので、よほどの理由がない限り本環境として利用することは推奨しません。

  • MT6.8.8
  • MT7 r.5505

公式リファレンス

本記事はMTアップデートに関するものですが、新規インストールする場合は以下公式ドキュメントをご参照ください。

また、Windowsサーバーの場合は以下公式ドキュメントもご参照ください。

Discussion