安定する版の組み合わせを見つけることでなんとか目標のレベルまで状況を持ってくることに成功した。

Apache
最新版が良いにこしたことはないが、昨日まで見てきたとおり、
VC9とVC6というバイナリの違い
zip配布とインストーラ配布という違い
があり、PHP(今後はDBも)との相性から、対応しきれない面もある。
アーカイブから環境にあったセットアップ法を柔軟に考えて構築するしかなさそう。
今のところ、VC6ではあるが2.2系インストーラ版( apache_2.2.14-win32-x86-openssl-0.9.8k.msi )で自宅の方は安定したのでそれを基点にする。ラウンジ版も頭の片隅には入れておくが組み合わせを複雑にするだけで本質的ではなかったようだ。

Perl
ActivePerlをインストールする際、『C:\usr\Perl\bin』 または 『C:\Perl\bin』 のようなパスへ実行ファイルが来るように、設定を把握するのがポイントのようだ。先頭行『#!/usr/bin/perl』の部分を『#!C:\usr\Perl\bin\perl.exe』などと書き換える必要に遭遇する可能性があることを頭に置いておく。

PHP

  1. Apacheとの相性により、アーカイブから、VC6の最終バイナリのzip配布を入手( php-5.3.5-Win32-VC6-x86.zip )。こつは、解説ページで得たバイナリの名称“php-5.3.1-Win32-VC6-x86.zip”でネット検索してアーカイブにたどり着いた後、更に、『 -Win32-VC6-x86.zip 』でページ内検索をして最新を探すこと。
  2. php.ini
    1. 『C:\Windows』へ入れること
    2. httpd.conf内のPHPIniDir指定はうまくいかない。
    3. C:\Windows内で編集するとファイルが消えてしまう経験に遭遇した。ここにあるようなVirtualStoreの影響だろうか?ファイルを複数存在させたくないので、別名で編集し、そのコピーをphp.iniに名前を変えた後、C:\Windowsへ移動する作戦で作業している。
    4. php.iniは文字コードの扱いの設定など細かい部分が多く、インストール時初期に動作するしないに関与するのはhttpd.confのようだ。ここを参照。
  3. httpd.conf (Apacheの)
    1. 『LoadModule php5_module "C:\PHP\php5apache2_2.dll"』。DLLはApacheの版とPHPの版の組み合わせで変えるが、今回選んだ環境はこのままでいい。
    2. 上の1行とあと次の2行、httpd.confの最終に書き加えることが本質『AddHandler application/x-httpd-php .php』、『AddType application/x-httpd-php-source .phps』
  4. php5ts.dll
    1. httpd.conf内で、LoadModuleしようとするとエラーになる。
    2. コピーをC:\windowsへ放り込む
    3. C\Windowsへ放り込む作業が必須かどうかはよくわからない。ただ、試行錯誤の過程で、削除しようとしたところ、httpdサービスを止めないと使用中で削除できなかった経験はある。
  5. phpinfo.phpで、次のようなポカで長時間悩んだこともあるので気を付ける。
<?php phpinfo(); ?>  とすべきところを  <? phpinfo(); ?>  としてしまった。

FreeStyleWiki
前述のとおり、Perlのインストールパスが自宅では問題になった(Internal Server Error)。職場では出なかったのに…
一気に設定しようとして、setup.cgiを動かそうとしたら、一見よさそうに見えるも、後にロックファイルが消せなくなってスタック。全削除となった。ダウンロードページにある2つのパッチも入れないで、zipほどいた丸コピーから入門ページを読みながら仕上げていくのがいいと思う。いずれのアイテムもノウハウに情報提供に頭が下がります。
Apachehttpd.confの修正点は次の3つ

  1. ドキュメントルート以下のDirectoryブロックでにOptionsで +ExecCGIを付加
  2. 同じところに『AddHandler cgi-script .cgi』を追記
  3. dir_moduleのブロックでDirectoryIndexにwiki.cgiを付加

あと、『log』とか『backup』とかのフォルダをあとで作る必要があるが、構築していく過程で自然に作ることになるからいいと思う。エラーで落ちるけどPerlスクリプトなので分かりやすい。

PukiWiki
ここまで来たら、以前XPの AN HTTPD 環境でやったように、何も考えずに、最新版(しかもutf-8版)zipほどいて丸コピーでふつうに動いているようです。まだ表示してるだけだけど。

とりあえず目標クリア。次はデータベースのUIの問題へ。