記事本文
antipop.gs をサンプルにして説明
モテ系 IRC チャンネル「 #順列都市」のモテメッカである我らがけんたろたんの antipop サーバが、 antipop.gs ドメインに移行しました。
ドメイン変更に伴う Movable Type の設定変更について、 IRC でけんたろたんとやり取りしたので、ここにメモしておこうと思います。
みんな、親しみを込めてアンチポップゲス!!!と呼ぼう!
とごろすけ ( 川o・-・)<2nd life ) が提唱しているので、この記事内ではそれに倣ってアンチポップゲスと呼ぼうと思います。
でもきっと次回以降は Copy URL+ が取得する antipop.gs にするんだろうなあ。
もうこの際けんたろたんはアンチポップゲスを正式名称にするしか ! ( 言うのはタダ )
weblog の URI を変更する
ドメインを変更した場合、当然ですが weblog の URI が変わることになります。 すなわち、 MTBlogURL と MTBlogArchiveURL の値が変わるということです。
Movable Type の管理画面から「ウェブログの設定」を選ぶと、基本設定の画面になります。
アンチポップゲスの場合、「サイトの URL 」が http://antipop.zapto.org/mt/ で、「アーカイブの URL 」が http://antipop.zapto.org/mt/archives/ であったところを、それぞれ http://antipop.gs/mt/ と http://antipop.gs/mt/archives/ に変える必要があります。
これは管理画面から変更できる部分であるので、今さら私が述べる必要も無いかもしれません。 しかし、次項で紹介する部分は見落としやすい点だと思います。
CGI のパスを変更する
最初にドメイン変更後のアンチポップゲスを見た際に、トラックバック URI が http://antipop.zapto.org/mt/mt-tb.cgi/1301 となっていたので、「なんか変更漏れがあるんじゃ ? 」と思い、 IRC にてもう一度再構築をしてもらうよう頼んで、 Ctrl + F5 でリロードをしてみましたが変わらず。
そこで、 mt.cfg の設定がまだ変更されていないのではないかと思い、 mt.cfg のチェックを行ってもらいました。 トラックバック URI は mt.cfg の TrackbackScript ディレクティブで制御されているからですが、それは相対パスで指定されるもので、デフォルトでは mt-tb.cgi という指定になっています。 ではどこからの相対パスか ? という話になりますが、答えから言うと MTCGIPath からの相対パスということになります。
Movable TypeのCGIスクリプトがあるディレクトリのURLパス。 ウェブログの設定ファイル mt.cfg の
CGIPathに設定された値です。 (インストールのときに設定します。インストールの手引を参照してください)MTCGIPathは mt-comments.cgi や mt-add-notify.cgi といった Movable Type の CGIスクリプトをリンクするために使われます。 単純に、いちいちCGIのパスをテンプレートに書き込まずに、このタグを使ってください。 例えば、コメントの投稿用フォームを作るときに、次のように使います。<form method="post" action="<$MTCGIPath$><$MTCommentScript$>">
よって、トラックバック URI をテンプレート内に記述する場合は
トラックバック URI : <$MTCGIPath$><$MTTrackbackScript$>
といったような記述になります。
この記述はそのままで、 mt.cfg の CGIPath を http://antipop.zapto.org/mt/ から http://antipop.gs/mt/ に変更して再構築してもらうと、無事トラックバック URI が http://antipop.gs/mt/mt-tb.cgi/1301 に変更されました。
まとめると、ドメイン変更などによって各種スクリプトのパスが変わる場合は、 mt.cfg 内の CGIPath の変更を忘れずに行う必要があるということです。
なお、今回のアンチポップゲスのように実際のファイルが置かれているサーバは変わらず、ドメインだけが変わる場合にこの変更を漏らしてしまう確率が高いのでは、と思います。
( 逆に、サーバごと新しく変わるような場合は Movable Type 自体を改めてインストールするため、 mt.cfg を見落とす確率は低いでしょう。 )

