環境準備—之—linux下安裝svn
借鑒自
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