ようやく忙しさがひと段落したので、また忙しくなる前にと、思い切って、このblogのシステムMovable Typeを3.2-ja-2にアップグレードしてみた。
今回は、ファイルもシステムも構成が大幅に変わってるようなので、一応エントリーのバックアップをとり、旧バージョンのプログラムファイルも全部ローカルにコピーした後は、サーバー側のmtディレクトリーの中身を全消去して、3.2-ja-2のファイルをそのままアップロードしてからの作業。各種テンプレートや設定は、アップグレード後にすべてデータベースから再現してくれるようになってたので、意外に手こずらずにすんだ。(バックアップしたエントリーもインポートする必要なし。)
参考にしたのは、(いつもの)Milanoさんのところ。
以下、カスタマイズなど、いくつかTips。
(1) mt-config.cgiの編集
さくらはphpのパーミッション属性を705か755にしないといけないので、186-189行目のDBUmask、HTMLUmask、UploadUmask、DirUmaskの「# 」(シャープとスペース)を外して、
DBUmask 0022
HTMLUmask 0022
UploadUmask 0022
DirUmask 0022
とし、さらに201-202行目も同様に
HTMLPerms 0777
UploadPerms 0777
とした。
なお、アップグレードした当初、201-202行目を修正し忘れていたせいか、サイトの再構築をしたら、アーカイヴ・ファイル(ウチではhttp://hideyukihirakawa.com/blog/のディレクトリのなかのphpファイルたち)のパーミッションがすべて644になってしまっていて、blogにアクセスすると”500 Internal Sever Error”が出てしまった。しかも、201-202行目を修正したあとで再構築してもパーミッションが治らない。しょうがないので、FTPクライアント(WinSCP)で直接755に書き換えることにしたら、その後はうまくいった。
(2) 個別アーカイブのURLを旧バージョンのようにする
これは、a href=”http://rebecca.ac/milano/mt/” target=”_blank”>Milanoさんの個別アーカイブのURLを旧バージョンのようにするで説明されているが、旧バージョンからアップデートする場合には、自動的に設定が引き継がれているので、いじる必要なし。
(3) リンク先を新しいウィンドウで表示するようにする。
これはMT 3.1x時代と似たような修正。静的ファイル・ディレクトリ(3.2の場合はmt-staticという名前)にmt.jsとmt_ja.js(こちらは旧バージョンにはなかった)があるので、これをエディタであけて、それぞれの
setSelection(e, ‘<a href=”‘ + my_link + ‘”>:’ + str + ‘</a>’);
という部分を次のように書き換える。(赤字部分が追加したところ)
setSelection(e, ‘<a href=”‘ + my_link + ‘” target=”_blank”>’ + str + ‘</a>’);
ちなみにNitch.net blogさんの(MT3.2)リンクを別ウィンドウで開く設定 <target=”_blank”>を見ると、修正するのはmt_ja.jsだけでいいようだけど、念のためmt.jsも修正しておいた。
(4) エントリーの編集ページのテキストボックス内のフォントサイズを大きくする
MTの編集画面のテキストボックス(テキストエリア)内の文字サイズは、デフォルトでは小さめで、ウチのLet’s Note CF-R4のようにディスプレイが小さなノートPCで作業するときは、けっこう目が疲れる。そこで、静的ファイル・ディレクトリ(mt-static)内のstyles.cssの
#edit-entry #body-box {
background-color: #F5F9FF;
padding: 15px 20px;
}
という部分にfont-sizeの指定を加筆して
#edit-entry #body-box {
background-color: #F5F9FF;
padding: 15px 20px;
font-size: 12pt;
}
とした。
(5) mtview.phpの修正
旧バージョンでは、月別アーカイブ(テンプレート名では日付アーカイブ)をダイナミック・パブリッシング(動的生成)にしてあったのだけど、3.2にしたら、そのページにアクセスすると“Error establishing a database connection …”なるエラーメッセージが出てきてしまった。他はすべてちゃんと動いてるんだから、そんなわけはないと思って、「もしかしたらmtview.php(ダイナミック・テンプレート用起動スクリプト)の内容が変わってるんじゃないか?」と疑ってみたところ、ズバリ正解。
修正法はとても簡単。まずはディレクトリmt/default_templates/にあるdynamic_site_bootstrapper.tmplというファイルをエディタであけて、その内容をコピー。そしたら、管理画面の「テンプレート」の「インデックス・テンプレート」のページにあるダイナミック・テンプレート用起動スクリプトをあけて、内容を全消去した後、さっきコピーした新しい内容をペースト。あとは「保存と再構築」ボタンを押して終了。
ちなみに新旧では、次の部分が変更されていた。(赤字が旧バージョン、青字が新バージョン。)
旧バージョン
<?php
include(‘<$MTCGIServerPath$>/php/mt.php’);
$mt = new MT(<$MTBlogID$>, ‘<$MTCGIServerPath$>mt.cfg;’/);
$mt->view();
?>
新バージョン
<?php
include(‘<$MTCGIServerPath$>/php/mt.php’);
$mt = new MT(<$MTBlogID$>, ‘<$MTConfigFile$>’);
$mt->view();
?>
(6) 画像サムネイルの位置指定の自動化
これは旧バージョンと同じく、スタイルシートの加筆とlib/MT/app/のなかのCMS.pmの加筆でOK。下記エントリーの後半の記述どおりでうまくいった。
サムネイル表示に対応(2005年01月28日)
他にも、テンプレートのコメントまわりのコードで、いろいろ変更の余地があるらしいのだが、とりあえず現行のままでちゃんと機能しているので、当分はこんなところで。
コメントのテスト
Type Keyにサイン・インした場合のコメントのテスト