XAMPPの修復メモ(WinXPSP3/2010年3月版)

久しぶりのMTネタです。

XAMPP環境が壊れた(破損した?)

今月からMT5の制作・構築業務が始まるので、試しにローカルの環境(XAMPP)にMT5とMTOS5をインストールしてみたところ、どちらもデータベースの作成中にエラーでストップしてしまいます。
無理矢理ページを再読込すると、管理画面が表示されるのですが、ブログの新規作成ボタンが表示されていなかったりと、表示されても何ともできないような感じです。

何度かDBを新規作成してみたり、再度インストールしたりと、いろいろ試してみたのですが、どうしてもエラーが出てしまい、エラーメッセージで検索したところ、出てきたのは2chのMTスレのみというマニアックな状況。
エラーメッセージは:

インストール中にエラーが発生しました
Not a HASH reference at lib/MT/ObjectDriver/Driver/DBI.pm line 471.

というもの。
(このページをリロードすると、また違うエラーメッセージが出るのですが、書き忘れてしまいました)

で、

  • MT本体のファイルを解凍する時に、破損してしまった
  • ローカルの環境が、実はMT5に対応していない

の2つを疑って、MTの動作環境やファイルの再ダウンロードを試したのですがどちらも問題なし。

消去法で、ローカルの環境が破損していると判断し、環境の再構築をおこないました。

用意するもの

今回はこちらの記事を参考にしました。ありがとうございます。
XAMPPでMT5を開発する方法|ユージック

ImageMagickとActivePerlのバージョンの組合せに注意

最初、手元にあったファイルの組合せでActivePearlとImageMagickをインストールしてみたのですが、何度やっても、PPMからインストールしてみても、ファイルのコンフリクトを起こしたり、インストールが反映されなかったりと、うまくいきませんでした。

調べてみたところ、ImageMagickをインストールするときに「ActivePearl用にインストールする」というオプションにチェックを入れる欄が出てきます。
ここに記載されているActivePearlのバージョンが、実際にインストールするActivePearlのバージョンと合致していないとダメみたいです。

20100302173417

なので、ひたすら色んなバージョンのImageMagickをダウンロードして調べてみたところ、今日現在の最新版のImageMagick-6.6.0-0が、ActivePerl最新版の5.10.1.1007に対応していることが分かりました。

これ、今日はたまたま見つかったから良かったけど、ImageMagickの最新版が、その時にダウンロードできるActivePerlの最新版と、必ずしも合致するわけではないですよね??
組合せをメモしておいたほうがいいかも‥。

参考:小粋空間: ImageMagick と Image::Magick(PerlMagick) のバージョン対応

インストールする順番

1. XAMPP1.7.2

私はCドライブにあんまりいろいろ入れたくないので、別のドライブに入れてます。

2. ActivePearl

インストールするディレクトリについては、いろいろ書かれていますが、今回は
/xampp/perl/
に、上書きする感じでインストールしました。

3. ImageMagick

ディレクトリは、/xampp/ImageMagick-6.6.0-Q8/ となりました。
これは前からこんな感じだったので、いいのかも。インストール中に「ActivePerl用のPerlMagickをインストールする」にチェックを入れるのを忘れないでください。

4. PPMから、足りないモジュールを追加する

ImageMagickまで終わったら、一回PCを再起動して、PPMを起動。
よくコマンドラインから起動~って書いてありますが、よくわからなくて、いつも/xampp/perl/bin/ppm.batから起動してます。ダブルクリックすると、GUIのウインドウが開くので、先にリポジトリを追加します。

20100302174812

右上の歯車アイコンをクリックし、設定画面が開いたら、右側のRepositoriesタブを開き

  1. name: bribes
    Location:http://www.bribes.org/perl/ppm
  2. name:theoryx
    Location:http://theoryx5.uwinnipeg.ca/ppms

と入力し、追加の設定をします。
bribesは、Suggestedのプルダウンの中に入っているので、そこから選んでもOKです。

追加できたら、虫メガネマークの検索欄に、sendmailとかGDとか、足りないモジュール名を入れて検索し、どんどん追加していけば良いです。
ローカルのmt-check.cgiを表示しておいて、リロードしながらやると確認しやすいです。

実は、今日、ppm.batを叩いたらコマンドラインが起動してしまい、GUIが出てこないので変だなぁと思って、ActivePerlを上書き再インストールしました。
2回目はちゃんとGUIが起動したけど、何だったんだろう。

今回の構成

WinXPで、XAMPPのバージョンをどこまで上げて良いかわからなかったけど、1.7.2まではとりあえず大丈夫みたいです。

  • WindowsXP SP3
  • XAMPP 1.7.2
  • ImageMagick-6.6.0-0-Q8-windows-dll.exe(インストーラー)
  • ActivePerl-5.10.1.1007-MSWin32-x86-291969.msi(インストーラー)

※XAMPP1.7.2は、Perlアドオンが不要になっています。

参考にした記事一覧

おまけ:cgiのエラーが出るとき

  1. Apachのconf/httpd.confに変なことを追記しなかったか?
  2. cgiファイルの関連づけは適切にされているか?
  3. httpd.confに"ScriptInterpreterSource Registry"って書き足す

というわけで、試しにMTの再構築などをやってみましたが、問題ないようです。たぶん環境が破損していたんだなぁ‥‥。

このエントリーをはてなブックマークに追加
Napsterサービス終了へ
3月の雪が降った