借鉴自
这个很详细, 但不是我的风格
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
来源: http://www.bubuko.com/infodetail-2946368.html