記事のページ

MAMP と DBD::MySQL (10.5)

MAMP-MovableType.jpg
 さて、 "MAMP" や "XAMPP" を使って開発するのも悪くはないが、どうせのことなら勉強もかねて自分の Mac に開発環境を組んでみよう、というのが、この一連の話の始まりだった。白状してしまうと実は、筆者は現在、自分の Mac では今までの説明どおりに開発環境を組み上げておいて、ほとんど "MAMP Pro" を使っている。
MT4_Setting.jpg
  "MAMP" は開発物が気に入らなければ一気に捨てられる、というのが自分の気質に合っているため、純粋な開発環境としては "MAMP" の方を愛用しているのである。それじゃあ、なんで "MAMP" だけにしないんだよ、と思われる方もおいでであろう。それには、深ーい訳があるんだよ。。 Mac OS X server 10.5 を動かす場合には "MAMP" に "DBD::MySQL" が組み込めたところで、嬉しくもなんともないという理由もあるのだが、結論としては、このようにしておいた方がすべてにおいて都合がいいからということに尽きる。Mac のアップデートがどのようになろうが、"MAMP" のバージョンがどんなになろうが、環境をいじり直す必要がほとんどない。
 さて、"MAMP" をダウンロードしてこよう。現時点でのバージョンは 1.7.2 である。 "MAMP" だけなら無料で使うことができる。一方 "MAMP Pro" の方は有料であるが、メールサーバーが搭載されていたりいろいろな機能が加えられている。開発環境としては、 "MAMP" があれば充分で、とりあえず "MAMP Pro" は必要ないと思う。
 マニュアルに従い、アプリケーションフォルダにコピーして、早速起動してみよう。いろいろいじってみていただきたいのだが、前回の記事とまったく同様にして MovableType を導入する準備をしていく。
 まず、 phpMyAdmin から、MySQL に、 MovableType 用のデーターベースを作っておく(データーベースの名前は前回と同様に "mt" にしておくことにする)。次に、上の図を参考にして、前回同様、 "mt" "Blog" の2つのフォルダを作り MovableType のパーツをそれぞれに入れてしまおう。この段階でブラウザから、
 http://localhost:8888/cgi-bin/mt/mt-check.cgi/
と入力すれば、前回同様、 MovableType が稼働するためのモジュールは、揃っているのがわかる。
 ここからが重要なのだ。普通はここで、
 http://localhost:8888/cgi-bin/mt/mt-wizard.cgi
として、設定に入っていけばいいのであるが、残念ながらかならず失敗におわる。チェックは通っているのになんでだよ〜、ということだが、ここでもまた原因は例の "DBD::MySQL" にある。 MovableType も筆者のように古いバージョンからお使いの方ならご存知のとおり、 "mt-config.cgi" というファイルはテキストエディタで書き込んで作っていたのだが、現在のバージョンでは、 "mt-wizard.cgi" プログラムから自動的に作られるようになっている。
 結局 "DBD::MySQL" が "MAMP" 搭載の "MySQL" に接続できないことが原因なのである。したがってめんどうではあるのだが、 MovableType の中に含まれている "mt-config.cgi-original" をもとにして "mt-config.cgi" を作ってやることにする。
2番目の図を見ていただきたい。まず、筆者と同じように "mt" "Blog" の2つのフォルダを作られた場合には、
CGIPath   http://localhost:8888/cgi-bin/mt/
StaticWebPath http://localhost:8888/Blog/mt-static
および、
#================ DATABASE SETTINGS ==================
# REMOVE all sections below that refer to databases
# other than the one you will be using.

##### MYSQL #####
ObjectDriver DBI::mysql
Database mt
DBUser root
DBPassword XXXXX
DBHost localhost
DBSocket /Applications/MAMP/tmp/mysql/mysql.sock
DBPort 8889
として、 "mt-config.cgi" をお作りになればよい。当然のことながら、 "DBPassword XXXXX" の "XXXXX" の部分にはご自分の設定した、 "MySQL" のパスワードを入れておく。
 キモは、最後の2行である。これを入れておかないと "DBD::MySQL" が "MAMP" 搭載の "MySQL" に接続できないのだ。
 以上、作った "mt-config.cgi" を "mt" フォルダに入れておけば、大丈夫、マイフレンド。このあと、また、前回と同様、パーミッションの問題でつまずかぬよう。ターミナルから、
