Centos7 搭建SVN服务器
安装-卸载
如果有防火墙先关闭systemctl stop firewalld.service
安装SVN服务器sudo yum install subversion
查看版本号svnserve --version
卸载sudo yum remove subversion
SVN启动模式(一个svnserve只能为一个版本库工作)
前置条件:创建版本库存放的目录mkdir /home/admin/SVN
命令创建一个版本库svnadmin create /home/admin/SVN/project_01
项目文件解析
hooks目录:放置hook脚步文件的目录
locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录
format目录:表示当前文件库配置的版本号
conf目录:仓库的配置文件(比如仓库用户访问账户,权限等)
复制project_01/conf下的passwd和authz到 /home/admin/SVN可以多个版本库公用配置文件
编辑/home/admin/SVN/project_01/conf配置文件svnserver.conf文件
# vi /home/admin/SVN/project_01/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = /home/admin/SVN/passwd
authz-db = /home/admin/SVN/authz
realm = project_01
anon-access:没有登录认证用户的权限,取值范围(“write”、“read”、“none”),默认为可读。
auth-access:登录认证用户的权限,取值范围(“write”、“read”、“none”),默认为可写。
password-db: 指定用户账号密码的文件。如果指定需要使用绝对路径,否则文件位置为相对目录下conf目录的相对路径。默认值为:passwd。
authz-db:指定用户权限的权限配置文件名。 如果指定需要使用绝对路径,否则文件位置为相对目录下conf目录的相对路径,默认值为:authz。
realm: 指定版本库的认证域,即在登录时提示的认证域名称。 默认值:一个UUID(Universal Unique IDentifier,全局唯一标示)。
配置账号密码
# vi /home/admin/SVN/passwd.conf
[users]
# 添加一个用户名:SVN,密码:svn123456
svn = svn123456
# 添加一个用户:SVN2,密码:svn123456
svn2 = svn123456
配置权限
# vi /home/admin/svn/conf/authz
[groups]
# 添加的一个用户组,组员为svn
developer = svn
[/]
#设置对项目根目录下的权限,开发者具有读写,svn2用户只具有读
@developer = rw
svn2 = r
启动svn服务svnserve -d -r /home/admin/SVN/project_01
查看服务是否开启ps -ef |grep sv
停止SVN命令killall svnserve
开启阿里云的默认端口3690
客户端直接访问:svn://xxxxxxx,即可访问到project_01版本库
服务命令
设置SVN开机自启动:systemctl enable svnserve.service
停止SVN开机自启动:systemctl disable svnserve.service
查看SVN服务当前状态:systemctl status svnserve.service |
|