Subversion + Apache2 + FreeBSD6.2
タイトル通りそのまんまです。
インストールは全て Portsでしました。注意としては、devel/subversion をインストールするのではなく、devel/subversion-freebsdをインストールし、option で mod_dav_svnを有効にする事。www/apache22では、mod_davを有効にする必要もあります。authzウンタラカンタラも。
で、設定。
私の所は基本、VirtualHostで切り分けています。ですので注意点は、DocumentRoot=リポジトリでは無いと言う事ぐらいかしら。
svn と webdavの設定をする。
- DAV
- webdavのシステムタイプを指定するみたい。今回は、「svn」
- SVNParentPath
- リポジトリのあるディレクトリを指定。SVNListParentPathを参考
- SVNListParentPath
- onにすると、ParentPath一覧を表示する。つまりリポジトリが複数あると、それらを表示する。
- SVNIndexXSLT
- svnindex.xslのパスを指定すると、見栄えがかっこ良くなる。ただそれだけ。IE、Safari(v3)、火ギツネではちゃんと表示するはず。
- AuthzSVNAccessFile
- svnのリポジトリへのアクセス権限を設定できる。
以下設定例。
# $Id: yasui-svn.a-yasui.info.conf,v 1.3 2008/08/05 00:53:02 yasui Exp $ # $Date: 2008/08/05 00:53:02 $ <VirtualHost *:80> DocumentRoot /home/www/html/ ServerName yasui-svn.a-yasui.info ServerAdmin yasui@a-yasui.info CustomLog /home/yasui/svn-repos/log/access.log combined ErrorLog /home/yasui/svn-repos/log/error.log <IfDefine SVN> <Location /svn/> DAV svn SVNParentPath /home/yasui/svn-repos/repository/html/ SVNListParentPath on #Basic AuthType Basic AuthName "Yasui's projects" AuthUserFile /usr/local/etc/apache22/htpasswd AuthzSVNAccessFile /home/yasui/svn-repos/repository/svnaccess SVNIndexXSLT "/svnindex.xsl" #<LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user #</LimitExcept> </Location> </IfDefine> </VirtualHost>
参考
追記:
私のリポジトリ一覧です。ユーザ名「guest」パスワード「」(なし)でログインできます。ただ、見られてマズい所は403になります。諸事情により、ログインできなかったりリポジトリがなかったりサーバに接続できないことがあるかもしれませんが、ご了承願います。
後、いろいろソースコードがありますが、一部を除いてみれる物はBSDv2ライセンスです。一部、諸事情によりGNUライセンスの物がありますのでご注意を。
参考になれば幸い。