本サイト用ではないが Movable Type の最新版をインストールする機会があったので、インストールの記録を残してサイトのネタにしてみる。Movable Type と言うか厳密には Movable Type のコア部分がオープン化された Movable Type Open Source (MTOS) で、MTOS は Movable Type の「コア部分」と言うことで足りない機能がいくつかあるものの、これで十分なケースも少なくない。

まず上記の MTOS サイトから "MTOS-4.25-ja.zip" を入手し、Web サーバーのドキュメントツリー内の任意の場所で展開する。

$ cd <PATH_TO_MTOS_ROOT>/
$ unzip MTOS-4.25-ja.zip ← 展開
$ mv MTOS-4.25-ja mtos-4.25 ←リネーム
$ ln -s mtos-4.25 mtos4 ← シンボリックリンクを作成

尚、僕は自宅サーバーに導入するなら英語版を使うし、現に本サイトも英語版 MTOS で構築しているが、今回はちょっと訳ありで日本語版を使うことにした。

ディレクトリをリネームしてシンボリックリンクを張るのは、リンク先を切り替えて異なるバージョンの同じソフトウェアを同じパスで動作させるための方法で、ソースコードからインストールするソフトウェアでよく使う。新バージョンを試すときは、前のバージョンがそのまま残っていた方が安心だ。以後このディレクトリ "mtos4" を <MT_DIR>、MTOS が公開される URL "http://~" を <MT_URL> と表すことにする。

尚、他所でディレクトリや CGI のパーミッションについての解説も目にするが、結局 <MT_DIR> 以下を触るのは Web サーバーなので、

  • Web サーバーが <MT_DIR> 以下に触れる
  • Web サーバーが CGI を実行できる
  • 必要なディレクトリに Web サーバーが書き込める(設定は後でも可)

と言うポイントが押さえてあれば、何でもいいと思う。後は FTP アップロードする際のユーザーが読める、書き込みもできる等、運用上支障がないように設定する。

次に DB を設定する。MTOS は標準で MySQL、PostgreSQL、SQLite に対応しているが、使い慣れた MySQL で行く。今回構築する MTOS 用の DB や DB ユーザーが存在していなければ、次のように作成する。

$ mysql -uroot -p<PASSWORD> ← root で MySQL にログイン

mysql> CREATE DATABASE dbname DEFAULT CHARACTER SET utf8; ← DB を作成
mysql> CREATE USER dbuser IDENTIFIED BY 'dbpasswd'; ← DB ユーザーを作成
mysql> CREATE USER dbuser@localhost IDENTIFIED BY 'dbpasswd'; ← DB ユーザー(localhost 用)を作成
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER ON dbname.* TO dbuser; ← DB ユーザーに権限付与
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER ON dbname.* TO dbuser@localhost; ← DB ユーザー(localhost 用)に権限付与
mysql> \q ← ログアウト

 次は、MTOS の設定ファイル "<MT_DIR>/mt-config.cgi" を編集。公開予定ドキュメントツリーのパスや、設定した DB 情報を正確に入力する。

$ cd <MT_DIR>/
$ cp mt-config.cgi-original mt-config.cgi ← サンプルファイルをコピー
$ cat mt-config.cgi
 :
CGIPath <MT_URL>/
 :
StaticWebPath <MT_URL>/mt-static
 :
##### MYSQL #####
ObjectDriver DBI::mysql
Database dbname
DBUser dbuser
DBPassword dbpasswd
DBHost localhost
 :

この <MT_URL> は "http://~" の URL だが、ドキュメントルートからの相対パスで書いてもいい。また不要な DB 設定行は、削除するかコメントアウトしておく。

ここで Web サーバー上で CGI が動作する状態になっていて、"mt-config.cgi" 以外の "*.cgi" ファイルに実行権限が付与されていれば、後の工程は Web インターフェイスから行える。

まずブラウザーを起動して "<MT_URL>/mt-check.cgi" にアクセスし、足りない Perl モジュール等がないか確認する。Perl モジュールがいくつか足りない場合も、必須でなかったり使わない機能を提供する物であれば、無視して構わない。

準備ができたら同じくブラウザーで "<MT_URL>/" にアクセスし、「ログイン」ボタンをクリックする。MTOS のインストールが完了していない状態でこの CGI にアクセスすると自動的にセットアップ画面に切り替わるので、ウィザードに従って必要な情報を入力して行く。途中で反応がなくなったり失敗するような場合は、たいがい "mt-config.cgi" の内容に不備があるか、DB の権限設定に問題がある(ことが多いと思う)。

ウィザードが完了すれば晴れて MTOS にサインインできるが、サインイン直後のページにエラーが表示されている場合は、アドバイスに従ってエラーが消えるよう適切に処置する。全てのエラーがなくなればインストールは完了だ。

20090602a_1.jpg
「サインイン」? 「ログイン」情報?

サーバーの環境チェックに使用した "mt-check.cgi" は、放置しておくと攻撃者に不要な情報を与えることになるので、削除するか、リネームしてパーミッションを変えるか、とにかく Web サーバー経由でアクセスされないようにしておく。

尚、MTOS から送信されるお知らせメールの日本語が文字化けする場合は、"mt-config.cgi" に次の行を追加する。

MailEncoding ISO-2022-JP

Comments are closed.