1. 程式人生 > >搭建SVN伺服器(centos 7.3)

搭建SVN伺服器(centos 7.3)

一、安裝svn

#  安裝subversion
yum install subversion
# 檢視subversion的安裝路徑
rpm -ql subversion

二、建立svn版本庫

# 建立svn版本庫所在目錄
mkdir -p /data/svn/svn_repository
# 建立版本庫
svnadmin create /data/svn/svn_repository

三、svn版本庫內部分目錄和檔案作用說明

1.進入目錄/data/svn/svn_repository下,如下圖:
在這裡插入圖片描述

conf目錄:主要是配置檔案、登入使用者、密碼認證;
hooks目錄:主要是svn的鉤子指令碼模板,使用時去掉.tmpl字尾即可,鉤子指令碼實際上就是程式碼提交前後,可以分別執行的指令碼,指令碼可用perl、shell、python等語言編寫,該目錄裡面指令碼檔名代表提交程式碼執行的不同時機,如提交程式碼前執行的指令碼pre-commit,提交程式碼後執行的指令碼post-commit,更多詳情自行學習;

2.進入目錄/data/svn/svn_repository/conf下,如下圖:
在這裡插入圖片描述

authz檔案是許可權控制檔案
passwd是帳號密碼檔案
svnserve.conf SVN服務配置檔案

四、svn版本庫配置

步驟1、進入目錄/data/svn/svn_repository/conf下;

步驟2、設定賬號密碼
編輯使用者檔案passwd,新增兩個使用者:admin和guest。
在[users]塊中新增使用者和密碼,格式:帳號=密碼,如admin = 123qwe
完整內容參考下面:
在這裡插入圖片描述

步驟3、設定使用者許可權
編輯許可權檔案authz,使用者admin設定可讀寫許可權,guest設定只讀許可權。
完整內容參考如下:

[groups]
admin = admin
guest = guest
[/]
@admin = rw
@guest = r

步驟4、設定SVN服務配置
編輯svnserve.conf,完整內容如下:
$ cat svnserve.conf

[general]
anon-access = none                     #控制非鑑權使用者訪問版本庫的許可權
auth-access = write                    #控制鑑權使用者訪問版本庫的許可權
password-db = passwd                   #指定使用者名稱口令檔名
authz-db = authz                       #指定許可權配置檔名
realm = /data/svn/svn_repository/            #認證空間名,版本庫所在目錄

五、檢查埠是否開啟

svn服務的預設埠為3690,比如我部署在阿里雲伺服器上,必須先在阿里雲控制檯開啟3690埠的外部訪問許可權。

#centos查詢埠是不是開放的
firewall-cmd --permanent --query-port=3690/tcp
#新增對外開放埠
firewall-cmd --permanent --add-port=3690/tcp
#重啟防火牆
firewall-cmd --reload
#檢視埠監聽情況
netstat -nlp

六、設定開機啟動:

1、subversion預設以/var/svn作為資料根目錄,可以通過/etc/sysconfig/svnserve修改這個預設位置,如下圖:
在這裡插入圖片描述

2、啟動svn版本庫命令如下:

systemctl start svnserve.service

3、設定開機啟動

systemctl enable svnserve.service

七:svn客戶端檢出(純svn):

1.下載svn客戶端
下載地址:https://tortoisesvn.net/downloads.html

2.進入原生代碼庫所在目錄右鍵checkout,遠端庫地址按下圖填寫:
在這裡插入圖片描述

3.輸入賬號和密碼後,點選【OK】,如下圖:
在這裡插入圖片描述

在這裡插入圖片描述