1. 程式人生 > >環境準備—之—linux下安裝svn

環境準備—之—linux下安裝svn

常用 ref info not erl 賬號 防火 hook 防火墻服務

借鑒自

http://www.cnblogs.com/liuxianan/p/linux_install_svn_server.html 這個很詳細,但不是我的風格

https://blog.csdn.net/bluishglc/article/details/42245065

安裝,使用yum安裝svn服務

[root@bogon /]# yum install subversion

groupadd svn #為運行svn設置專用的用戶組,非必須操作,但推薦

useradd -d /var/svn -g svn svn #為運行svn設置專用的用戶,同時指定home目錄為:/var/svn 非必須操作,但推薦

passwd svn #為運行svn專用用戶設置密碼,非必須操作,但推薦

su -l svn #開始切換為svn用戶進行後續操作

創建代碼庫的文件夾

[root@bogon home]# mkdir -p /home/svn/default-repo #

創建代碼庫

[root@bogon home]# svnadmin create /home/svn/default-repo/  #建立代碼庫,/home/svn/default-repo/為代碼庫所在文件夾

[root@bogon home]# cd /home/svn/default-repo
[root@bogon default
-repo]# ll 總用量 8 drwxr-xr-x. 2 root root 54 2月 6 22:36 conf drwxr-sr-x. 6 root root 233 2月 6 22:36 db -r--r--r--. 1 root root 2 2月 6 22:36 format drwxr-xr-x. 2 root root 231 2月 6 22:36 hooks drwxr-xr-x. 2 root root 41 2月 6 22:36 locks -rw-r--r--. 1 root root 229 2月 6 22:36 README.txt

配置文件

配置svnserve.conf

[root@bogon default-repo]# cd conf
[root@bogon conf]# ll
總用量 12
-rw-r--r--. 1 root root 1080 2月   6 22:36 authz  #權限控制文件
-rw-r--r--. 1 root root  309 2月   6 22:36 passwd #是帳號密碼文件
-rw-r--r--. 1 root root 3090 2月   6 22:36 svnserve.conf  #是SVN服務配置文件
[root@bogon conf]# vim svnserve.conf   

打開下面的5個註釋
anon-access = read  #匿名用戶可讀
auth-access = write #授權用戶可寫
password-db = passwd #使用哪個文件作為賬號文件
authz-db = authz #使用哪個文件作為權限文件
realm = /home/svn/default-repo # 認證空間名,版本庫所在目錄

  2點註意:

  • 最後一行的realm記得改成你的svn目錄
  • 打開註釋時切記前面不要留有空格,否則可能有問題(網上說的,我沒有親測)

配置passwd

[root@bogon conf]# vim passwd
[users]
test1=123456
test2=123456

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

技術分享圖片

配置authz

[root@bogon conf]# vim 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的用戶只讀。

格式說明:

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

啟動與停止

[root@localhost conf]# svnserve -d -r /home/svn/default-repo    #(啟動)默認端口3690
[root@localhost conf]# killall svnserve(停止)

上述啟動命令中,-d表示守護進程, -r 表示在後臺執行。停止還可以采用殺死進程的方式:

註:同一臺服務器可以運行多個svnserver,只需要啟動時換一個端口即可:svnserve -d -r /home/svn/another-repo/ --listen-port 3691

常用命令

svnserve -d -r /home/svn/default-repo #啟動svn,默認端口3690

svnserve -d -r /home/svn/another-repo/ --listen-port 3691

ps -ef | grep svnserve

systemctl status firewalld.service 查看防火墻狀態

systemctl stop/start firewalld.service  關閉/開啟防火墻

systemctl disable firewalld.service 禁止防火墻服務啟動

https://jingyan.baidu.com/article/ff42efa9fd8c1cc19e2202bb.html

環境準備—之—linux下安裝svn