僕の Mac でのローカル環境は、これまで MAMP で構築していました。 MAMP には始めから MySQL がセットになっていますが、MAMP + Movable Type を MySQL で動かすには、DBI、DBD::mysql という Perl のモジュールをインストールする必要があります。 この DBD::mysql がくせ者で、Googleで色々調べながらやってもうまくいかず、結局断...
僕の Mac でのローカル環境は、これまで MAMP で構築していました。
MAMP には始めから MySQL がセットになっていますが、MAMP + Movable Type を MySQL で動かすには、DBI、DBD::mysql という Perl のモジュールをインストールする必要があります。
この DBD::mysql がくせ者で、Googleで色々調べながらやってもうまくいかず、結局断念して SQLite で動かしていました(ちなみに WordPress であれば全く問題なく MySQL が使えます)。
しかし、ここへきて、まもなく登場する Movable Type 5 が SQLite はサポートしないときたので、もう一度ローカル環境を作り直そうと思ったわけです。
そして、今回も結局 MAMP ではうまくいかなかったので、XAMPP for Mac OS X に変更した、という流れになります。僕はそんなレベルです。
さて、本題です。今回は自分の備忘録の意味も強いので、かなり丁寧に記事を書いておきます。
今回目指すローカル環境は、次の通りです。
はじめに apache friends - xampp for macos x から「 XAMPP for Mac OS X 」をダウンロードします。今回僕がダウンロードしたのは、「XAMPP Mac OS X 1.7.2a」です。
ダウンロードした「xampp-macosx-1.7.2a.dmg」をダブルクリックし、「XAMPP」のフォルダを「Applications」のフォルダの上にドラッグ&ドロップすればインストール完了です。
さて、インストールが終わったところで、早速起動したいところですが、どうやら XAMPP はセキュリティの脆弱性を修正した方が良いようです。せっかくですので、最初に設定しておきましょう。ただし、僕はコマンド操作は素人ですので、ここは自己責任でお願いします。
アプリケーション > ユーティリティ > ターミナル を起動し、以下の流れで入力していきます。(エンター)部分はEnterキーを押してください。
sudo su(エンター)
これでシステムに管理者ルートでログインできるようです。すると下記のように表示されるので、
WARNING: Improper use of the sudo command could lead to data loss
or the deletion of important system files. Please double-check your
typing when using sudo. Type "man sudo" for more information.
To proceed, enter your password, or type Ctrl-C to abort.
Password:(パスワードを入力してエンター)
Macのパスワードを入力してエンターを押します。なお、パスワードは入力しても表示されませんのでご注意を。パスワードに間違いがなければ、
sh-3.2#
と表示されるので、その右に続けて、
/Applications/XAMPP/xamppfiles/xampp security
と入力します。
すると、下記のように表示されるのでエンターを押します。あなたの XAMPP のページにパスワードを設定しますか?ってことですね。
File permissions are being checked...ok.
XAMPP: Quick security check...
XAMPP: Your XAMPP pages are NOT secured by a password.
XAMPP: Do you want to set a password? [ja] (エンター)
XAMPPのサイトに設定するパスワードを2度聞かれるので、パスワードを入力します。パスワードを忘れないように。
XAMPP: Password: (パスワードを入力してエンター)
XAMPP: Password (again): (パスワードを入力してエンター)
XAMPPのサイトを開くときにはユーザー名とパスワードを聞かれるので、ユーザー名に「XAMPP」、パスワードにたった今設定したパスワードを使うことになります。続いて、下記のように表示されるのでエンターを押します。
XAMPP: Password protection active. Please use 'xampp' as user name!
XAMPP: MySQL is accessable via network.
XAMPP: Normaly [ja] (エンター)
ここで、僕はこの記事を書くために、このセキュリティ設定の前に MySQL を立ち上げてしまったので、たぶん以下のような表示になっているのだと思いますが、ここまでの手順通りに初めてやっている場合は MySQL のパスワードも聞かれるかもしれません。その場合は、流れにそってパスワードを設定すれば良いと思います。
僕のような場合で MySQL にパスワードを設定したい場合は、phpMyAdmin の「特権」メニュー(上部メニューの右の方)からパスワードを設定できます。
また、phpMyAdmin で「root / localhost」のパスワードを後から変更した場合、その後 XAMPP のトップページから phpMyAdmin にアクセスすると、パスワードが違います的なエラーが出てアクセスできないかもしれません。
その場合は、「XAMPP / xamppfiles / phpmyadmin」の中にある config.inc.php というファイルの 31行目付近にある以下の部分を修正してください。
【変更前】
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
【変更後】
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'ここに設定したパスワードを入れる';
さて、話を戻します。
XAMPP: Turned off.
XAMPP: MySQL has to run before I can check the security.
XAMPP: MySQL has to run before I can check the security.
XAMPP: MySQL has a root passwort set. Fine! :)
XAMPP: The FTP password for user 'nobody' is still set to 'xampp'.
XAMPP: Do you want to change the password? [ja] (エンター)
今度はFTPのパスワードを2度聞かれるので、パスワードを設定します。パスワードを忘れないように。
XAMPP: Password: (パスワードを入力してエンター)
XAMPP: Password (again): (パスワードを入力してエンター)
すると、以下のように表示され、作業は終了です。
XAMPP: Reload ProFTPD...ok.
XAMPP: Done.
sh-3.2#
このまま続けて、
exit su(エンター)
で、システム管理者ルートから抜け、
exit(エンター)
と入力してプロセス終了です。ターミナルは閉じてOKです。
ここでXAMPPを起動したいところですが、もう一息。
今度は、apache friends - xampp for macos x から「 XDeveloper package」をダウンロードします。これも念のため入れておきましょう。
ダウンロードした「xampp-macosx-1.7.2a-dev.dmg」をダブルクリックし、「Devel-Package」をダブルクリックしてインストールを開始します。
さて、いよいよ XAMPP の起動です。オフィシャルサイトには、XAMPP for Mac の起動は、コマンドから起動する方法が書いてありますが、通常のアプリケーションと同様に、「アプリケーション > XAMPP >XAMPP Control」をダブルクリックで起動できます。
起動すると、次のようなウィンドウが立ち上がります。この小さい方のウィンドウの「Start」をクリックすると Apache、MySQL、FTP が起動します。
ここでは、Apache、MySQL、FTP すべてをスタートします。最初に Mac のパスワードを聞かれます。
起動できたら、ブラウザで「http://localhost/」にアクセスします。するとユーザー名とパスワードを聞かれるので、ユーザー名に「xampp」、パスワードに先ほどターミナルで設定したパスワードを入力します。
XAMPPページが表示されれば成功です。
続いて、右下の「日本語」をクリックすると、次のようなページが表示されます。
このページの左下の「phpMyAdmin」をクリックして、次のようなページが表示されれば MySQL もOKでしょう。
さあ、いよいよ Movable Type を XAMPP にインストールします。
MovableTypeの最新版は、こちらでダウンロードできます。現時点での最新版は Movable Type 4.261 ですが、今回は Movable Type 5 RC2 がリリースされていますので、そちらをインストールすることにします。
ダウンロードしたファイルを解凍し、フォルダを適当にリネームして、以下の場所に移動します。今回は「mt5rc2」とリネームしました。なお、cms というフォルダに入れるのは僕の癖です。直接 htdocs に入れても構いません。
もし移動しようとしたときに XAMPP のフォルダは変更できませんといったメッセージがでたら「認証」をクリックして Mac パスワードを入力すれば大丈夫です。
次に、mt5rc2 にあるcgiファイルの1行目を次のように書き換えます。ちなみに僕は Coda で一括置換しています。
【変更前】
#!/usr/bin/perl -w
【変更後】
#!/Applications/xampp/xamppfiles/bin/perl -w
さあ、とりあえずこれで準備OKです。試しにブラウザで「http://localhost/cms/mt5rc2/mt-check.cgi」にアクセスしてみて、必要なモジュールなどがインストールされているか確認してみましょう。
さて、僕は当然ここで必要なモジュールが足りなくて、次のステップで DBI、DBD::mysql などをインストールすることになると思っていたのですが、なんとなんと、最新のXAMPP には初めからインストールされていました。
でも、ひょっとしたら僕が何度かインストールしていたからかもしれません。でも、この記事を書く前に Mac OS X をクリーンインストールし直しているんですが。もし DBI、DBD::mysql がインストールされていない場合については後述します。
この mt-check.cgi を見る限り、あとインストールしなければいけないのはサムネイルなどを作るときに利用する ImageMagick などのグラフィックライブラリです。しかし、ImageMagick のインストールには僕も何度もハマって結局うまくいかなかった(インストールできてもMTで認識されなかったり?)ので、別のグラフィックライブラリである「GD」をインストールすることにします。多分この方がハマらないと思います。。
したがって、次のステップでは、GDのインストールに挑戦してみます。
ImageMagic でもそうですが、GD をインストールするには、Finkを利用すると便利です。Fink については以下のサイトが参考になります。
まず、Finkのサイトから自分のMacにあったものをダウンロードします。僕は「Fink 0.9.0 バイナリインストーラ (Intel)」をダウンロードしました。
ダウンロードしたファイルをダブルクリックし、「Fink 0.9.0-Intel Installer.pkg」をダブルクリックしてインストールを開始します。このとき、FinkCommander というフォルダがここにあることを覚えておいてください。Fink は以下のような流れでインストールできます。
いよいよインストールですが、GD をインストールする前に、「libjpeg」と「libpng」をインストールします。GD も libjpeg も libpng も簡単なコマンドでインストールできますが、Fink にすべて依存した方が安心なので、FinkCommander というのを使って GUI でインストールしてみます。
まず、先ほどの FinkCommander フォルダの中にある「FinkCommander」をアプリケーションフォルダにドラッグ&ドロップします。
アプリケーション > FinkCommander をダブルクリックして起動します。
FinkCommander の右上の検索ボックスに「libjpeg」を入力すると 検索結果の一覧が表示されます。その中の libjpeg を選択した状態で左上のアイコン「Install binary package(s)」をクリックします。
一度パスワードを聞かれて、下段のコマンドがすぐに止まってしまうと思いますので、もう一度同じアイコンをクリックします。すると、もう一度何か聞かれるのでそのまま「submit」をクリックすると、インストールが始まります。
FinkCommanderの左下に「Done」と表示されればインストール完了です。
続いて、FinkCommander の右上の検索ボックスで「libpng」を検索し、同様に libpng をインストールします。
最後に、FinkCommander の右上の検索ボックスで「gd」を検索し、gd2 (一番右の Description の列が「Graphics」のやつです) をインストールします。
これで Fink での作業は終了ですので、FinkCommander は閉じてOKです。
次に GD を Perl から使うためのモジュールをインストールします。ターミナルを起動し次のように入力します。
sudo /Applications/XAMPP/xamppfiles/bin/perl -MCPAN -e shell(エンター)
パスワドを入力しエンターを押すと次のように表示されます。
cpan shell -- CPAN exploration and modules installation (v1.9402)
Enter 'h' for help.
cpan[1]>
そのまま続けて、
install GD(エンター)
と入力します。コマンドが走り、一度[yes]と聞かれるのでエンターを押します。
またしばらくコマンドが走り、
cpan[2]>
となったらインストール完了です。
ここで、先ほどチェックした mt-check.cgi において DBI と DBD::mysql がインストールされていなかった場合は、続けてこれらをインストールします。インストールされていたら飛ばしてください。
cpan[2]> install DBI(エンター)
このように CPAN に繋がった状態で「install DBI」と入力してエンターでOKです。
こいつが厄介で、「install DBD::mysql」ではうまくインストールできないので、
cpan[3]> quit
「 quit 」と入力してエンターで CPAN を抜けます。
まず、Patrick Galbraith / DBD-mysql-4.013 - search.cpan.orgから「DBD-mysql-4.013.tar.gz」をダウンロードして解凍します。
次に、ターミナルに「cd」と入力し、半角スペースをあけ、そこに今解凍した「DBD-mysql-4.013」フォルダをドラッグ&ドロップします。
すると、先ほど入力した後ろに、ドロップしたフォルダまでのパスが入力されるので、そのままエンターを押します。
そして、最後に次の3行を順番に入力してエンターを押していけば、無事インストールされるはずです。
/Applications/XAMPP/xamppfiles/bin/perl ./Makefile.PL --mysql_config=/Applications/XAMPP/xamppfiles/bin/mysql_config(エンター)
sudo make(エンター)
sudo make install(エンター)
なお、DBD::mysql のインストールに関しては、次の二つの記事を参考にさせていただきました。本当にありがとうございました。
さあ、これで XAMPP for Mac OS X で Movable Type を利用する環境が整いました!
まず「http://localhost/phpmyadmin/」にアクセスします。
「新規データベースを作成する」にデータベース名を入れ、照合順序から「utf_general_ci」を選択して「作成」をクリックします。今回は「mt5rc2」というデータベース名にしました。
これでデータベースの準備も完了です。
次に先ほど XAMPP の htdocs 内に設置した Movable Type の mt.cgi にアクセスします。今回の例では、以下の URL になります。
http://localhost/cms/mt5rc2/mt.cgi
あとはインストールウィザードにそっていいましょう。
データベースのパスワードには、先ほどターミナルかphpMyAdminで設定したパスワードを入力します。XAMPPのセキュリティ設定を行っていない場合は空欄です。
あ、メールはローカル環境で使うことは想定していないので、ここは適当です。
もし、このように「構成ファイルを保存できませんでした」と表示されたら、「XAMPP / xamppfiles / htdocs」フォルダを選択して、「右クリック > 情報を見る」から「共有とアクセス権」の項目を「読み/書き」に設定してください。「内包している項目に適用」はやらなくてもいいです。この辺は、セキュリティ的にはどうかわかりませんが、とりあえずそれで大丈夫です。
この対処方は、今後も「書き込めません」的なエラーが出たときに、そのフォルダに対して行えば書き込めるようになります。
インストール完了です! ですが、あと一歩!
Movable Type は、デフォルトでは ImageMagick を使うようになっているので、今回のように GD を使う場合はそのことを MT に教えてあげなければなりません。
その方法は簡単で、Movable Type のフォルダ(今回の例では mt5rc2)の「mt-config.cgi」をテキストファイルで開き、最後の行に次のように書き加えればOKです。
#======== IMAGE ======================
ImageDriver GD
これでほぼほぼ完全な形のローカル環境で Movable Type を動かすことができると思います。
以上です。お疲れさまでした!