原文: https://www.cnblogs.com/liuxianan/p/linux_install_svn_server.html
安裝
使用yum安裝非常簡單:
yum install subversion
配置
2.1. 創建倉庫
我們這里在/home
下建立一個名為svn
的倉庫(repository),以后所有代碼都放在這個下面,創建成功后在svn下面多了幾個文件夾。
[root@localhost /]# cd /home [root@localhost home]# mkdir svn [root@localhost home]# svnadmin create /home/svn [root@localhost home]# ls svn conf db format hooks locks README.txt
我們這里特別關注一下conf
文件夾,這個是存放配置文件的
[root@localhost home]# cd svn/conf [root@localhost conf]# ls authz passwd svnserve.conf
其中:
- authz 是權限控制文件
- passwd 是帳號密碼文件
- svnserve.conf 是SVN服務配置文件
接下來我們依次修改這3個文件。
2.2. 配置passwd
[root@localhost conf]# vi passwd [users] test1=123456 test2=123456
上面的例子中我們創建了2個用戶,一個test1,一個test2
2.3. 配置authz
[root@localhost conf]# vi authz [/] liuxianan=rw test1=r test2=r * =
上面配置的含義是,liuxianan
對/home/svn/
下所有文件具有可讀可寫權限,test
只有只讀權限,除此之外,其它用戶均無任何權限,最后一行*=
很重要不能少。
2.3.1. 拓展:使用用戶分組
這個我一般不用,但是記錄下來。
還是這個文件:
[root@localhost conf]# vi authz [groups] group1 = liuxianan group2 = test1,test2 [/] @group1 = rw @group2 = r * =
上面配置中創建了2個分組,分組1的用戶可讀可寫,分組2的用戶只讀。
格式說明:
版本庫目錄格式:
[<版本庫>:/項目/目錄]
@<用戶組名> = <權限>
<用戶名> = <權限>
2.4. 配置svnserve.conf
[root@localhost conf]# vi svnserve.conf 打開下面的5個注釋 anon-access = read #匿名用戶可讀 auth-access = write #授權用戶可寫 password-db = passwd #使用哪個文件作為賬號文件 authz-db = authz #使用哪個文件作為權限文件 realm = /home/svn # 認證空間名,版本庫所在目錄
2點注意:
- 最后一行的realm記得改成你的svn目錄
- 打開注釋時切記前面不要留有空格,否則可能有問題(網上說的,我沒有親測)
啟動與停止
[root@localhost conf]# svnserve -d -r /home/svn(啟動) [root@localhost conf]#killall svnserve(停止)
上述啟動命令中,-d
表示守護進程, -r
表示在后台執行。停止還可以采用殺死進程的方式:
[root@localhost conf]# ps -ef|grep svnserve root 4908 1 0 21:32 ? 00:00:00 svnserve -d -r /home/svn root 4949 4822 0 22:05 pts/0 00:00:00 grep svnserve [root@localhost conf]# kill -9 4908
最后來個總的截圖:
客戶端連接
這里使用TortoiseSVN,輸入地址svn://你的IP
即可,不出意外輸入用戶名和密碼就能連接成功了。
默認端口3690,如果你修改了端口,那么要記得加上端口號。
總結
總的來說,如果你不需要雜七雜八的權限配置只是自己一個人用的話,安裝配置還是比較簡單的,並不像網上說的那么麻煩,我按照網上的方法一次性成功了。