2008年12月 7日

Gentooのapacheのconfを書き直す

apache2のconfがだいたい4年以上前に書いたモノだったため、うまくSSLが動作しないようなので、1から書き直すことにした。
躓いた点をいくつか…。

なお、apacheのバージョンはapache 2.2.9である。

まず、インストールしたての設定ファイルでスタートさせるとこんな状態に…

# /etc/init.d/apache2 start

no listening sockets available, shutting down
Unable to open logs
#

これは、以前までvhostを使わずに、http.confに全てを書き込んでいたために生じる問題である。
どうやら2.2以降のgentoo用apacheは、デフォルトサーバの動作を/etc/apache2/vhosts.d/00_default_vhost.confおよびそこにinclude指示がある/etc/apache2/vhosts.d/default_vhost.includeに記述し、デフォルトのvhostとして動作させる仕様のようだ。
しかし、ここを正しく記述したとしても、このデフォルトvhostの設定を有効にしなければならない。

有効にするには、/etc/conf.d/apache2に次の記述を行う

APACHE2_OPTS="-D DEFAULT_VHOST $APACHE2_OPTS

なお、$APACHE2_OPTSはもしすでに何らかの形でAPACHE2_OPTSに変数が入っていた場合、それを引き継ぐ形でここに代入してくれるものだ。

あとは、上記デフォルトvhostに関わる2ファイルを煮るなり焼くなりする。

しかし、この状態ではたとえOptions ExecCGIを入れたとしても、perlなどで書かれたスクリプトが動作しない。
(なぜかC言語で書かれたCGIは動作する。不思議?)

これを直すには、/etc/apache2/modules.d/00_mod_mime.confにハンドラー記述を追加(コメントアウトを外す)する。
ねんのため、plファイルも追加

#AddHandler cgi-script .cgi
AddHandler cgi-script .cgi .pl

(SSIなんかも必要に応じてコメントアウトを外すと良い)


以上で通常動作に耐えうるのではなかろうか?
なお、SSLを使うには、/etc/conf.d/apache2を

APACHE2_OPTS="-D DEFAULT_VHOST -D SSL -D SSL_DEFAULT_VHOST $APACHE2_OPTS"

として、あとは/etc/apache2/vhosts.d/00_default_ssl_vhost.confを必要に応じて編集する。

トラックバックURL

このエントリーのトラックバックURL:
http://nns-fact.2y.net/mt/mt-tb.cgi/124

コメントする


画像の中に見える文字を入力してください。