一 前提:
現有的svn已經支持svn協議,並且版本庫、賬戶和權限已設置好。這些步驟就不說了,詳情請查看小編另一篇播客()效果如下圖:
二 服務器環境:1 centOS 7
2 可上網
三 操作步驟:
1 安裝Apacheyum install httpd
設置開機啓動
chkcofing httpd on
啓動Apache
service httpd start
查看Apache版本
httpd -version
2 安裝Apache支持服務
yum install mod_dav_svn mod_auth_mysql
查看是否安裝成功cd /etc/httpd/modules/
如果有mod_dav_svn.so 和 mod_authz_svn.so模塊,如果有,則說明mod_dav_svn安裝成功
httpd:httpd: Could not reliably determine the server's fully qualif domain name, using ::1 for ServerName
解決辦法:
vi /etc/httpd/conf/httpd.conf #編輯
ServerName www.example.com:80 #去掉前面的註釋
:wq! #保存退出
3 配置http協議認證文件
htpasswd -c /var/svn/svntest/http_passwd username
根據提示輸入兩次密碼即可。
因爲http協議和svn協議使用的認證文件編碼格式不同,所以不能共用一套認證文件。
注意:/var/svn/svntest是我的數據倉庫目錄,http_passwd是我創建的認證文件名稱。username是我創建的第一 個用戶,因爲是第一個用戶,所以需要加-c,以後創建賬戶不需要加-c命令。
vi /etc/httpd/conf/httpd.conf #編輯ServerName www.example.com:80 #去掉前面的註釋
:wq! #保存退出
4 設置Apache配置與文件
vi /etc/httpd/conf.d/subversion.conf
<Location /svn>
DAV svn
#SVNPath /home/svn
SVNParentPath /var/svn
# # Limit write permission to list of valid users.
# <LimitExcept GET PROPFIND OPTIONS REPORT>
# # Require SSL connection for password protection.
# # SSLRequireSSL
#
AuthType Basic
AuthName "Authorization SVN"
AuthzSVNAccessFile /var/svn/svntest/conf/authz
AuthUserFile /var/svn/svntest/conf/svn_http_passwd
Require valid-user
# </LimitExcept>
</Location>
說明:DAV爲svn支持文件,svnpath爲svn版本庫目錄,只有一個版本庫時使用svnpath,如果有多個版本時使用 svnparentpath和svnlistparentpath配合使用;AuthaSVNAccessFile爲權限文件目錄,跟svn協議共同使用一個 權限文件即可;AuthUserFile爲用戶認證文件,填入第3步配置的認證文件目錄;Require爲用戶是否需要驗證。
5 爲Apache設置目錄權限
chown apache:apache /var/svn/svntest -R
爲Apache設置數據倉庫的所有者權限
重啓Apache服務
service httpd restart
Windows下使用svn協議訪問svn服務器
http://192.168.22.230:80\svn\svntest
地址拼接:http://+ip+端口號+Apache配置文件中Location節點名稱+數據倉庫
Windows下使用http協議在svn客戶端訪問服務器
四 總結
支持http協議以後,就可以在公網訪問svn服務器,只要有網,我們就可以隨時隨地訪問服務器,實現即時辦公