1. 程式人生 > >搭建與使用SVN服務器

搭建與使用SVN服務器

訪問權限 png 訪問控制 thead RoCE 權限 epo 初始 密碼

SVN簡介:

SVN是一個開源的版本控制系統,SVN管理著隨時間改變的數據。這些數據放置在一個中央資料檔案庫中,這個檔案庫很像一個普通的文件服務器,不過它會記住每一次文件的改動。

系統環境:

主機 操作系統 IP地址
SVN Server CentOS 7.4 x86_64 192.168.100.135
client CentOS 7.4 x86_64 192.168.100.140

搭建SVN服務器步驟如下:

1.關閉防火墻及Selinux

setenforce 0
systemctl stop firewalld

2.Yum安裝svn軟件包

yum install subversion -y

查看版本

svnserve --version

技術分享圖片

3.創建倉庫repo

mkdir -p /opt/svn/repo #創建目錄
svnadmin create /opt/svn/repo #創建一個新的倉庫

4.查看倉庫目錄

ll !$

技術分享圖片

5.編輯svn服務配置文件svnserve.conf

svn服務配置文件為版本庫目錄中的文件conf/svnserve.conf。該文件僅由一個[general]配置段組成。

[general]
anon-access = none  #匿名用戶沒有任何權限
auth-access = write  #認證用戶具有寫權限
password-db = /opt/svn/repo/conf/passwd #用戶的密碼文件
authz-db = /opt/svn/repo/conf/authz #用戶的信息文件
.....   #省略部分內容
  • anon-access: 控制非鑒權用戶訪問版本庫的權限,取值範圍為"write"、"read"和"none"。 即"write"為可讀可寫,"read"為只讀,"none"表示無訪問權限。 缺省值:read

  • auth-access: 控制鑒權用戶訪問版本庫的權限。取值範圍為"write"、"read"和"none"。 即"write"為可讀可寫,"read"為只讀,"none"表示無訪問權限。 缺省值:write

  • authz-db: 指定權限配置文件名,通過該文件可以實現以路徑為基礎的訪問控制。 除非指定絕對路徑,否則文件位置為相對conf目錄的相對路徑。 缺省值:authz

6.創建賬戶密碼文件

用戶密碼文件由svnserve.conf的配置項password-db指定,缺省為conf目錄中的passwd。該文件僅由一個[users]配置段組成。

cd /opt/svn/repo  
vim conf/passwd  
  [users]
  admin = admin   #格式:用戶名=用戶密碼
  thinker = 123456  #添加用戶thinker

7.創建權限配置文件

權限配置文件由svnserve.conf的配置項authz-db指定,缺省為conf目錄中的authz。該配置文件由一個[groups]配置段和若幹個版本庫路徑權限段組成。

cd /opt/svn/repo  
vim conf/authz
   [/]
   admin=r
   thinker=r
   [/webphp]
    admin=r
    thinker=rw    #thinker用戶對/opt/svn/repo/webphp目錄具有讀寫權限

8.啟動SVN服務

svnserve -d -r /opt/svn/repo #關閉通過Kill PID
  • -r: 配置方式決定了版本庫訪問方式。

  • --listen-port: 指定SVN監聽端口,不加此參數,SVN默認監聽3690

技術分享圖片

9.初始化SVN目錄

mkdir /opt/svn/repo/webphp
svn import webphp file:///opt/svn/repo/webphp -m "初始化SVN目錄"   #導入到本地webphp

技術分享圖片

使用SVN客戶端操作

1.Yum安裝svn軟件包

yum install subversion -y

2.創建/var/www/html目錄,本地同步SVN倉庫的內容

mkdir -p /var/www/html
cd /var/www/html
svn co svn://192.168.100.135/webphp

技術分享圖片

3.測試

1.在SVN服務端webphp目錄下創建一個文件夾,再進行初始化。

技術分享圖片

2.在SVN客戶端/var/www/html本地再次同步服務端倉庫的內容。

技術分享圖片

搭建與使用SVN服務器