- 安装
centos(我这里使用的是CentOS7)下yum命令即可方便的完成安装
yum install subversion
测试安装是否成功:
svnserve --version
- 建立版本库
创建svn数据目录(subversion默认是把/var/svn作为数据根目录的,开机启动默认也是从这里):
mkdir -p /var/svn
创建版本库:
svnadmin create /var/svn/wangwa
如果删除版本库:
rm -rf /var/svn/wangwa
- 配置svn配置文件
每个版本库创建之后都会生成svnserve.conf主要配置文件。编辑它:
vim /var/svn/wangwa/conf/svnserve.conf
编辑示例:
[general]
anon-access = none #控制非鉴权用户访问版本库的权限
auth-access = write #控制鉴权用户访问版本库的权限
password-db = passwd #指定用户名口令文件名
authz-db = authz #指定权限配置文件名
realm = wangwa #指定版本库的认证域,即在登录时提示的认证域名称
- 编辑svn用户配置文件
vim /var/svn/wangwa/conf/passwd
编辑示例:
[users]
admin = admin #用户,密码
fuhd = fuhd #用户,密码
test = test #用户,密码
- 编辑svn权限控制配置文件
vim /var/svn/wangwa/conf/authz
编辑示例:
[groups]
admin = admin #admin为用户组,等号之后的admin为用户
test = fuhd,test
[wangwa:/] #表示根目录(/var/svn/wangwa),wangwa: 对应前面配置的realm = wangwa
@admin = rw #表示admin组对根目录有读写权限,r为读,w为写
[wangwa:/test] #表示test目录(/var/svn/wangwa/test)
@test = rw #表示test组对test目录有读写权限
- 启动,查看和停止SVN服务
启动SVN服务:
# -d : 守护进程 -r : svn数据根目录
svnserve -dr /var/svn #用root权限启动
查看SVN服务:
ps aux|grep svnserve #默认端口为:3690
- 配置防火墙端口
首先要明确CentOS7的默认防火墙为firewallD。subversion的默认端口为3690,如果没有打开会报错:
firewall-cmd --permanent -add-port=3690/tcp
firewall-cmd --reload
- 设置开机启动
在centos7, 设置开机启动:
systemctl enable svnserve.service #注意:根目录必须是/var/svn 这样才能设置成功!!
#设置开机启动后就可以按下面的方式开启或停止服务了
systemctl start svnserve.service
systemctl stop svnserve.service
保存退出,重启并从客户端进行测试。如果报这样的错:svn: E204900: Can't open file '/var/svn/wangwa/format': Permission denied的错误。那就是与SELinux有关系,目前我还不太会用SELinux,那就先把SELinux关闭:
临时关闭:
setenforce 0
永久关闭:
vim /etc/sysconfig/selinux
修改:
SELINUX = disable #值修改为disable
网友评论