linux環境下實現svn服務器支持http協議

      經過兩天的努力,svn終於支持http協議來訪問了,在此做個總結,收集一下過程中的錯誤,作爲後來人的前車之鑑。

一 前提:

       現有的svn已經支持svn協議,並且版本庫、賬戶和權限已設置好。這些步驟就不說了,詳情請查看小編另一篇播客()效果如下圖:

二 服務器環境:
       1 centOS 7

       2 可上網

三 操作步驟:

    1  安裝Apache
         yum 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安裝成功


如果啓動Apache提示錯誤:
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


    6 測試

Windows下使用svn協議訪問svn服務器


Windows下使用http協議在瀏覽器訪問服務器

http://192.168.22.230:80\svn\svntest

地址拼接:http://+ip+端口號+Apache配置文件中Location節點名稱+數據倉庫


Windows下使用http協議在svn客戶端訪問服務器


四 總結

支持http協議以後,就可以在公網訪問svn服務器,只要有網,我們就可以隨時隨地訪問服務器,實現即時辦公

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章