以前 trac をインストールしたときに、mod_pythonがapache2.2に対応していなくて動かなかったが、いつのまにか mod_python 3.2.10 が出ていたので、インストールして試してみた。

httpd.conf は以下のような感じ。
    Alias /trac-static "/usr/local/share/trac/htdocs/"
    <Location /trac>
      SetHandler mod_python
      PythonHandler trac.web.modpython_frontend
      PythonOption TracEnvParentDir /var/trac
      PythonOption TracUriRoot /trac
    </Location>
    <LocationMatch "/trac/[~/]+/login">
      AuthName "trac"
      AuthType Digest
      AuthUserFile /usr/local/etc/apache22/trac.pw
      require valid-user
    </LocationMatch>
これで、/var/tracの下のtracプロジェクトの一覧が、http://www.wizard-limit.net/trac/ にアクセスすることで表示されるようになる。
tracの静的コンテンツは、/trac-static でアクセスできるようになるので、tracのプロジェクト毎の設定ファイル(trac.ini)の[trac]セクションに以下を追加しておく。
htdocs_location = /trac-static
認証のために必要なファイルは、/usr/local/etc/apache22/trac.pw(場所とファイル名はなんでも良いけど)。htdigestコマンドで作成しておく。
うちの場合、/var/tracの下の各プロジェクトのsvnリポジトリは、/var/svnの下に同名で作成することにしている。そして、dav_svn経由で /svn からアクセスできるようにしている。
その部分に間する設定は以下のような感じ。
    <Location /svn>
        DAV svn
        SVNParentPath /var/svn
        SVNIndexXSLT "/svnindex.xsl"
        AuthzSVNAccessFile /usr/local/etc/apache22/svnauth
        Satisfy Any
        Require valid-user
        AuthType Digest
        AuthName "DAV"
        AuthUserFile /usr/local/etc/apache22/digest.pw
        SetInputFilter DEFLATE
    </Location>
※ 会社マシンでは mod_auth_external を使ったが、うちでは普通にファイルを使ったdigest認証。
dav_svn特有なのは、AuthzSVNAccessFileディレクティブ。このファイルには、以下のような内容が書いてある。
[/]
false = rw
これで、digest認証を通った後で、ユーザ毎、リポジトリ毎の読み書きの権限が設定できる。上の例だと、false はすべてのリポジトリを読み書きできる。
tracやsubversionで、プロジェクトやリポジトリの一覧を表示するかどうかは、利便性とセキュリティのポリシーを天秤にかけるべきだ。
うちの場合は、tracのプロジェクトの一覧は見れるけど、リポジトリの一覧は見えないと言うちぐはぐな設定にしてある。
もしも、/svnにアクセスすることでリポジトリの一覧を見せたい場合は、Subversionリポジトリの一覧が参考になるだろう。
余談だが、上記参考サイトでは、SVNAutoversioningディレクティブをonにしている。
こうすると、svnのクライアントではなくdavのクライアントでアクセスしたときに、PUTリクエストでcommitが行えるようになるらしい。
私の場合はsvnのクライアントしか使わないので、SVNAutoversionningは使わないことにした。

カテゴリ

トラックバック(0)

このブログ記事を参照しているブログ一覧: trac と mod_python

このブログ記事に対するトラックバックURL: https://www.wizard-limit.net/cgi-bin/mt/mt-tb.cgi/1070

コメントする

このブログ記事について

このページは、falseが2006年9月10日 07:53に書いたブログ記事です。

ひとつ前のブログ記事は「新しいVAIOとNAS」です。

次のブログ記事は「openvpn」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

広告

Powered by Movable Type 6.1.1