MT4がようやく入った
あれからApacheを入れてみたりMySQLを入れてみたりしたが、相変わらず失敗。
十数時間がかかり、先週土曜日の昼ごろ突然Movable Typeのアカウント作成画面が出た
そして、
やっと成功ぉ――――ッ!!
しかしあまりもの苦労・苦痛を受けてきたせいか、全然喜べない
安堵と疲れを合わせたような溜め息をしましたよ。
ああ。諦めようなんて何度も思いつつも努力した甲斐があって、ようやくMT4が動きました。
利用環境は、
・Windows Server2008 RC1 Standard
・IIS 7.0
・Movable Type 4.1
・ActivePerl 5.8.8
・SQLite
・PHP5.2.5
まあ解決までに行ったことは、
・データベースをSQLite2からSQLiteに変更
ちなみにMySQLは動作しなかった。サービスを開始しようとしてもエラーが出て終了してしまうし、PostgreSQLは評判が悪いのでSQLiteでやらざるを得なかった。
この設定変更を行ったところ問題が解決したので、SQLite2が最も大きな原因。
・MTフォルダのアクセス権の設定で、Usersの読み書きアクセスを許可した。
まあ当り前な操作。
・PHP5が正しく動いていなかったようなので、それを解決。
コマンドラインにてPHP5の動作を確認しようと「php -v」と実行すると以下のエラーが出力された。
in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'C:/Program files/PHP/ext/php_pdo_oci.dll' - 指定されたモジュールが見つかりません。
in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'C:/Program files/PHP/ext/php_pdo_oci8.dll' - 指定されたモジュールが見つかりません。
in Unknown on line 0
~以下略~
このエラーはこちらのページを参考にしてすぐに解決。
・IIS7.0で主に変更した設定は2箇所
まず初期設定では、すべてのIPアドレスからのアクセスをブロックしているので、許可してやる必要がある。
そして「ハンドラマッピング」の設定でActivePerlとPHPの実行を許可させる。このあたりの設定は、素人のアドバイスを見るよりもMT4のマニュアルの方が参考になると思う。
↑上2列はActivePerlの実行ファイル(perl.exe)を、PHP5はphp-cgi.exeを許可した。
SQLiteとSQLite2が同じものだろうと思っていたので、すっかり気にしなかった。MySQLが正しく動作すればもっと解決が早かっただろうけど。。。