基於 CentOS 7 搭建支援 HTTP 協議的 SVN 伺服器
前提條件:
請先關閉防火牆或者selinux,當然你也可以進行相應的配置,讓某些埠通過
我比較暴力,採用關閉處理
systemctl disable firewalld systemctl stop firewalld
disable是讓其不下次開機啟動,stop是結束它。
對於selinux
改/etc/selinux/config檔案的”SELINUX=enforcing”為”SELINUX=disabled”
然後執行”setenforce 0″不用重啟地關閉selinux
一、安裝相應的軟體
#svn伺服器 yum install subversion #apache伺服器,讓我們的svn 伺服器支援http協議訪問,而不僅是svn://協議 yum install httpd #apache操作svn模組 yum install mod_dav_svn
二、相應的配置
1、建立倉庫
預設安裝的svn伺服器的根倉庫(root repository)為/var/svn,所以我們在這個目錄建立我們的倉庫
svnadmin create repo1
將建立/var/svn/repo1 目錄,在repo1目錄下有相應的配置檔案
2、倉庫配置
/var/svn/repo1/conf下的三個配置檔案的作用為
svnserve.conf :存放svn伺服器的認證授權策略:比如匿名可讀,認證的使用者可寫,以及指定相應的使用者資訊儲存位置(passwd)和認證規則檔案的位置(authz)
passwd:使用者資訊儲存檔案,以username=password鍵值對的方式儲存
authz:認證規則
注意 鍵值對的等號(=)前後的空格
對於svnserve.conf,取消以下行的註釋即可
anon-access = read auth-access = write password-db = passwd authz-db = authz
對於passwd,新增一個使用者
root = 123456
對於authz,新增如下資訊:
[repo1:/] root = rw * = r
表示root具有讀寫許可權,’*’任何人都能讀,如果沒有這個配置,那麼檢視log會報異常。
3、測試
啟動伺服器:
systemctl start svnserve.service
使用tortoiseSVN, svn://ip/repo1 ,如果能正常訪問,那麼配置OK,
三、Http訪問方式的配置
httpd的預設的配置檔案為/etc/httpd/conf/httpd.conf
1、先備份一下,防止改錯:
cp httpd.conf httpd.conf.bak
2、修改
找到檔案的’LoadModule’
在該附近載入mod_dav和mod_dav_svn模組的配置:
LoadModule dav_module modules/mod_dav.so LoadModule dav_svn_module modules/mod_dav_svn.so
在該檔案的結尾處新增如下配置
<Location /svn> DAV svn SVNParentPath /var/svn # Authentication: Basic AuthName "Subversion repository" AuthType Basic AuthUserFile /etc/httpd/svn-auth.htpasswd # Authorization: Authenticated users only <LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user </LimitExcept> </Location>
“<Location /svn>”中的”/svn”表示我們的svn的訪問URL為”http://ip/svn”,
“DAV svn”表示使用”mod_dav_svn”模組,dav是一種http 1.1擴充套件協議,mod_dav_svn只是該協議的一種應用。
“SVNParentPath /var/svn”表示服務”http://ip/svn”請求時,使用”/var/svn”路徑下相應的內容。
AuthName 表示輸入使用者名稱和密碼時的提示資訊
AuthType 認證型別,這裡我們使用基本的認證型別
AuthUserFile 表示認證檔案的位置,我們待會建立它。
LimitExcept節點指示只對寫請求需要使用者認證。
3、建立svn-auth.htpasswd 檔案
htpasswd -c -m /etc/httpd/svn-auth.htpasswd root
按提示輸入兩次密碼,我們就建立了一個’root’,
4、讓apache使用者對”/var/svn/repo1″目錄擁有寫許可權。
httpd以apache使用者啟動的,所以我們要讓其擁有對”/var/svn/repo1″的寫許可權。由於我的環境的”/var/svn/repo1″的擁有者是”root:root”,所以我將apache加入到root組中,讓回讓root組也擁有許可權來解決的。
#將使用者apache加入root組 usermod -a -G root apache #讓group對/var/svn/repo1目錄也有寫許可權 chmod -R g+w /var/svn/repo1 #檢視apache使用者屬於的組 groups apache
5、測試
systemctl start httpd.service
現在就可以通過”http://ip/repo1″來訪問我們的svn 伺服器了
提示:
httpd 的錯誤日誌檔案為/var/log/httpd/error_log,如果出現問題,隨時檢視該檔案獲得提示。
參考文獻:
http://svnbook.red-bean.com/en/1.7/svn.serverconfig.httpd.html
相關文章
- 基於HTTP的功能追加協議HTTP協議
- 基於 CentOS 7 + Nginx + Tomcat 的負載均衡伺服器的搭建CentOSNginxTomcat負載伺服器
- 基於QUIC協議的HTTP/3正式釋出!UI協議HTTP
- HTTP協議基礎HTTP協議
- 輕鬆讓你的nginx伺服器支援HTTP2協議Nginx伺服器HTTP協議
- 基於 CentOS 8 搭建 openLDAP 伺服器CentOSLDA伺服器
- 基於Http協議的軟體自動升級HTTP協議
- svn透過https協議訪問的搭建過程HTTP協議
- iOS開發 - Mac下搭建基於rtmp協議的ngnix本地伺服器iOSMac協議伺服器
- Go Module 支援 HTTP 協議的私有庫方案GoHTTP協議
- 基於TCP/UDP的Socket程式設計,HTTP/HTTPS協議TCPUDP程式設計HTTP協議
- 詳解基於Centos7+Nginx+Tomcat8的負載均衡伺服器的搭建CentOSNginxTomcat負載伺服器
- WEB伺服器之HTTP協議Web伺服器HTTP協議
- Web基礎與HTTP協議WebHTTP協議
- WEB基礎及HTTP協議WebHTTP協議
- Linux(centos)搭建SVN倉庫LinuxCentOS
- ubuntu centos搭建版本控制svnUbuntuCentOS
- 02 前端HTTP協議(圖解HTTP) 之 簡單的HTTP協議前端HTTP協議圖解
- 如何實現IIS 7.0對非HTTP協議的支援HTTP協議
- 搭建SVN伺服器伺服器
- centos7搭建DNS伺服器CentOSDNS伺服器
- Centos7搭建NFS伺服器CentOSNFS伺服器
- 關於 HTTP 協議中的 keep-aliveHTTP協議Keep-Alive
- 雲主機centos7搭建基於docker的hadoop叢集CentOSDockerHadoop
- http協議HTTP協議
- HTTP 協議HTTP協議
- centos7搭建基礎dockerCentOSDocker
- 使用阿里雲映象站NTP服務搭建NTP伺服器(基於CentOS 7系統)阿里伺服器CentOS
- 客戶端和伺服器透過http協議基於》》tcp協議,經過三次握手進行socket連線客戶端伺服器HTTP協議TCP
- 關於SVN伺服器的環境搭建及使用(轉)伺服器
- 基於HTTP協議的幾種實時資料獲取技術HTTP協議
- 基於Apache搭建HTTP HTTPS 正向代理 反向代理伺服器ApacheHTTP伺服器
- 怎麼解決Centos下nginx支援https協議CentOSNginxHTTP協議
- LAMP-CentOS7搭建Web伺服器LAMPCentOSWeb伺服器
- Centos 7 搭建postfix郵件伺服器CentOS伺服器
- CentOS 7 搭建 TeamSpeak3 伺服器CentOS伺服器
- 關於Http協議,你必須要知道的HTTP協議
- 基於滴滴雲 CentOS 伺服器搭建 Nexus Maven 私庫CentOS伺服器Maven
- 前端基礎之HTTP協議介紹前端HTTP協議