前言
对于小规模团队而言,svn比git要方便很多,特别是团队中的非技术人员来说,git的设定有些过于复杂了。下文主要介绍一下简单安装一个svn服务需要的步骤,和常见的管理功能,比如添加用户,权限等。
安装
- 安装软件包:apt-get install subversion
- 创建SVN 文件目录:svnadmin create --fs-type fsfs /home/opt/svn
- 修改SVN 配置:修改/home/opt/svn/conf/svnserve.conf 文件
放开这些注释
anon-access = read
auth-access = write
password-db = passwd
realm = My First Repository
- 创建SVN 用户:修改/home/opt/svn/conf/passwd 文件
[users]
username1 = password1
username2 = password2
- SVN 用户授权:修改/home/svn/conf/authz 文件
最后位置添加
[\]
username1 = rw
username2 = r
- 启动SVN 服务:svnserve -d -r /home/opt/svn
- 防火墙: sudo iptables -I INPUT 1 -p tcp --dport 3690 -j ACCEPT
- SVN 地址:svn://ip/
安装异常
提示:invalid authz configuration
解决:authz文件配置错误,使用此文末尾的配置替换 svnserver.conf,重新启动。
SVN服务管理
- SVN地址:svn://192.168.105.18/barbie
- 启动方式:svnserve -d -r /home/opt/svn/
- 添加账号:vim /home/opt/svn/conf/authz
- 设置账号密码:vim /home/opt/svn/conf/passwd
改完以后立即生效,不需要重启服务
权限设置
权限设置如下,根目录只有admin角色可以访问,/MG目录,admin和user都可以访问
* = 是一个特殊的配置,表示除了上面配置的人,其他人都没有权限,这行配置需要放在每个路径配置的最后。
几个配置文件介绍
- authz 是权限配置文件,哪个目录有读写权限,设置什么分组,都是在这里配置
- hooks-env.tmpl 是钩子环境变量配置文件的模版,我们暂时用不到,可以忽略
- passwd 用来配置用户的帐号密码
- svnserve.conf 是subversion的总配置,如果你需要登陆并且授权的用户才可以访问,则需要配置这个文件:
[general]
# 是否允许未登录的用户访问,none表示不允许
anon-access = none
# 登陆后的权限,可写
auth-access = write
# 密码配置文件名
password-db = passwd
# 权限配置文件名
authz-db = authz