Movable Type 5.2からMovable Type 6へのアップグレード方法【図解付き】

Sponsored Links

2015年9月をもってサポートおよび脆弱性対応が終了したMovable Type 5.2。
そこで、Movable Type 6へアップグレードを行いましたので、アップグレード方法のまとめとなります。

基本的なアップグレード方法の解説となりますが、一部、入れ子になっているmt:Elseタグの不具合っぽい症状もみられましたので、そちらもあわせてご紹介となります。

①ライセンス購入

まずはライセンスの購入。今回もラウンロード製品版の「Movable Type ソフトウェア版」を選択。
アップグレード前のバージョンは5.2のため、バージョンに伴う事前作業は必要ありませんでした。

>> ライセンスのご案内(通常/学校・教育機関向けアカデミック/開発者/個人無償)| CMS プラットフォーム Movable Type

>> 5.12、5.06、4.37以前のバージョンからアップグレードした後に必要な作業 : Movable Type 6 ドキュメント

②Movable Typeのダウンロード

上記にてライセンス購入後、「シックス・アパート ユーザーサイト」より該当の製品をダウンロードしておきます。

シックス・アパート ユーザーサイトからダウンロード
シックス・アパート ユーザーサイト

その際に、ログインで事前に登録したSAIDとパスワードが必要となります。

③バックアップ

データベースや既存のMovable Typeのファイルなど、必要に応じてローカルへダウンロード・バックアップを行っておきます。

phpMyAdminでデータベースをバックアップ

※環境によりバックアップ時に「DROP TABLE / VIEW / PROCEDURE / FUNCTIONを追加」にチェック。

phpMyAdmin を利用したデータベースのバックアップ・リストア

今回、サーバーはkAGOYAで自動バックアップを行っているため、データベース以外の完全データバックアップについてはそちらを事前バックアップの代わりに。

>> ファイルのバックアップとリストア – KAGOYA Internet Routing

④新しいmtフォルダをアップロード

ダウンロードしたMovable Type 6フォルダを解凍後、mtアプリケーションディレクトリをサーバーへアップロードします。

その際、既存のアプリケーションディレクトリ(mt)と被らないよう「mt_6」などにリネームしてアップロードし、
アップロード後、既存のアプリケーションディレクトリ(mt)を「mt_52」などに変更後、「mt_6」としていた新しいアプリケーションディレクトリ名を「mt」へ戻します。

mtアプリケーションディレクトリをリネーム

クライアントはTransmitを使ってます。

アップロード&リネーム後(リネーム前でもOK)、既存のmtディレクトリにある設定ファイルの「mt-config.cgi」新しいmtディレクトリへを移動し、新しいmtアプリケーションディレクトリ内のcgiファイルのパーミッションすべてを「755」へ変更します。

この際、新しいmtディレクトリに入っているmt-config.cgi-originalは削除しておきます。

新しいmtフォルダに入っているmt-config.cgi-originalは削除

⑤mt.cgi にサインイン、アップグレードを行う

https://example.com/mt/mt.cgi へアクセスし、『アップグレードウィザード』が実行します。
その後は自動でアップグレードが開始されます。

アップグレードウィザードを実行

⑥プラグインを移動

新しいアプリケーションディレクトリ(mt)のプラグインディレクトリ(mt/plugins/)へ、今まで使用していたプラグインを移動します。

プラグインディレクトリへプラグインを移動

また、「mt/plugins/」内のプラグインだけでなく、プラグインによっては「mt/mt-static/plugins/」に保存されているものもあるので、必要に応じてそのプラグインも移動します。

必要に応じてmt-static/plugins/にプラグインを移動

⑦ブログ別などで検索結果を分けている場合

スマートフォン用サイトなど、ウェブサイトに別途ブログで制作をしていて、検索結果ページ(使用プログラム: /mt/mt-search.cgi)を分けている場合があると思います。

その場合、以下のようにスマホ内で指定している検索結果用テンプレート(◯◯◯◯.tmpl)を、アプリケーションディレクトリ(mt)のsearch_templates ディレクトリへFTPなどで移動する必要があります。

<input type="hidden" name="Template" value="拡張子なしの検索テンプレート名">
※管理画面ではウェブサイトテンプレートの「テンプレートモジュール」箇所で同テンプレートが見られるかと思います。

●移動先ディレクトリ
/mt/search_templates/

⑧再構築

アプリケーションディレクトリ内のパーミッションの確認やプラグインの移動を行った後、すべての再構築を行います。
再構築終了後、実際にサイトを確認して不具合などの確認を行います。

入れ子になっているmt:ElseIfで一部不具合?

再構築後、カスタムフィールドでMTElseを使って分岐している箇所が表示されないなど不具合を発見。

以下に、「入れ子になっている MTIf の中で…」とありMTElseにnameモディファイアやtagを付けてみたのですが改善せず。
もしかしたら、「入れ子になっているMTElse側」にもなにか不具合があるのかもしれません。
※2015/10/01現在。

入れ子になっている MTIf の中で name モディファイアを省略して MTElse、MTElseIf タグを利用した場合、判定結果が正しくない問題を修正しました。(#111805)
Movable Type 6.0.4 リリースノート : Movable Type 6 ドキュメント

問題点の切り分けのため以下を試してみましたが、最終的にmt:ElseIfタグをmt:Elseタグへ変更し、取り急ぎの改善策としました。
MTIfと入れ子になっていないMTElseIfについては不具合が見られないため、カスタムフィールドのタグで判別し、「入れ子」になっている場合が該当するように思います。

改善(分岐)されたなかった修正

  • ・</mt:ElseIf>の閉じタグ有り、name・tagなしで分岐せず。
  • ・</mt:ElseIf>の閉じタグなし、<mt:ElseIf name="◯◯◯◯"> nameモデファイア有りで分岐せず。
  • ・</mt:ElseIf>の閉じタグなし、<mt:ElseIf tag="◯◯◯◯"> tag有りで分岐せず。

改善(分岐)された修正

「改善」ではないですが、コードの状況により改善策の代替になるかと。

  • ・<mt:Else>〜</mt:Else>の閉じタグなし有りで分岐OK。
LINEで送る
Pocket
このエントリーをはてなブックマークに追加

Sponsored Links

Sponsored Links

Related Post


投稿者:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

change_history