1. 安裝 svn
[root@svn conf]#yum install subversion
[root@svn conf]# svn --version
svn, version 1.7.14 (r1542130)
compiled Apr 11 2018, 02:40:28
2.建立倉庫
#建立倉庫目錄
[root@svn ~]# mkdir -p /data/svn/repos/
[root@svn ~]# cd /data/svn/repos/
#建立svn倉庫(建立3個倉庫)
[root@svn repos]# svnadmin create base
[root@svn repos]# svnadmin create HIP
[root@svn repos]# svnadmin create remote
檢視
[root@svn repos]# ls
base HIP remote
4. 修改倉庫的配置檔案
由于使用了多個版本倉庫,是以使用者密碼和權限控制 單獨提出來。
修改base的配置檔案
[general]
anon-access=none
auth-access=write
#執行/data/svn/conf/目錄下認證授權
password-db=/data/svn/conf/passwd
authz-db=/data/svn/conf/authz
#認證命名空間 指向本地版本倉庫
realm=base
#有時候 不彈出來輸入的使用者名 密碼,需要注釋 auth-db,登入後,在修改回來重新開機。
修改HIP的配置檔案
[general]
anon-access=none
auth-access=write
#執行/data/svn/conf/目錄下認證授權
password-db=/data/svn/conf/passwd
authz-db=/data/svn/conf/authz
#認證命名空間 指向本地版本倉庫
realm=HIP
#有時候 不彈出來輸入的使用者名 密碼,需要注釋 auth-db,登入後,在修改回來重新開機。
修改remote的配置檔案
[general]
anon-access=none
auth-access=write
#執行/data/svn/conf/目錄下認證授權
password-db=/data/svn/conf/passwd
authz-db=/data/svn/conf/authz
#認證命名空間,指向本地
realm=remote
#有時候 不彈出來輸入的使用者名 密碼,需要注釋 auth-db,登入後,在修改回來重新開機。
5. 建立 認證目錄,進行權限配置。
[root@svn ~]# mkdir /data/svn/conf/
#拷貝其中一個版本倉庫的 passwd,和 authz
[root@svn ~]# cp /data/svn/repos/base/conf/{passwd,authz} /data/svn/conf/
6. 權限配置
vim /data/svn/conf/authz
[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
#建立了多個組,對項目路徑進行授權
[groups]
admin = feng
java = su,zhao
backup = li
root = root
[/]
@root = rw
[remote:/]
@java = rw
[HIP:/]
@admin = rw
[base:/]
@backup = rw
vim /data/svn/conf/passwd
[users]
feng = 123456
su = 123456
li = 123456
zhao = 123456
root = 123456
啟動svn
svnserve -d -r /data/svn/repos/
檢視程序,以及端口号
[root@svn conf]# ps -ef | grep svn
root 4374 1 0 Jul31 ? 00:00:00 svnserve -d -r /data/svn/repos/
root 4515 2775 0 00:06 pts/1 00:00:00 grep --color=auto svn
[root@svn conf]# netstat -anpt | grep svn
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 4374/svnserve
windows用戶端安裝
工具,
在目錄中,點選 svn 檢出 。。。。 輸入 :svn://172.16.230.168/HIP
7 配置Apache支援HTTP通路
yum install -y httpd mod_dav_svn
安裝成功後,會有mod_dav_svn.so和mod_authz_svn.so兩個檔案
# cd /etc/httpd/modules
# ls | grep svn
mod_authz_svn.so
mod_dav_svn.so
8.修改配置檔案/etc/httpd/conf.d/subversion.conf(沒有則建立)
[root@svn conf]# vim /etc/httpd/conf.d/subversion.conf
<Location /svn>
DAV svn
SVNParentPath /data/svn/repos
AuthType Basic
AuthName "Authorization SVN"
AuthzSVNAccessFile /data/svn/conf/authz
AuthUserFile /data/svn/conf/httppassword
Require valid-user
</Location>
<Location /svn> 表示我們的svn 通路URL為 http://172.16.230.168/svn/xxxx
DAV 表示使用 mode_dav_svn 子產品
SVNParentPath 表示路徑
AuthName 表示輸入使用者名和密碼時的提示資訊
AuthType 認證類型 這裡我們使用基本的認證類型
AuthUserFile 表示認證檔案的位置
9. 設定http通路權限 /data/svn/conf/httppassword 使用者名和密碼相同
# -c 第一次建立 使用-c
htpasswd -c /data/svn/conf/httppassword feng
#第二次建立 使用-m
htpasswd -m /data/svn/conf/httppassword li
htpasswd -m /data/svn/conf/httppassword su
htpasswd -m /data/svn/conf/httppassword zhao
10. 對版本倉庫授予 apache:apache 權限,保證http 可以上傳
[root@svn repos]# chown apache.apache HIP -R
[root@svn repos]# chown apache.apache base -R
[root@svn repos]# chown apache.apache remote -R
[root@svn repos]# chmod -R 777 HIP base remote
http需要
授予777權限
11 重新開機 httpd
systemctl restart httpd
12 通路 測試
http://172.16.230.168/svn/base/
如果輸入使用者名 密碼錯誤,需要清空浏覽器緩存,重新重新整理。