Mac OS X 10.5.5でユーザごとのCGI設定

以下、すべて10.5.5でのお話し。
ネットをうろうろしている限り、httpd.confの場所は、
OSのバージョンによって異なるのかもしれない
(/private/etc/httpdとか/etc/httpdとか)。

前提知識

apacheの起動/停止
りんごマークメニューの[システム環境設定]-[共有]-[Web共有]が
apacheを表すようだ。
このチェックボックスをONで起動、OFFで停止。

▼ドキュメントルート

/Library/WebServer/Documents

ここにファイル、例えばsample.htmlを置くと、
http://xxx.xxx.xxx.xxx/sample.html
で見れる。

▼ルートcgi-bin

/Library/WebServer/CGI-Executables

ここにファイル、例えばprintenv.cgiを置くと、
http://xxx.xxx.xxx.xxx/cgi-bin/printenv.cgi
で見られる。

デフォルトでは拡張子.cgiのみ許される設定。

この設定は/private/etc/apache2/httpd.confに書かれている。

▼ユーザルート

/Users/{ユーザ名}/Sites

例えば、ユーザ名がpenguinwatcherなら

/Users/penguinwatcher/Sites

ここにファイル、例えばsample.htmlを置くと、
http://xxx.xxx.xxx.xxx/~penguinwatcher/sample.html
で見れる。

ユーザごとのCGI設定

httpd.confは

/private/etc/apache2

に存在する。
ただし、ユーザごとの設定はさらにこのディレクトリ内の
usersディレクトリで行うようだ。
ユーザ名がpenguinwatcherの場合、

/private/etc/apache2/users/penguinwatcher.conf

というコンフィグファイルがある。

http://xxx.xxx.xxx.xxx/~penguinwatcher/cgi-bin/printenv.pl
のようにユーザルート配下のURLでcgiを配置したい場合
かつ
/Users/penguinwatcher/Sites/cgi-bin/printenv.pl
のようにcgiルートをユーザルート配下としたい場合、
/private/etc/apache2/users/penguinwatcher.conf
に以下のように付け加える。


AllowOverride FileInfo AuthConfig Limit
Options +ExecCGI
AddHandler cgi-script .cgi .pl .hs