阿裏雲-搭建和卸載svn服務器
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服務器