伺服器:redhat版本為6.4
1.安裝
yum install httpd -y
yum install subversion -y
yum install mod_dav_svn -y
2.svn倉庫
利用之前建立好的庫
見http://blog.csdn.net/tshangshi/article/details/47727919
3.apache相關配置(配置檔案/etc/httpd/conf/httpd.conf)
3.1檢查svn是否與apache相容
# vim /etc/httpd/conf/httpd.conf
查找檔案中是否增加了
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
兩行資訊,并且檢視/etc/httpd/modules 下是否有mod_dav_svn.so和mod_authz_svn.so 檔案
若modules裡沒有則安裝有問題,要重新安裝
若配置檔案裡沒有,則加上以上兩行
3.2添加apache的svn支援子產品,在配置檔案最後添加
<Location /svn>
DAV svn
SVNPath /home/svn/repository/test
AuthType Basic #連接配接類型設定 基本驗證
AuthName "welcome to svn"
AuthUserFile /home/svn/repository/passwd
AuthzSVNAccessFile /home/svn/repository/test/conf/authz
Require valid-user #"Require valid-user"告訴apache在authfile中所有的使用者都可以通路。如果沒有它,則隻能第一個使用者可以通路建立庫
</Location>
ps:
SVNParentPath:支援多個具備相同父目錄的Subversion版本庫。
SVNPath:隻支援一個父目錄的Subversion版本庫
SVNParentPath:svn庫的根目錄
SVNPath:svn庫的具體路徑
4.設定控制使用者和密碼
htpasswd -cm /home/svn/repository/passwd svn
htpasswd -m /home/svn/repository/passwd test
5.設定對應使用者的權限
利用了之前的權限控制檔案/home/svn/repository/test/conf/authz
也可以另外進行配置,但路徑必須和/etc/httpd/conf/httpd.conf裡的 AuthzSVNAccessFile配置保持一緻。
6.啟動服務
6.1 啟動svn服務
svnserve -d -r /home/svn/
6.2 apache服務重新開機
server httpd restart
6.3 apache服務開機自啟動
chkconfig httpd on
7.檢查防火牆
iptables -F (清空)
iptables -L (顯示内容)
getenforce (檢視selinux狀态)
setenforce 0 (把selinux狀态臨時設定為Permissive)
ps:如果為Enforcing,可能導緻一直彈出輸入密碼,無法正常進入并顯示結果
8.驗證
在浏覽器裡輸入127.0.0.1/svn,彈出驗證框

輸入對應使用者名、密碼後正常顯示則配置成功