2007年01月20日

Windows版Apache2.2とPHP5の設定でこける。

結論から言うとWindows版Apache2.2にPHP5.2のモジュール設定を
httpd.confでやろうとしても動かない。
というよりphp5apache2.dllを宣言するとstart upでエラーが出るのだ。

もしもApache2.2でモジュールで動かしたいならば
php5apache2.dllのApache2.2対応版を別途入手し
さらに.NETやらなにやらMSのランタイムを入れないといけないらしい。

.NETは次のバージョンが決まっていて入れてもやがてごみとなるばかり
私はApache2.2をアンインストールしてApache2.0をインストールする道を選んだ。
それでさっくりと動いた。
いろんなOSで動く環境。
そう考えた場合やはりWeb環境のスクリプト言語環境の構築ということがあると思った。
特にNetBSDをインストールした場合。サーバークライアント環境で
「コンピュータ」に仕事させる場合
クライアント環境はブラウザとhttpベースでhtmlとかFlash環境で
受けとしてのサーバーそしてPHPというモデルであれば
PCとweb、OS問わずにできると思った。
そしてApacheであれば対応している環境が多い。いわば標準httpdだと思った。

とりあえずこのパターンでの開発を整えたらWinでMSYS+MinGWあたりで
UNIXとWindowsの両用開発の準備を進めようと思ったのだ。

そしてやっと着手した今日Apache2.2の設定にかかることにした。
で、アクセス制限もいまいち仕様と違ってうまくいかないし
とにもかくにもPHPのモジュール組み込みができず時間かがかかった結果が上の結論だ。
WWW上に資料は少ないのではまる人は多いと思う。
Apache2.2での実行に走ってもいいと思うが私はそれを必要としない。
なぜなら根本的にWindowsであればhttpdも含めてネイティブアプリが作れるし
phpもphp5ts.dllのハンドリングをやる資料がdelphiならば充分にあるからだ。

で、このブログはコーディング系なのでApacheについては語れないものの
「動いた」設定などを載せておくことにする。

現在の環境で外部からアクセスできないhttpd設定になっている。
Apacheの必須設定は

Listen 80
ServerAdmin ****@xo-ox.net
ServerName :80
DocumentRoot "D:/WWW/p"

でとりあえずは動いた。
現在のPCはDドライブはFAT32でいろいろなOSから読めるデータやOS依存度の低いWindowsなどの
単独実行アプリをおいている。

ローカル設定はD:\WWW\pをルートにしたいので


<Directory "D:/WWW/p">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from localhost 127.0.0.1
Allow from 192.168.0.0/32
</Directory>

とした。これはLANないアクセスも許可している。
これを「127.0.0.1」なしにしたら動かなかった。
またApache2.2では「Allow from all」にしないとまったく動かなかった。

メインねたでもある写真とそのハンドリングをおくディレクトリーは
ブログ自体の実験もありココログのエイリアスとして「D:\coco」というディレクトリーなのだが


Alias /inaj/ "D:/coco/"

<Directory "D:/coco">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from localhost 127.0.0.1
Allow from 192.168.0.0/32
</Directory>


でうまくアクセスできるようになった。
このコンビネーションで
たとえばFlashからのファイル操作やswf自体の動的な生成などもできるようになった。

ApacheではなくてPHPが主目的なので
現環境はあくまでNetBSD立ち上げ時にクライアントPCからアクセスして
メンテナンスをはじめとしてなんでもできる基本といえる。

PHPにこだわる必要もなくpythonやperlでもいいような気もするが
PHPはバランスもいいしソース解析後の動作は速そうなので期待しているわけだ。

低レベルプログラミングやAPIベースのプログラミングと真逆の世界だが
低レベル部分を「コア部分」に集中して上位部分はコンテンツに集中できるので
当分その路線でいこうと思っている。


posted by Xo_ox at 23:27| Comment(2) | サーバーサイド手習い | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
はじめまして。
同じく こけました・・・apache2.2 + php5.2.1 はぁ。何が原因なのかわからず、探索だけで2日。もう、諦めようかと、私も;;;
Posted by apro at 2007年02月13日 18:40
仕様の問題です。

最新版にこだわらず安定版を狙うのが無難です。
そもそも違いが分からないし
PHP自体でもサーバーを作れるのでApacheは2.0でもいいかなというのが現状です。
Posted by ×○_○× at 2007年03月19日 20:02
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。