IT pass HikiWiki - [EPA2008b]EPAサーバのHiki 領域に関する設定 Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

{{toc}}
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. ((<設定ファイルの編集|[EPA2008b]apache2のインストールと設定#設定ファイルの編集>)) 項目の Hiki 領域の設定に関する記述を変更.

2.  ((<httpd.conf|[EPA2008b]apache2のインストールと設定#設定ファイルの編集#httpd.conf の diff>)) と オリジナルとの変更点で, diff の出力結果を更新.

3. ((<[EPA2008b]Hikiのページ毎の基本設定#ファイルへのアクセス制御の設定>)) 項目の <Directory> タグ内を変更.