図2●設定ファイル「mt.cfg」の変更個所
最低限ここに挙げた個所は変更しておく必要がある。日本語文字コードは「UTF-8」を選択しておいた方が不具合が発生しにくい。
図3●ソフトウエア導入チェック用CGIプログラムの出力例(続く)
mt-check.cgiというCGIプログラムにアクセスすると,必須ソフトウエアの導入チェックができる。次ページのように,「Your server has all of the required modules installed」と表示されていればMovable Typeを稼働できる。
図4●初期化CGIプログラム
「mt-load.cgi」の出力例

このような出力が得られれば,初期化に成功している。

 それでは設置作業に入る。まず,ディレクトリの許可属性を適切に設定しよう。実際にMovable Typeを設置するディレクトリ(/home/user/public_html)は,Webサーバーの動作権限(通常はnobody)で読み出せるように「755」に設定し,その上位ディレクトリ(/home/userなど)はサブディレクトリへの移動を許可するために実行許可属性を設定する。

 その上で,次のように必要なディレクトリを作成する。外部に公開するディレクトリ(ここでは~/public_html/blogディレクトリ)と,データを格納するディレクトリ(ここでは~/data/blogディレクトリ)を用意する必要がある。

$ mkdir -p ~/public_html/blog
$ mkdir -p ~/data/blog

 続いて,Movable Type本体をインストールする。実施する作業は,作成した公開ディレクトリでアーカイブを展開するだけである。ここでは2003年11月19日現在の最新版であるバージョン2.64をインストールしている。

$ tar zxvf MT-2.64-full-lib.tar.gz
$ mv MT-2.64-full-lib/* ~/public_html/blog

 このblogディレクトリの直下に,設定ファイル「mt.cfg」があるので,これを環境に合わせて設定する。最低限設定が必要なのは,図2[拡大表示]に挙げた部分である。Movable Typeでは,入力文字をHTMLの実体参照*2に変換するためPerlのHTML::Entitiesモジュールを標準利用するが,日本語を利用している場合,これが原因で文字化けを起こすことがある。そこで,「NoHTMLEntities 1」という設定を有効にして,同モジュールを使わないようにする。また,日本語文字コードとしては,シフトJIS(Shift_JIS),日本語EUC(EUC),UTF-8の3種類が設定できるが,トラックバックなど一部の機能に支障が出る場合があるので,UTF-8以外は設定しない方が良いだろう。

 (cgi-binディレクトリなど)CGI専用の場所にMovable Typeを設置し,画像などを別の場所に保存する必要がある場合は,mt.cfgファイルのStaticWebPath行でその場所を指定する。CGIの場所はCGIPath行で指定する。

 続いて,インストール作業に必要なDB_Fileモジュールをインストールする。Red Hat Linux 9の場合は,インストールしたrpmパッケージを次のようにインストールする。rpmコマンドは管理者権限で実行しなければならない。

# rpm -ivh perl-DB_File-1.804-88.i386.rpm

 ここまでの作業で,一般的なサーバー環境では,Movable Typeの動作に最低限必要なソフトウエアはすべて導入されているはずだ。

 必要なソフトウエアがすべてそろっているかどうかを確認できるCGIプログラム「mt-check.cgi」が用意されているので,これにアクセスしてみよう。紹介した導入例では,「http://ドメイン名/~user/blog/mt-check.cgi」のようなURLにアクセスすれば,このCGIプログラムを実行でき,図3[拡大表示]のような出力が得られる。

 この出力の最末尾に「Your server has all of the required modules installed;」という表示があれば,必要なソフトウエアはすべてインストールされている。この表示がなく,いずれかのモジュールが足りないと表示された場合は,該当するモジュールを適宜インストールする。

 必要なソフトウエアがそろったら,データベースを初期化するために,「mt-load.cgi」というCGIプログラムにアクセスする。同CGIプログラムには「http://ドメイン名/~user/blog/mt-load.cgi」というURLでアクセスできる。アクセス時に図4[拡大表示]のような表示があれば,初期化が成功したと考えてよい。

 一度初期化を実施すれば,mt-load.cgiは,再度実行する必要はない。セキュリティ上大きな問題になるので,初期化後はサーバーから削除しておこう。

(重松 直樹)