2007年9月5日 星期三

apache2 + svn + virtual host

*** 修改 ***
此篇方法會導致部份 svn 指令失敗,需要修正!
*************
apache2中要使用svn功能
可以先參考 Gentoo的文件 http://gentoo-wiki.com/HOWTO_Apache2_with_subversion_SVN_and_DAV

我設定如下:
<Location>
DAV svn
#SVNPath /var/svn/repos
SVNParentPath /var/svn
SVNListParentPath on
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /var/svn/conf/svnusers
AuthzSVNAccessFile /var/svn/conf/svnaccessfile
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
權限設定檔svnaccessfile:
[groups]
admin = ppc52776
ptms = simi
wrms = simi

[/]
* = r
@admin = rw

[osc:/]
ppc52776 = rw

[PTMS:/]
@ptms = rw

[WRMS:/]
@wrms = rw

安裝完以後,連結網址是: http://localhost/svn/xxxx

但是我希望可以是virtualhost的方式,例如 http://svn.ppcsite.info 就可以直接連接到 svn
目前想到的方法是用 apache2 的 mod_rewrite 去作修改
<VirtualHost *:80>
ServerName svn.ppcsite.info
DocumentRoot /var/svn
ReWriteEngine on
ReWriteCond %{REQUEST_URI} !^/svn.*
RewriteRule /(.*) /svn/$1/ [PT]
</VirtualHost>
ReWriteCond 是為了避免 http://svn.ppcsite.info/svn/osc 變成 http://svn.ppcsite.info/svn/svn/osc
RewriteRule 後面的 [PT] 似乎就市直接把網址導過去,不加的話會變成 /svn/svn/svn/svn/...../svn/

沒有留言:

Related Posts Plugin for WordPress, Blogger...