MT5にアップグレードした時、今回はデータを全部バックアップして、新規インストールという形をとりました。
MT4にはなかったウェブサイトという機能が追加されたので、この機会にきちんと整理をしてみようと思ったからです。
インストールは問題なく終了し、ウェブサイトとブログを新規作成。
そこにバックアップしたデータをインポートしました。
で、再構築してみたら、記事はきちんと表示されてますけど、デザイン無しの真っ白なページ。
明らかにスタイルシートが読み込まれていない感じです。
どこもいじっていないデフォルトのテンプレートなのにおかしいなぁと思いつつ、スタイルシートのテンプレートを書き換えてインポートURLを直接記述して対応。
とりあえず、デザインは普通に表示されるようになりました。
ところが、今度はコメントができない。
テストで「サインイン」しようとしても、次の画面に遷移しません。
mixicommentプラグインを使うために、以前のバージョンのものを使っているのがまずかったかと思って削除しても状況は変わらず・・・
しばらく悩んでいましたが、落とし穴は意外なところにありました。
問題のブログはサブドメインを使っています。
例えばhttp://hoge.com/にウェブサイトを作って、ブログはhttp://blog.hoge.com/で運用する形。
MT4までは設定画面でブログのURLとサイトパスを自由に入力できましたが、MT5からウェブサイトの設定を引き継ぐフォーマットに変更されています。
ですから、http://hoge.com/blog/でブログを運営する場合は、ブログURLには"blog/"だけ入力すれば済みます。
サブドメインを使う場合は「サブドメインの使用」にチェックを入れると、入力フィールドが表示されます。
ブログパス(MT4までのサイトパス)もウェブサイトのサイトパスが引き継がれます。
ですが、これはレンタルサーバがXREAやCORESERVERの場合はあまりありがたくない機能なんです。
なぜなら、サブドメインのフォルダはルートに置かないとダメなので。
つまり、サブドメインblog.hoge.comのディレクトリは/virtual/ユーザー名/public_htmlに置かないとダメなんですが、MT5のデフォルト設定だと/virtual/ユーザー名/public_html/hoge.comにサブドメインのディレクトリを置くよう誘導されます。
これは、/(スラッシュ)から始まる絶対パスを記入すれば問題ないようです。
つまり、/virtual/ユーザー名/public_html/blog.hoge.comを入力します。
もちろん、サブドメインのディレクトリを自由に設定できるサーバなら問題ありません。
で、一番躓いたのは結果的にmt-configファイルでした。
このファイルでMovableTypeのCGIPathとStaticWebPath、StaticFilePathを設定するのですが、MTの新規インストール時にシステムがはきだしたmt-configファイルはCGIPathに/mt5/、StaticWebPathには/mt5/mt-static/としか記述されてません。
この記述のままサブドメインを使用すると、http://blog.hoge.com/mt5/にプログラムデータがあることになってしまい(実際はhttp://hoge.com/mt5/にある)、CGIを使用するコメント機能やデザインのデータが指定した先に無いことになります。
これに氣づかず無駄な時間を使ってしまいました。
CGIPathをhttp://hoge.com/、StaticWebPathにhttp://hoge.com/mt5/mt-static/と修正を加えたところ、この問題は解決できたようです。
既存のブログからアップグレードする場合は特に問題ないと思いますが、新規でMT5をセットアップする場合はmt-configファイルをきちんと確認する必要があります。

コメントする