ApacheのWebサーバとしての機能を使って画像やHTMLなどを掲載したいときにどうすればいいかを調べる。
htdocsの場所
- TRAC_ROOT\trac\htdocs
- ここはログインしなくても見れるドキュメントなどを置ける。アクセスは以下のURLでOK。ex.http://DOMAIN:PORT/trac/draft.pnggg
- TRAC_ROOT\apache\htdocs
- ここもログインしなくても見れてしまう。ex.http://DOMAIN:PORT/favicon.ico
- TRAC_ROOT\trac_repo\projects\PROJECT_NAME\htdocs
- 置いてもみれない。なぜに?
アクセス制御をかける
デフォルトではapacheのhtdocsもtracのhtdocsもアクセスできちゃうので、apacheで設定してしまう。
httpd.confの設定
まずはトップディレクトリを以下に変更。
<Directory /> Order Deny,Allow Deny from All</Directory>
これはapacheのマニュアルにも載っている。
そして、trac/htdocsにアクセス制御をかけて、Basic認証が通っていないとだめー!にする。
<Directory "TRAC_ROOT/trac/htdocs"> Options Indexes MultiViews AllowOverride None Order Deny,Allow AuthType Basic AuthName "TracProject Authentication" AuthUserFile "TRAC_ROOT/svn_repo/projects/trac.htpasswd" Require valid-user</Directory>
これで、Basic認証をとおっていないと401となるようになった。あとは、このhtdocsにがんがんドキュメントを置くべし。