月別アーカイブ: 2009年12月

MAMPとMacPortsを使ってローカル環境にMovable Type4をインストールする方法

MAMPとMacPortsを使って、Macのローカル環境にMovableType4をインストールしようと思ったら、以前にWordPressをインストールした時とは違って、モジュールなどのインストールが必要だったりと、なかなか大変な作業だったので大まかな手順をメモ。インストール時のそれぞれのバージョンは、Mac OS X 10.6.2、MacPorts 1.8.1、MAMP1.8.3、Movable Type 4.261。以下のサイトを参考にさせて頂きました。

【参考にさせて頂いたサイト】

MAMPをダウンロードしてインストール

MAMPのサイトから、アプリケーションをダウンロードしてインストール。

Movable Type4をダウンロード

Movable Type4をダウンロードして、MAMPのDocument Root以下のディレクトリに設置。Document Rootは、MAMPをアプリケーションフォルダに置いた場合、「/Applications/MAMP/htdocs/」。

XCodeとX11をインストール

XCodeとX11をインストールしておく必要がある模様。XCodeとX11は、OS Xのインストールディスクからインストール可能です。

MacPortsをダウンロードしてインストール

The MacPorts ProjectよりMacPortsをダウンロード。Snow Leopard、Leopard、Tiger、それぞれのバージョンが用意されているので、自分の環境にあったものをダウンロードしてインストール。

MacPortsの初期化と設定

MacPortsのインストールが完了したら、Terminal.appを起動して以下のコマンドを一行ずつ実行。これで、MacPortsの初期化と設定が行われる模様。

echo 'export PATH=$PATH:/opt/local/bin:/opt/local/sbin/' >> ~/.bashrc
echo 'export MANPATH=$MANPATH:/opt/local/man' >> ~/.bashrc
echo 'source ~/.bashrc' >> ~/.bash_profile
sudo port -d selfupdate
sudo port -d sync

ImageMagick(PerlMagick)をインストール

以下のコマンドを実行して、ImageMagickをインストールする。結構時間がかかる。

sudo port install ImageMagick +perl

DB関連モジュールのインストール

データベースをインストールする。今回は、MySQLを使用するので、SQLiteとSQLite2は不要かもしれないけど、良くわからないのでとりあえずインストールしてみる。これも結構結構時間がかかる。

sudo port install p5-dbi
sudo port install p5-dbd-mysql
sudo port install p5-dbd-sqlite
sudo port install p5-dbd-sqlite2

Perlのパスを変更

Perlのパスを、MacPortsのインストールディレクトリへ変更する(シンボリックリンクというものらしい)。

cd /usr/bin/
sudo mv perl perl.bak
sudo ln -s /opt/local/bin/perl /usr/bin/perl

Movable Typeの設置

MAMPをアプリケーションフォルダに置いた場合、デフォルトでは「/Applications/MAMP/htdocs/」がDocument Rootになるので、ダウンロードして解凍した、MT-4.261-jaフォルダをコピーして、フォルダ名を「mt」などに変更しておく。

この時点で、mt-check.cgiを実行してみたところ、CGIが実行されずソースが表示されてしまったので、とりあえずmt-check.cgiのパーミッションを「755」から「700」へ変更してみたら、無事に「Movable Type システムチェック」が表示された。そのあと、mt-check.cgiのパーミッションを「755」に戻してみたけど、普通にシステムチェックが表示されるみたいで、このあたりの原因はよくわからなかったです。

オプションモジュールのインストール

システムチェックでは、以下の項目が足りないと表示されてるので、ひとつずつインストールしていく。

  • Crypt::DSA
  • IPC::Run
  • Archive::Zip
  • HTML::Entities
  • Crypt::SSLeay
  • GD
  • Archive::Tar
  • IO::Uncompress::Gunzip
  • Digest::SHA1
  • IO::Compress::Gzip
  • XML::Atom
  • Mail::Sendmail
  • HTML::Parser

ひとつのコマンドで複数のモジュールがインストールされる場合もあるみたいだけど、以下のコマンドをすべて実行した段階で、システムチェックですべての項目が「インストールされています」になった。

sudo port install p5-gd
sudo port install p5-crypt-dsa
sudo port install p5-archive-zip
sudo port install p5-xml-atom
sudo port install p5-mail-sendmail
sudo port install p5-ipc-run

htaccessの設置

MAMPを使用する場合、CGIを実行できるディレクトリが「/Applications/MAMP/cgi-bin/」のみに制限されているようなので、htaccessで制限を解除する。以下をコピペして、テキストデータとして保存する。ファイル名はあとでリネームするので、とりあえず適当でよい。保存したテキストデータを、MAMPのDocument Rootで指定してあるディレクトリに置いて、TransmitなどのFTPクライアントからファイル名を「.htaccess」に変更する。

Options +ExecCGI
AddType application/x-httpd-cgi .cgi .pl

データベースの作成

MAMPを起動してスタートページを開き、メニューよりphpMyAdminをクリック。今回インストールするMovable Type用のデータベースを作成する。「新規データベースを作成する」というところに、作成したいデータベース名を入力(今回はmt)、照合順序は「utf8_general_ci」を選択して、「作成」ボタンをクリック。これでデータベースが作成される。

mt-config.cgiの修正

/Applications/MAMP/htdocs/mtの中に、mt-config.cgi-originalというファイルがあるので、複製して「mt-config.cgi」にリネーム、テキストエディタで開き、以下の項目を修正する。

CGIPath    http://localhost:8888/mt/
StaticWebPath    http://localhost:8888/mt/mt-static
# MySQL
ObjectDriver DBI::mysql
Database mt(Movable Type用に作成したデータベース名)
DBUser root
DBPassword root
DBHost localhost

上記の修正の他に、以下の二行を追記する。

DBSocket /Applications/MAMP/tmp/mysql/mysql.sock
DBPort 8889

POSTGRESQLとSQLITEの部分は、行の先頭に「#」を付けてコメントアウトしておく。これを忘れるとエラーになってしまうので注意。

##### POSTGRESQL #####
#ObjectDriver DBI::postgres
#Database DATABASE_NAME
#DBUser DATABASE_USERNAME
#DBPassword DATABASE_PASSWORD
#DBHost localhost

##### SQLITE #####
#ObjectDriver DBI::sqlite
#Database /path/to/sqlite/database/file

Movable Typeの設定

MAMPを起動した状態で、ブラウザから「http://localhost:8888/mt/」にアクセスするとMovable Typeの設定ウィザードが表示されるので、Movable Type 4 ドキュメントを参考に設定を完了させる。

以上の流れでなんとかローカル環境でMovable Typeを起動することができました。