[EPA2008b]EPAサーバのHiki 領域に関する設定
2009/2/20 時点で, apache の設定ファイル /usr/local/apache2/conf/httpd.conf における Hiki 領域の設定が 「各領域の .htaccess による設定の上書きをすべて許可する」状況になっていたので, スクリプトの実行のみを許可するように変更した. しかし, apache がうまく作動せず Hiki が使用不能になったため, 別の設定に変更してある. 原因を正確に把握できていないため, 事故の経緯と 2009/3/28 現在 apache で 有効にしている Hiki 領域に関する設定を記す.
事故の経緯 (2009/2/20)
ika の apache の設定ファイル /usr/local/apache2/conf/httpd.conf 内の Hiki 領域に関する設定項目 "Setting for Hiki area" にて, <Directory> タグ内を
AllowOverride All -> AllowOverride Options=ExecCGI
と書き換えた. 具体的には,
# # Setting for Hiki Area # <Directory "/home/epalab/public_html/hiki"> AllowOverride Options=ExecCGI </Directory> <Directory "/home/itpass/public_html/hiki"> AllowOverride Options=ExecCGI </Directory> <Directory "/home/cps/public_html/for-steering/hiki-wheel"> AllowOverride Options=ExecCGI </Directory>
である. 書き換え後にapache を再起動したが Hiki のページを表示できなくなった. その時は, 佐々木さんが <Directory> タグ内を
AllowOverride FileInfo AuthConfig Limit Indexes Options=ExecCGI,FollowSymlinks
と書き換え apache を再起動する事で再び Hiki を使えるようになった.
エラーログ
原因を知るため, httpd のエラーに関するログを調べた. 2009/2/20 の Hiki が使用不能になった時間帯 18:50-20:30 から "alert" と表示されている行を検索した. 以下に示すのは検索結果のうち, エラーの種類1 種類につき1 例のみ抜き出したものである.
- httpd-error.log.6.gz
[Fri Feb 20 18:54:42 2009] [alert] [client 133.30.109.47] /home/cps/public_html/for-steering/hiki-wheel/.htaccess: AddHandler not allowed here [Fri Feb 20 19:45:36 2009] [alert] [client 133.30.109.46] /home/cps/public_html/for-steering/hiki-wheel/.htaccess: DirectoryIndex not allowed here
- httpd-ssl-error.log.6.gz
[Fri Feb 20 18:51:07 2009] [alert] [client 133.30.109.22] /home/epalab/public_html/hiki/.htaccess: Option FollowSymLinks not allowed here, referer: http://epa.scitec.kobe-u.ac.jp/ [Fri Feb 20 19:28:48 2009] [alert] [client 133.30.109.48] /home/epalab/public_html/hiki/.htaccess: DirectoryIndex not allowed here, referer: http://epa.scitec.kobe-u.ac.jp/ [Fri Feb 20 19:31:48 2009] [alert] [client 133.30.109.48] /home/epalab/public_html/hiki/.htaccess: Illegal option DirectoryIndex, referer: http://epa.scitec.kobe-u.ac.jp/ [Fri Feb 20 19:36:44 2009] [alert] [client 133.30.109.48] /home/epalab/public_html/hiki/.htaccess: deny not allowed here, referer: http://epa.scitec.kobe-u.ac.jp/ [Fri Feb 20 19:42:47 2009] [alert] [client 133.30.109.48] /home/epalab/public_html/hiki/.htaccess: AuthType not allowed here
httpd.conf の Hiki 領域に関する設定内容 (2009/3/28 現在)
5 箇所の Hiki 領域 ~epalab/hiki , ~itpass/hiki, ~itpass/hiki-secret, ~cps/for-steering/hiki, ~/tansaku/hiki では, 以下の設定を .htaccess により 上書きすることが許可されている.
- FileInfo (ディレクトリ表示)
- AuthConfig (認証に関するディレクティブの設定)
- Limit (ホスト名や IP アドレスによるアクセス制御)
- Indexes (クライアントから指定されたファイルが存在しない場合に, ディレクトリ一覧を表示する)
- Options=ExecCGI,FollowSymlinks (CGI スクリプトの実行を許可, リンク先への移動を許可)
以下に httpd.conf の Hiki 領域に関する設定を示す.
# # Setting for Hiki Area # <Directory "/home/epalab/public_html/hiki"> AllowOverride FileInfo AuthConfig Limit Indexes Options=ExecCGI,FollowSymlinks </Directory> <Directory "/home/itpass/public_html/hiki"> AllowOverride FileInfo AuthConfig Limit Indexes Options=ExecCGI,FollowSymlinks </Directory> <Directory "/home/itpass/public_html/hiki-secret"> AllowOverride FileInfo AuthConfig Limit Indexes Options=ExecCGI,FollowSymlinks </Directory> <Directory "/home/cps/public_html/for-steering/hiki-wheel"> AllowOverride FileInfo AuthConfig Limit Indexes Options=ExecCGI,FollowSymlinks </Directory> <Directory "/home/tansaku/public_html/hiki"> AllowOverride FileInfo AuthConfig Limit Indexes Options=ExecCGI,FollowSymlinks </Directory>
5 箇所の Hiki 領域 ~epalab/hiki , ~itpass/hiki, ~itpass/hiki-secret, ~cps/for-steering/hiki, ~/tansaku/hiki では, 以下の設定に関して .htaccess による上書きが 許可されている.
- FileInfo (ディレクトリ表示)
- AuthConfig (認証に関するディレクティブの設定)
- Limit (ホスト名や IP アドレスによるアクセス制御)
- Indexes (クライアントから指定されたファイルが存在しない場合に, ディレクトリ一覧を表示する)
- Options=ExecCGI,FollowSymlinks (CGI スクリプトの実行を許可, リンク先への移動を許可)
.htaccess の設定内容 (2009/3/28 現在)
以下に 各 Hiki 領域における .htaccess の内容を示す.
- /home/epalab/hiki/cgi/.htaccess
Options +ExecCGI Options +FollowSymLinks AddHandler cgi-script .cgi DirectoryIndex hiki.cgi AuthType Basic AuthName "EPA-Lab. Hikiwiki" AuthUserFile /home/epalab/.htpasswd-hiki Require user hogehoge <Files "hikiconf.rb"> deny from all </Files>
- /home/itpass/hiki/cgi/.htaccess
Options +ExecCGI Options +FollowSymLinks AddHandler cgi-script .cgi DirectoryIndex hiki.cgi <Files "hikiconf.rb"> deny from all </Files>
- /home/itpass/hiki-secret/cgi/.htaccess
Options +ExecCGI AddHandler cgi-script .cgi DirectoryIndex hiki.cgi <Files "hikiconf.rb"> deny from all </Files> AuthType Basic AuthName "ITPASS secret-Hikiwiki" AuthUserFile /home/itpass/.htpasswd-hiki-secret Require user itpasspass
- /home/cps/for-steering/hiki/cgi/.htaccess
Options +ExecCGI AddHandler cgi-script .cgi DirectoryIndex hiki.cgi <Files "hikiconf.rb"> deny from all </Files> Options +FollowsymLinks
- /home/tansaku/hiki/cgi/.htaccess
Options +ExecCGI AddHandler cgi-script .cgi DirectoryIndex hiki.cgi <Files "hikiconf.rb"> deny from all </Files> Options +FollowSymLinks
Hiki ページの修正
今回の設定変更を Hiki のページに反映させるため, [EPA2008b]apache2のインストールと設定 のページを一部修正. 変更点を以下に示す.
1. 設定ファイルの編集 項目の Hiki 領域の設定に関する記述を変更.
2. httpd.conf と オリジナルとの変更点で, diff の出力結果を更新.
3. [EPA2008b]Hikiのページ毎の基本設定#ファイルへのアクセス制御の設定 項目の <Directory> タグ内を変更.
Keyword(s):
References: