借鉴自
http://www.cnblogs.com/liuxianan/p/linux_install_svn_server.html 这个很详细,但不是我的风格
https://blog.csdn.net/bluishglc/article/details/42245065
安装,使用yum安装svn服务
[[email protected] /]# yum install subversion
groupadd svn #为运行svn设置专用的用户组,非必须操作,但推荐
useradd -d /var/svn -g svn svn #为运行svn设置专用的用户,同时指定home目录为:/var/svn 非必须操作,但推荐
passwd svn #为运行svn专用用户设置密码,非必须操作,但推荐
su -l svn #开始切换为svn用户进行后续操作
创建代码库的文件夹
[[email protected] home]# mkdir -p /home/svn/default-repo #
创建代码库
[[email protected] home]# svnadmin create /home/svn/default-repo/ #建立代码库,/home/svn/default-repo/为代码库所在文件夹 [[email protected] home]# cd /home/svn/default-repo [[email protected] 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
[[email protected] default-repo]# cd conf [[email protected] 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服务配置文件 [[email protected] 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
[[email protected] conf]# vim passwd [users] test1=123456 test2=123456
上面的例子中我们创建了2个用户,一个test1,一个test2
配置authz
[[email protected] conf]# vim authz 插入以下信息 [/] liuxianan=rw test1=r test2=r *=
上面配置的含义是,liuxianan
对/home/svn/
下所有文件具有可读可写权限,test
只有只读权限,除此之外,其它用户均无任何权限,最后一行*=
很重要不能少。
拓展:使用用户分组
这个一般不用,但是记录下来。
还是这个文件:
[[email protected] conf]# vi authz [groups] group1 = liuxianan group2 = test1,test2 [/] @group1 = rw @group2 = r * =
上面配置中创建了2个分组,分组1的用户可读可写,分组2的用户只读。
格式说明:
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
启动与停止
[[email protected] conf]# svnserve -d -r
/home/svn/default-repo #(启动)默认端口3690
[[email protected] 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
原文地址:https://www.cnblogs.com/wsy1103/p/10353374.html