複数ブログのトラックバックURLを、ブログごとの独自ドメインで公開する方法

Movable Typeでのブログの再構築時にコメントやトラックバックのCGIに対して張られるリンクでは、通常、mt-config.cgiで設定したCGIPathを基準としてURLが設定されます。
しかし、Movable Type の 3.3 以降のバージョンでは、CGIPathのホスト名を省略することで、各ブログのブログURLのホスト名部分をもとにしたリンクをCGIPathとして出力させることが可能となっています。
この機能を利用して、作成したブログをあたらしい独自ドメインで公開する際に、トラックバックURLなどをその独自ドメイン以下のURLとして公開することが出来ます。

ただし一つ条件があって、独自ドメインで公開する際のCGIのURLと、本来のCGIのURLが、ホスト名以下の部分で一致している必要があります。これをクリアするためにはいくつかの方法があるかと思いますが、自分が使っているXREAさんで、シンボリックリンクを使った設定が上手く行ったので紹介します。

例として、XREAでのユーザー名が「chicken」として、現在以下のURLで、インストールしたMTの管理画面にアクセスしているものとします。

http://www.chicken.com/cgi-bin/mt/mt.cgi

すると、MTをインストールしたディレクトリのサーバー内でのパスは以下のようになるかと思います。

/virtual/chicken/public_html/cgi-bin/mt/

そして、同じMT上で新しく作るブログを、独自ドメインを利用した以下のURLで公開するとしましょう。

http://blog.thecat.net/

上記がサイトURLなら、サイト・パスは以下のサーバー内のパスを指定することになると思います。

/virtual/chicken/public_html/blog.thecat.net/

目的は、「/virtual/chicken/public_html/cgi-bin/mt/」以下に設置されているCGIスクリプトに、「http://blog.thecat.net/」以下のアドレスでアクセスできるようにすることです。さらに、MTの仕様上の要求から、ホスト名以下のパスが同一である必要があります。
つまり、
「http://www.chicken.com/cgi-bin/mt/」
と、
「http://blog.thecat.net/cgi-bin/mt/」
のふたつのURLで、どちらにアクセスしても同じCGIファイルが公開されていれば良いわけです。
今回はシンボリック・リンクを使ってみます。(自分がお借りしてるs160サーバーで動作確認したところでは、幸いApacheの設定でのFollowSymLinkが有効になっているようでした。)

あらかじめ、FTPクライアントなどで「/virtual/chicken/public_html/blog.thecat.net/cgi-bin」ディレクトリを作成しておきます。中身は空っぽでよいです。
次にXREAのサイト内のコントロール・パネルから「ホスト情報登録」を選択して許可を得た上で、SSHでログインしてください。
作成した「/virtual/chicken/public_html/blog.thecat.net/cgi-bin」ディレクトリに移動します。

cd /virtual/chicken/public_html/blog.thecat.net/cgi-bin

そして、シンボリックリンクによって「/virtual/chicken/public_html/blog.thecat.net/cgi-bin/mt」へのアクセスが、MTのインストールディレクトリに繋がるように、以下のコマンドを実行してシンボリックリンクを作成します。

ln -s /virtual/chicken/public_html/cgi-bin/mt mt

確認のため、ブラウザで「http://blog.thecat.net/cgi-bin/mt/mt.cgi」にアクセスしてみて、管理画面が表示されれば成功です。


第二段階です。目的のブログで、ブログ独自のホスト名でCGIを公開するために、mt-config.cgiの以下の箇所を書き換えます。現在のCGIPath

CGIPath http://www.chicken.com/cgi-bin/mt/

を、ホスト名を省略した以下の形に書き換えてアップロードしてください。

CGIPath /cgi-bin/mt/

最後に、目的のブログを再構築すれば完成です。
念のため、再構築したブログのエントリーアーカイブに移動して、トラックバックURLを確認してください。

http://blog.thecat.net/cgi-bin/mt/mt-tb.cgi/1

上記のように、独自ドメインに変わっているでしょうか。変わっていたら、このURLをブラウザのアドレス欄にコピペして、CGIに実際にアクセスできるか確認してください。

<response>
<error>1</error>
<message>トラックバックの送信は、HTTP POSTメソッドを使う必要があります。</message>
</response>

こんな感じのXMLでのエラーが表示されれば、CGIにアクセスできている証拠です。大成功です!
お疲れ様でした!