http訪問svn linux伺服器環境搭建及一些問題解決
安裝httpd服務/svn服務
一、安裝apache
# yum install httpd httpd-devel
# service httpd start
# chkconfig httpd on
# vi /etc/httpd/conf/httpd.conf
找到 ServerName 並釋放註釋修改成
ServerName localhost:80
防火牆中開啟80埠:
# vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
# service iptables restart
完成以上步驟後訪問http://serverip/
如果可以返回Apache的響應頁面說明httpd已配置完成 ,顯示欄位如下(截圖太麻煩,有如下顯示即可):
Testing 123..
This page is used to test the proper operation of the Apache HTTP server after it has been installed. If you can read this page it means that this site is working properly. This server is powered by
二、安裝SVN服務
# yum install mod_dav_svn subversion
mod_dav_svn 屬httpd控制svn模組,必須安裝
檢視測試是否安裝mod_dav_svn 模組
# ls /etc/httpd/modules/ | grep svn
mod_authz_svn.so
mod_dav_svn.so
# svn --version 顯示如下說明svn已完成安裝
[[email protected] svn]# svn --version
svn, version 1.7.14 (r1542130)
compiled Apr 11 2018, 02:40:28
建立svn庫主目錄(多庫模式,一份配置檔案管理多個庫)
# mkdir /opt/svn/test
#chown -R apache:apache /opt/svn/(注:此處一定要修改,不然會出現用http提交檔案時出現svn could not begin a transaction的錯誤,httpd沒有許可權修改root建立的目錄)
# ls /etc/httpd/conf.d
此時可以看到一個subversion.conf配置檔案(如果沒有則手動建立)
新增以下內容
# vi subversion.conf
<Location /opt/svn/>
DAV svn
SVNListParentPath on
SVNParentPath /opt/svn
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile /opt/svn/passwd.http
AuthzSVNAccessFile /opt/svn/authz
Require valid-user
</Location>
RedirectMatch ^(/opt/svn)$ $1/
建立/opt/svn/passwd.http和/opt/svn/authz
# touch /opt/svn/passwd.http
# touch /opt/svn/authz
重啟apache httpd服務
# systemctl restart httpd
三、新增使用者密碼
在/opt/svn/目錄下檢視已建立的authz 和passwd.http檔案已存在,在此路徑下執行htpasswd passwd.http testusr
輸入初始密碼確認後加入testusr使用者(此處注意一定要修改的passwd.http檔案為當前目錄檔案,不然訪問時輸入使用者和密碼無效)
新增完成後使用命令
svnserve -d -r /opt/svn 啟動svn服務後 在瀏覽器訪問 http://serverip/svn/test
會要求你輸入使用者密碼,輸入建立的testusr使用者密碼確定即可完成訪問。
整個流程結束