#blognavi
最近、perlがマイブーム。

CGIをgentooで動かそうと思ったら、
ちょっとはまった。やりたいのは、ユーザディレクトリでCGIを動かす。つまり、public_html/cgi-binでCGIを動かしたい。

罠は2つ。1つはUSERDIRとSUEXEC。

ユーザーディレクトリ以下で動かすための設定は
/etc/apache/module.d/00_mod_userdir.confに書いてある(この時点で昔と違う!)。

この中で、USERDIRとSUEXECがIfDefineで定義されている。そのため、これらを有効にすればよい。


まず、USERDIRを有効にするためには、/etc/conf.d/apache2の中で定義されている
APACHE2_OPTSという変数に追加すればよい。

APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D SUEXEC -D LANGUAGE"
APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D SUEXEC -D LANGUAGE -D USERDIR"

次に、SUEXECだが、これは上のオプションだけでは無理で、USE変数に追加する必要がある。

emerge -v -p apacheで確認すると-suexecになっているため、USE変数に追加して再ビルド。

USE="suexec" emerge apache

これでOK。

あとは、public_html/cgi-bin以下にCGIスクリプトを置けば、~ユーザー名/cgi-bin/test.cgi
のようにアクセスできる。







カテゴリ: [日記] - &trackback() - 2011年02月28日 00:48:21
名前: コメント:
#blognavi
最終更新:2011年02月28日 01:00