後來升級到apache 2.2以後,想說在來試試看,結果竟然可以用了說
另外還可以結合 mod_auth_mysql ,實現 apache 透過 mysql 認證
下面LimitExcept定義只要屬於這個 Location 都必須要是 valid-user ,間接也達到認證目的
mysql 中只要定義 user_name 和 encrypt 加密的 user_passwd 即可
請看下面的設定
<VirtualHost *:80>
ServerName svn.xxx.xxx
DocumentRoot /tmp
<Directory /tmp>
Allow from all
</Directory>
<Location />
DAV svn
#SVNPath /var/svn/repos
SVNParentPath /var/svn
SVNListParentPath on
AuthType Basic
AuthName "Subversion repository"
#setting authfile to /dev/null stop apache error log
AuthUserFile /dev/null
AuthzSVNAccessFile /var/svn/conf/svnaccessfile
#mysql
AuthBasicAuthoritative Off
AuthMySQLUser apacheauth
AuthMySQLPassword apache
AuthMySQLDB auth
AuthMySQLUserTable users
AuthMySQLNameField user_name
AuthMySQLPasswordField user_passwd
# <LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
# </LimitExcept>
</Location>
</VirtualHost>
這樣以後只要用 http://svn.xxx.xxx/rep_name 就可以看到相對應的 svn 資料庫
不用像之前 http://svn.xxx.xxx/svn/rep_name 連結上比較 make sense !