sudo chmod 777 /Applications/MAMP/cgi-bin/mt
sudo chmod 755 /Applications/MAMP/cgi-bin/mt/*.cgi
sudo chmod 777 /Applications/MAMP/htdocs/Blog
sudo chmod 777 /Applications/MAMP/htdocs/Blog/mt-static
と、やっておけばいい。
さぁ、ブラウザから今度は、
http://localhost:8888/cgi-bin/mt/mt.cgi
と入力しよう。自動的にアップデートモードとなり、 "MAMP" 搭載の "MySQL" にテーブルが30個以上作られて、貴方の "MAMP" の中で MovableType が動き始めるはずである。めでたし、めでたし。おしまい。

ーーー と言いたいところだが、ここからは余談 ーーーーーーーーーーーーーーーーーーーーーー
 オレは、マックの中に開発環境を作った上で  "MAMP" も使えるようにしたいんじゃなくて、 "MAMP" だけ使いたいんだ、という、人のおススメに素直に従いたくない、ひねくれ者の読者のために、 "MAMP" にいきなり "DBD::MySQL" をカマせる方法も書いておこう。
長いぞー。
 "DBD::MySQL" のインストールには "MySQL" のいくつかのライブラリとファイルが必要なのだが、結論から先に言うと、"MAMP" については、Mac OS X 10.5 Server と同様 "DBD::MySQL" をインストールするのに必要な "MySQL のファイル" がそろっていない。すなわち、動作に必要な最低限の形の "MySQL" がインストールされているわけで、フルバージョンの "MySQL" がインストールされているわけではないのである。そのため Mac OS X 10.5 Server の場合と同様 "MAMP" については、不足するファイルをあらかじめ準備しておかないと "DBD::MySQL" のインストールでコケる、ということになる。
 そんじゃあ、フルバージョンの "MySQL" がインストールされている "MAMP" なんてどこにあんだよ〜、とお嘆きの貴方、あるんだな、それが。
 "MAMP" のホームページから "ダウンロード" に行ってみよう。一般のダウンロードのリンクが太文字で書かれているのはすぐおわかりになるであろう。これをダウンロードすると、動作に必要な最低限の形の "MySQL" がインストールされている普通の MAMP & MAMP PRO を手に入れることができる。実際の開発にはこちらを使うことになるので、こちらも手に入れておこう。そして、下の方になにやら小さく "MAMP 1.7.2" と並んでいる部分が、実はフルバージョンの "MySQL" がインストールされている "MAMP" である。今現在は、PPC でも Intel でも動く Binary 形式で提供されているようだが、以前は上の図のように分けて提供されていたものだ。ちなみに、"MAMP 1.7.2 (src)" というのは、"MAMP 1.7.2" を組み上げるのに使用されたパーツ、例えば "MySQL" やら、"Libjpeg" やらのたくさんのパーツが、ソースのままで含まれた形でダウンロードできるようにしてあるものだ。ウデに覚えのある方は、ここからフルバージョンの "MySQL" を解凍して必要なファイルを持ってきて、 "DBD::MySQL" をカマしてみていただきたい。筆者も試しにやってはみたが、結構めんどうなのでおすすめはしない。
 いまは、開発環境として "MAMP" に "DBD::MySQL" をカマせたいのであって、"MAMP" の研究をするわけではないから、Binary 形式で提供されている方の "MAMP" をダウンロードしよう。これは "DBD::MySQL" をインストールするためだけに使うことになる。いったん貴方のマックに "DBD::MySQL" がインストールされてしまえば、この Binary 形式の "MAMP は捨ててしまって、新たに一般の "MAMP & MAMP PRO" をインストールしてもちゃんと "DBD::MySQL" は使うことができる。
 "MAMP" はたいへんに優れた開発環境で、アプリケーションフォルダにそのまま丸ごと入れておけばすぐに使う事ができるし、丸ごと捨ててしまって新たに入れ直せば、すぐに次の開発環境として使うことができる。したがってマックの本体側に "DBD::MySQL" や "DBI" さらには "Imagemagick" 等を固定して持っていて、"MAMP フォルダ"を入れ替えるだけで、いつでも安定した新しい開発環境が手に入るという大きなメリットがあるわけだが、それでも、まだ、おススメに従いたくない?

 まあ能書きはともかく、"MAMP" で "DBD::MySQL" を使えるようにしてみよう。
 まず、ダウンロードした、フルバージョンの "MySQL" を含む "MAMP 1.7.2 フォルダ"を、ご自身のマックのアプリケーションフォルダに移動する。
 次に、"MAMP" を起動して "phpMyAdmin" から "MAMP" の搭載されている "MySQL" の root ユーザーにパスワード(XXXX)を設定しておこう。 "DBD::MySQL" のインストールの際の "make test" では、"MySQL" のユーザー名と、パスワードを指定してやる必要があるからだ。
 ここまで準備ができたら、いよいよ、"DBD::MySQL 4.008モジュール"をダウンロードして、デスクトップに解凍する。現時点での最新バージョンは 4.010 であり、以下のやり方で問題なくインストールできるはずだが、筆者は 4.008 までしか検証していないので保証はできない。
 ターミナルを起動して、
cd Desktop/DBD-mysql-4.008
と入力、その後、一行に続けて、
perl Makefile.PL --libs="-L/Applications/MAMP/Library/lib/mysql -lmysqlclient -lz -lm" --mysql_config=/Applications/MAMP/Library/bin/mysql_config --testhost=localhost:8889 -testuser=root -testpassword=XXXX
と入力、当然 -testpassword=XXXX にはご自身で設定したパスワードを入れるように。これでエラーがでなければ、
make
と入力、その後、
make test
でエラーがでなければ
sudo make install
とすれば、めでたくインストールされるはずである。
 ちなみに、perl Makefile.PL の際のオプションは、
perl Makefile.PL --cflags=-I/Applications/MAMP/Library/include/mysql --mysql_config=/Applications/MAMP/Library/bin/mysql_config --testhost=localhost:8889 -testuser=root -testpassword=XXXX
としておいても、インストールできるはずであり、このへんは興味があったら研究されるといいと思うが "MAMP" の研究をしても仕方がないので、ほどほどにされておく方がいい。
 これで、"MAMP" から "DBD::MySQL" を使えるようになったので、ご自身のアプリケーションフォルダの中にある、フルバージョンの "MySQL" がインストールされている "MAMP" はゴミ箱に捨ててしまおう。そのあとで、新たに、実際に開発環境として使う普通の "MAMP" をご自身のアプリケーションフォルダの中に入れれば完成だ。

 こちらのやり方では、 "DBD::MySQL" は "MAMP" 搭載の "MySQL" に接続できるようにインストールされているため、特別な設定をしなくてもそのままで使える。とはいえ、いかに面倒な操作をしなければインストールできないのか、おわかりになったであろうか?フルバージョンの "MAMP" が供給されなくなったりしたら、自分で "DBD::MySQL" をインストールするのに必要な "MySQL" のファイルを準備しなければインストール不能になってしまう。"DBD::MySQL" のバージョンをアップするたびにこれを繰り返さなければならない羽目に陥る。しかも、あとでご自分のマック本体側に開発環境をお組みになり "MySQL" をインストールされた際、"DBD::MySQL" は 新たにインストールされた "MySQL" に接続できないので、今度はこちらを設定をしてやる必要がある。
ーー余談はここまで!ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

This ain't a song for the broken-hearted
No silent prayer for the faith-departed

My heart is like an open highway
Like Frankie said "I did lt my way"

いやぁ、疲れきった身体でがんばろうと思ってるときには、Bon Jovi は、最高だった。
さァ、そろそろ "iTunes" も停止しよう。明日からまた仕事だ、がんばるか!

この記事について

この記事は著者が2008年11月 3日に書いたものです。

コメントおよびツッコミ大歓迎です。
すべてのコメントに目をとおさせていただいておりますが、そのうちのいくつかを選んで公開しておりますので、ご了承いただけたら幸いです。

この記事は "マックの道具箱" カテゴリ内の記事です。

カテゴリ内の前の記事は
Mac OS X 10.5 と MovableType4」です。

カテゴリ内の次の記事は
Mac OS X 10.5 と MAMP (Sp)」です。

最近の記事はメインページで見られます。過去に書かれた記事はアーカイブで見られます。著者自身の撮影した写真は、写真集でご覧になれます。

Made on a Mac