svn服務器在linux上安裝比較簡單,有兩種安裝方式:
1、下載安裝包,解壓進行安裝
2、使用命令自動安裝
下面我們採用第二種。
一、下載
安裝 Subversion,在官網:http://subversion.apache.org/ 下載。
這步省略,不需要下載
二、安裝
執行以下命令:
yum install subversion
安裝也太六了,就執行這條語句自動安裝完成,我都不知道哪跟哪,懵逼中,手不知道往哪放好。
三、測試安裝
執行以下命令
svnserve --version
四、查看安裝位置
rpm -ql subversion
五、創建存儲倉庫
看了百度上好多人都把SVN倉庫存放在 /usr/svn/repository中,或者/var/svn,或者/home/svn,我本來想知道選擇放哪裏最合適,最後發現,沒有標準,所以我選擇自建目錄u01,放u01/svn/repository。位置重要嗎?貌似也不是很重要,只有利於管理就行。
- 創建文件夾 /u01/svn
cd /
mkdir u01
cd /u01
mkdir svn
注:我們以/u01/svn 作爲SVN倉庫的跟目錄,下面將會創建多個倉庫
- 創建倉庫,倉庫名爲:repository
cd /u01/svn
svnadmin create repository
可以看到 /u01/svn 下有文件夾:repository,文件夾中有如下內容:
開始我們先了解 conf 裏的配置,進入 conf
cd conf
其中有3個文件,分別是:
authz 是權限控制文件
passwd 是帳號密碼文件
svnserve.conf 是SVN服務配置文件
- 下面我們要做的事情是:
(1)創建一個用戶,用戶名字爲:test,密碼爲:123456
(2)給test訪問倉庫(repository)的讀寫權限
(3)配置svn
六、創建用戶(編輯passwd)
編輯文件:passwd
vim passwd # or vi passwd
注意:=號左右有空格
七、用戶權限配置
編輯 authz
vim authz
在底部輸入
[/] # 最高權限,SVN倉庫(/u01/svn/)的整個文件夾都可以訪問,除此之外,比如:[/u01/svn/repository] 表示設置這個/u01/svn/repository路徑下的權限
test = rw # test用戶具備讀寫權限
* = # 除此之外,其他用戶沒有權限
八、SVN啓動配置
編輯 svnserve.conf
vim svnserve.conf
打開下面的5個註釋
解釋以下以上的配置:
anon-access = read #匿名用戶可讀
auth-access = write #授權用戶可寫
password-db = passwd #使用哪個文件作爲賬號文件
authz-db = authz #使用哪個文件作爲權限文件
realm = /home/svn # 認證空間名,版本庫所在目錄
九、啓動SVN服務器
svnserve -d -r /u01/svn
啓動服務器,指定到跟目錄:/u01/svn,不能指定到倉庫:/u01/svn/repository。
查看是否啓動:
十、SVN客戶端安裝
官網下載:https://tortoisesvn.net/
因爲安裝簡單,所以安裝步驟略!
十一、用SVN客戶端連接SVN服務器
在window,我客戶端用的是window系統,進入你想要”檢出“到的目錄,我的是d:/svn/repository,右鍵屬性,SVN檢查,如下圖示:
跳出檢出窗口,如下圖示:
填寫SVN地址,svn://192.168.3.99:3690/repository,不可以寫出:svn://192.168.3.99:3690/u01/svn/repository,因爲/u01/svn已經是跟目錄,系統已經知道/u01/svn是倉庫的跟目錄,只寫倉庫名稱就行。確定,輸入賬號密碼,如下:
連接成功如下:
因爲是空倉庫,目前還沒有導入文件。到這裏已經完成本文章的主要目的。另外說一點,就是可能會出的問題,在客戶端連接服務器的過程中,可能會連不上,其中有一個原因,就是防火牆端口問題。
十二、開發防火牆端口
編輯/etc/sysconfig/iptables文件,加入以下內容:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT
如果沒有找到iptables,請看《centos7下沒有iptables》