前言:本文為初次安裝及配置SVN,如系統中已經存在正在使用的SVN,則需要慎重使用本文章。
1. 檢查是否已經安裝了svn
指令:rpm -qa subversion

2. 如果出現下列三種情況,則不需要解除安裝重裝,請跳過第3步
①SVN未安裝;
②SVN為新版本;
③SVN版本為舊版本,但是項目正在使用中的SVN。
3. 如果已經安裝舊版本svn,則需要解除安裝後重新安裝
指令:yum remove subversion
4. 安裝svn
指令:yum -y install subversion
安裝完成
5. 檢查是否安裝成功
指令:svnserve --version
如果出現如下内容,則表示安裝成功
6. 建立倉庫目錄【建議: 一個倉庫一個項目,多個項目就建立多個倉庫,友善版本管理】
指令:mkdir -p /home/svn/storeone
7. 建立項目
指令:svnadmin create /home/svn/storeon
8. 檢查是否建立成功
指令:cd /home/svn/storeone && ll
如果成功,storeone 目錄下如下幾個檔案
9. 配置SVN
切換目錄到conf底下
指令:cd ./conf/ && ll
(1)配置使用者名和密碼
編輯passwd檔案,指令:vim passwd
添加使用者,如圖2示例:
(2) 配置使用者權限
編輯authz檔案,指令:vim authz
添加如下使用者組,并給組賦權限,如圖2示例:
----------------------------------------------authz使用者權限配置參考如下--------------------------------------------------
[groups]
admin = zhangsan,lisi
group_app = wangwu
[/]
* = r
@groups = rw
### 所有人對所有倉庫的根目錄都有讀權限, groups下所有的使用者組有讀寫權限
--------------------------------------------------------------------------------------------------------
[groups]
admin = zhangsan,lisi
group_app = wangwu
[/]
* = r
@group_app = rw
### 所有人對所有倉庫的根目錄都有讀權限, group_app使用者組有讀寫權限
-------------------------------------------------------------------------------------------------------
[/]
* = r
### 所有人對所有倉庫的根目錄都有讀權限
------------------------------------------------------------------------------------------------------
[repos1:/truck]
* = r
harry = rw
### 隻有使用者harry對倉庫repos1裡的truck檔案夾有讀寫權限
-------------------------------------------------------------------------------------------------------
[repos2:/truck]
* = r
sally = rw
### 隻有使用者sally對倉庫repos2裡的truck檔案夾有讀寫權限,其他使用者都是讀
----------------------------------------------------------------------------------------------------------
(3)如果有需要可以修改svn的一些預設配置
編輯svnserve.conf檔案,指令:vim svnserve.conf
修改如下内容,如圖2所示:
-----------------------------------------配置詳解--------------------------------------------------
anon-access = none //無使用者登入時,無權限
anon-access = read //無使用者登入時,隻讀權限
auth-access = write //寫檔案需要有使用者權限
password-db = passwd //密碼存放位置
authz-db = authz //權限控制檔案存放位置
realm = storeone //項目名稱
10. 啟動svn服務
指令:svnserve -d -r /home/svn
注釋:-d:守護程序 -r:svn根目錄
記住這裡一定不要指定到具體的代碼庫目錄,網上很多教程都是錯誤的!
小提示:建議大家将上述指令寫到配置檔案裡,這樣每次重新開機伺服器都能自動啟動SVN,如:vim /etc/profile 然後在底部添加上述指令
11. 開放svn端口3690
修改指令:iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
儲存修改指令:/etc/rc.d/init.d/iptables save
重新開機防火牆指令:service iptables restart
檢視防火牆狀态指令:/etc/init.d/iptables status
12. 驗證測試,svn協定位址:svn://192.168.50.130/storeone
13. 測試svn送出
到這裡SVN就完成安裝與配置了,出現問題或哪裡不明白請留言,我會進行回複的。如有編寫錯誤之處敬請指正!