apacheでイッテみた。

前記事はこれ→実に久しぶりにオセロを弄る。
以前apacheによるHTTPサーバーの設置はしたことがあったのですぐにできた。



わけない。



すっかり忘れていた。

えっと。。。好きな場所でCGI動かすにはどうしたらいいんだっけ?
ってなってたので、ココにメモ。

環境 (と実行方法)

Cygwinをフルインストール。
デフォルトでは、/etc/apache/httpd.confを弄る。
サーバー起動時は

$ /usr/sbin/apachectl start
/usr/sbin/apachect1 start: httpd started

停止は

$ /usr/sbin/apachectl stop
/usr/sbin/apachect1 start: httpd stopped

本当はapache2を使いたかったんだが、Cygrunsrvでいろいろやらねばならない感じだったので諦め。

設定

httpd.confの390行ちょっと位のトコロを以下のようにする。

<Directory "/var/www/htdocs">
  ・
  ・
  ・
  # Options Indexes FollowSymLinks MultiViews  ここコメントアウトして下に
  Options Indexes FollowSymLinks MultiViews ExecCGI #を加える。
  ・
  ・
  ・
</Directry>

これで、htdocs以下のどこでもCGIが実行できる。

しかしこれだけだと不便。
何がって、cgi拡張子しかCGIと認識してくれないため。


この環境下で.rbや.plのファイルにアクセスすると、ソースコードをtext/planeとしてベロッと吐き出してしまう。


なんで、同じファイルの857行目ぐらいのココ

    #AddHandler cgi-script .cgi ここをコメントアウトして
    AddHandler cgi-script .cgi .pl .rb # この行を加える。

こうすると、.plや.rbファイルもCGIとしてapache君が認識してくれる。

意外だった

CGIプロセスをみると・・・実行してるのが自分になってる・・・nobodyじゃない。
なぜ?localhostでアクセスするときはそんなものなのかな?


しかしまあ

意外と時間かかってしまった。。。。
これだったらCUIの方が・・・いや考えなかったことにしよう。


さすがにapacheのconfファイルのシンタックスハイライトは無いみたいですね。