1. 程式人生 > >http訪問svn linux伺服器環境搭建及一些問題解決

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 

CentOS.

二、安裝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使用者密碼確定即可完成訪問。

整個流程結束