Movable Typeでいろいろ試したいことがありましたが、実稼働しているblogで大きなテストをするのは危険ということでMacOSXでテスト用にMovable Typeを動かすことにしました。
前提として
– apaceh2
– mysql5
– perl
– php5
などがmacportsでインストールされている状態です。
データベースはXREAからバックアップをとっているのがあるので、XREAで使っているのと同じユーザ名をつくって、
#cd #mysqladmin5 -u root -p create makotokw #mysql5 -u root -p > use makotokw > alter database default character set utf8 collate utf8_general_ci;
として、
(あとで気がつきましたが、テーブルは全部shift-jisでした。。。)
# /opt/local/bin/mysql5 -u root -p makotokw < /tmp/mysqldb.dump
でok
まんまMovable TypeディレクトリをMacOSXに放り込んでいけるかなと思いましたがログインすると
Got an error: Can't locate object method "configure" via package "MT::ObjectDriverFactory" at lib/MT.pm line 852
という表示になりました。
mt-check.cgi
を表示してみるとモジュールが表示されません。
apacheのログを見ると
Use of uninitialized value in subroutine entry at /opt/local/lib/perl5/site_perl/5.8.8/darwin-2level/DBI.pm line 1242. Use of uninitialized value in subroutine entry at /opt/local/lib/perl5/site_perl/5.8.8/darwin-2level/DBI.pm line 1242. Use of uninitialized value in subroutine entry at /opt/local/lib/perl5/site_perl/5.8.8/darwin-2level/DBI.pm line 1242. Undefined subroutine &DBD::mysql::db::_login called at /opt/local/lib/perl5/site_perl/5.8.8/darwin-2level/DBD/mysql.pm line 142. at /usr/local/arcadia/web/com.makotokw/www/mt/lib/MT/ObjectDriver/Driver/DBD/mysql.pm line 49
というエラー。DB系で失敗しているみたいです。
そもそも、この環境には
/usr/bin/perl
と
macportsで入れた
/opt/local/bin/perl
が共存していました。
mt-check.cgiの一行目の
の
#! /usr/bin/perl
を
#! /opt/local/bin/perl
に
したところ続々エラーが表示されました。
必須モジュールである(MySQLの)DBドライバが入っていません。
そこで
# export FTP_PASSIVE=1 # sudo perl -MCPAN -e shell > install DBI > install DBD::mysql
でインストールしてみたもの、、、DBD::mysqlがインストールできません。
macports以前に入れたmysqlをアンインストールしてみました。
# cd /usr/local # sudo rm -rf mysql* # cd /Library/PreferencePanes/ # sudo rm -rf MySQL.prefPane/
やっぱりだめ。
検索してみると・・・
http://www.r-styles.net/mt-archives/2006/02/movabletype_on_macosx_with_mys.html
先ず、「cpan>」に続けて「install DBD::mysql」と入力して実行する。が、恐らく失敗するので、「exit」と入力して CPAN を終了する。
どうもMacOSXでは失敗するのが当たり前のようになっているようです。が探してみても、/opt/local/...で始まる人がいないので正直不安に。。。皆さんMAMPとか使ってるのかな?
結局ここを参考に
http://jayallen.org/journey/2006/04/dbd-mysql-build-problems-on-mac-book-pro
cd ~/.cpan/build/DBD-mysql-4.005 sudo perl Makefile.PL --cflags="-I/opt/local/include/mysql5/mysql" --libs="-L/opt/local/lib -L/opt/local/lib/mysql5/mysql -lmysqlclient -L/opt/local/lib -lz -lm -L/opt/local/lib -lssl -lcrypto" --mysql_config="/opt/local/bin/mysql_config5" sudo make sudo make test sudo make install
でいけました。
さて、mt*.cgiの#! /usr/bin/perlを#!/opt/local/bin/perlに書き換えるのは面倒なので
# mv /usr/bin/perl /usr/bin/perl.bak # ln -s /opt/local/bin/perl /usr/bin/perl
とシンボリックリンクを張ることに。
無事、ログインできました。Dashboardから最近の記事が表示されているのでDBの読み込みも問題なさそうです。
再構築したところスタイルシートがぼろぼろになりました。
mt-config.cgiおよびブログの設定の「公開」のところで、URLを変えておかないといけなさそうです。