歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux基礎知識 >> Linux下安裝SVN服務端小白教程

Linux下安裝SVN服務端小白教程

日期:2017/3/2 17:15:49   编辑:Linux基礎知識

安裝

使用yum安裝非常簡單:

yum install subversion

配置

創建倉庫

我們這裡在/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個文件。

配置passwd

[root@localhost conf]# vi passwd 
[users]
test1=123456
test2=123456

上面的例子中我們創建了2個用戶,一個test1,一個test2

配置authz

[root@localhost conf]# vi authz 
[/]
liuxianan=rw
test1=r
test2=r
*=

上面配置的含義是,liuxianan/home/svn/下所有文件具有可讀可寫權限,test只有只讀權限,除此之外,其它用戶均無任何權限,最後一行*=很重要不能少。

拓展:使用用戶分組

這個我一般不用,但是記錄下來。

還是這個文件:

[root@localhost conf]# vi authz
[groups]
group1 = liuxianan
group2 = test1,test2
[/]
@group1 = rw
@group2 = r
* =

上面配置中創建了2個分組,分組1的用戶可讀可寫,分組2的用戶只讀。

格式說明:

版本庫目錄格式:
[<版本庫>:/項目/目錄]
@<用戶組名> = <權限>
<用戶名> = <權限>

配置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,如果你修改了端口,那麼要記得加上端口號。

總結

總的來說,如果你不需要雜七雜八的權限配置只是自己一個人用的話,安裝配置還是比較簡單的,並不像網上說的那麼麻煩,我按照網上的方法一次性成功了。

擴展:yum安裝路徑

以svn為例:

# rpm -qa | grep subversion
subversion-1.6.11-15.el6_7.x86_64
# rpm -ql subversion-1.6.11-15.el6_7.x86_64
...
/usr/share/doc/subversion-1.6.11
/usr/share/doc/subversion-1.6.11/BUGS
/usr/share/doc/subversion-1.6.11/CHANGES
...

說明:

  • rpm -qa 查詢所有安裝的rpm包,可以配合grep命令。
  • rpm -qi 查詢某個具體包的介紹。
  • rpm -ql 列出某個具體包的所有文件

rpm幾個默認安裝路徑:

/etc    一些設置文件放置的目錄
/usr/bin    一些可執行文件
/usr/lib64  一些程序使用的動態函數庫
/usr/share/doc  一些基本的軟件使用手冊與幫助文檔
/usr/share/man  一些man page文件

Copyright © Linux教程網 All Rights Reserved