Gentooのapacheのconfを書き直す
apache2のconfがだいたい4年以上前に書いたモノだったため、うまくSSLが動作しないようなので、1から書き直すことにした。
躓いた点をいくつか…。
なお、apacheのバージョンはapache 2.2.9である。
まず、インストールしたての設定ファイルでスタートさせるとこんな状態に…
# /etc/init.d/apache2 startno 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を必要に応じて編集する。
コメントする