《Linux-SVN實現http訪問》

小霸王_30037863發表於2020-12-08

1、檢視Apache服務是否安裝

rpm -qa | grep httpd

2、安裝Apache服務

yum install httpd

3、檢視Apache版本

httpd -v

4、啟動關閉Apache服務

service httpd start
service httpd stop

5、更改Apache配置檔案

vi /etc/httpd/conf/httpd.conf

5-1、如果有nginx服務 ,請將 Listen 80 改為 Listen 81 或其它埠號
5-2、ServerName ip:81

6、安裝svn模組

6-1、檢視httpd是否已經安裝的svn模組

ls /etc/httpd/modules/ | grep svn

6-2、安裝svn模組

yum install mod_dav_svn

7、建立版本庫

/home/svn/repo

8、建立賬號密碼認證

htpasswd -cm  /home/svn/repo admin
htpasswd -m  /home/svn/repo dev

第一次建立引數c,以後建立不需要了

9、配置apache的認證

vim /etc/httpd/conf.d/subversion.conf

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNListParentPath on
SVNParentPath /home/svn/test
#<LimitExcept GET PROPFIND OPTIONS REPORT>
        AuthType Basic
        AuthName "Authorization"
        AuthUserFile /home/svn/test/passwd.http.conf
        AuthzSVNAccessFile /home/svn/test/authz.http.conf
        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"請求時 使用"/data/svn"路徑下相應的內容
AuthName 表示輸入使用者名稱和密碼時的提示資訊
AuthType 認證型別 這裡我們使用基本的認證型別
AuthUserFile 表示認證檔案的位置 我們待會建立它
LimitExcept 節點指示只對寫請求需要使用者認證

10、許可權配置啟動

chown -R apache:apache /home/svn/test/

-R 會將我們新建倉庫資料夾及其子目錄下的所有檔案遞迴的更改使用者組
apache:apache表示我們要將資料夾及其子目錄下的所有檔案修改組擁有著為apache,使用者為apache
url 修改的資料夾路徑

啟動Apache服務

service httpd restart

11、登陸svn

http://ip:81/svn

相關文章