2007年10月26日 星期五

apache2 + svn + virtual host + mysql auth

之前寫過一篇類似的文章,可是在apache 2.0 好像沒有辦法跟 Virtual Host相處融洽,不知道是設定錯了還是怎樣
後來升級到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 !

沒有留言:

Related Posts Plugin for WordPress, Blogger...