1. 程式人生 > >阿裏雲-搭建和卸載svn服務器

阿裏雲-搭建和卸載svn服務器

啟動svn access 修改 腳本 匿名用戶 用戶 iyu 管理 yun

Subversion(SVN) 是一個開源的版本控制系統, 也就是說 Subversion 管理著隨時間改變的數據。

這些數據放置在一個中央資料檔案庫(repository) 中。這個檔案庫很像一個普通的文件服務器, 不過它會記住每一次文件的變動。這樣您就可以把檔案恢復到舊的版本, 或是瀏覽文件的變動歷史。

SVN 的一些概念

  • repository(源代碼庫):源代碼統一存放的地方
  • Checkout(提取):當您手上沒有源代碼時,您需要從repository checkout一份源代碼
  • Commit(提交):如果您已經修改了代碼,您需要Commit到repository
  • Update(更新):當您已經Checkout了一份源代碼,Update一下,您就可以與Repository上的源代碼同步,您手上的代碼就會有最新的變更

一、安裝SVN

本文以CentOS7.3為例,說明如何在CentOS7.3上手動搭建svn服務器。

1. 遠程連接Linux;

2. 運行以下命令安裝SVN

yum install subversion

3. 運行以下命令查看SVN版本

svnserve --version

如圖所示:

技術分享圖片

4. 按照以下步驟建立版本庫:

4.1 運行以下命令創建目錄

mkdir /var/svn

4.2 依次執行以下命令常見版本庫

cd /var/svn
svnadmin create /var/svn/svnrepos

4.3 依次執行以下命令查看自動生成版本庫文件

cd svnrepos
ls

技術分享圖片

Subversion目錄說明:

  • db目錄:所有版本控制的數據存放文件。
  • hooks目錄:放置hook腳本文件的目錄。
  • locks目錄:用來追蹤存取文件庫的客戶端。
  • format文件:是一個文本文件,裏面只放了一個整數,表示當前文件庫配置的版本號。
  • conf目錄:是這個倉庫的配置文件(倉庫的用戶訪問賬號、權限等)。

4.4 運行以下命令,進入conf目錄(該SVN版本庫配置文件),返回結果如下

cd conf/
ls
  • authz:是權限控制文件。
  • passwd:是賬號密碼文件。
  • svnserve.conf:SVN服務配置文件

4.5 按以下步驟設置賬號密碼:

4.5.1 執行以下命令,編輯passwd文件

vim passwd

4.5.2 按 i 鍵進入編輯模式

4.5.3 在 [users] 塊中添加用戶賬號和密碼,格式:賬號=密碼,比如示例中的suzhan = redhat(註意等號兩端要有一個空格)

4.5.4 按 ESC 鍵退出編輯模式, 輸入 :wq 命令保存並退出

技術分享圖片

4.6 按照以下步驟設置權限:

4.6.1 執行以下命令,編輯authz文件;

vim authz

4.6.2 按 i 鍵進入編輯模式;

4.6.3 在末尾添加如下代碼(其中,r表示讀,w表示寫)

[/]
suzhan=rw

4.6.4 按 ESC 鍵退出編輯模式, 輸入 :wq 命令保存並退出

技術分享圖片

4.7 按照以下步驟修改svnserve.conf文件

4.7.1 運行以下命令,編輯svnserve.conf文件

vim svnserve.conf

4.7.2 按 i 鍵進入編輯模式;

4.7.3 打開以下幾個註釋(註意每行不能以空格開始,等號兩端要有一個空格):

anon-access = read #匿名用戶可讀,您也可以設置 anon-access = none,不允許匿名用戶訪問。設置為 none,可以使日誌日期正常顯示
auth-access = write #授權用戶可寫
password-db = passwd #使用哪個文件作為賬號文件
authz-db = authz #使用哪個文件作為權限文件
realm = /var/svn/svnrepos #認證空間名,版本庫所在目錄

4.7.4 按 ESC 鍵退出編輯模式, 輸入 :wq 命令保存並退出

技術分享圖片

5. 運行以下命令啟動SVN版本庫

svnserve -d -r /var/svn/svnrepos  #啟動SVN版本庫
ps -ef |grep svn  #查看SVN服務是否已開啟

如果返回結果如下圖所示,表示SVN服務已經開啟。

技術分享圖片

6. 添加安全組規則

SVN服務的默認端口為TCP 3690。 需要防火墻的安全規則中添加TCP 3690端口(可參照mysql打開3690端口)。

7. 在Windows上測試SVN服務

svn://公網ip/    #SVN服務器的根目錄

8. 運行以下命令停止SVN命令

killall svnserve

二、卸載SVN

yum remove subversion  

參考文章:阿裏雲>搭建和使用SVN

阿裏雲-搭建和卸載svn服務器