记录一下
1、Centos(我这里使用的是CentOS7)下yum命令即可方便的完成安装
$ sudo yum install subversion
# 测试安装是否成功
$ svnserve --version 2、建立版本库
#创建svn数据目录(subversion默认是把/var/svn作为数据根目录的,开机启动默认也是从这里):
$ sudo mkdir -p /var/svn
#创建版本库:
$ sudo svnadmin create /var/svn/guitutu
#如果删除版本库:
$ sudo rm -rf /var/svn/guitutu 3、配置svn配置文件
每个版本库创建之后都会生成svnserve.conf主要配置文件。编辑它:
$ sudo vim /var/svn/guitutu/conf/svnserve.conf 编辑示例:
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#使用哪个文件作为账号文件
password-db=passwd
#使用哪个文件作为权限文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=guitutu 4、编辑svn用户配置文件
sudo vim /var/svn/guitutu/conf/passwd 编辑示例:
[users]
#用户,密码
admin = admin123
test = test123456 5、编辑svn权限控制配置文件
sudo vim /var/svn/guitutu/conf/authz 编辑示例:
[groups]
#用户组所对应的用户
admin = tony,root,test
#库目录权限
[/]
@admin = rw
*=r
[guitutu:/]
@admin = rw
*=r 6、启动,查看和停止SVN服务
启动SVN服务:
# -d : 守护进程 -r : svn数据根目录
$ sudo svnserve -dr /var/svn #用root权限启动 查看SVN服务:
$ ps aux|grep svn 停止SVN服务
kill -s 9 111804 #进程id 7、配置防火墙端口
首先要明确CentOS7的默认防火墙为firewallD。subversion的默认端口为3690,如果没有打开会报错:
$ sudo firewall-cmd --add-port=80/tcp --permanent
$ sudo firewall-cmd --reload 8、检索项目和切换项目的url
$ svn checkout svn://192.168.0.112/guitutu 切换项目url
# 使用 switch 迁移 from to 新的地址
$ svn switch --relocate svn://192.168.0.112/guitutu svn://192.168.0.120/guitutu 9、设置开机启动
在centos7, 设置开机启动:
$ sudo systemctl enable svnserve.service #注意:根目录必须是/var/svn
#设置开机启动后就可以按下面的方式开启或停止服务了
$ sudo systemctl start svnserve.service
$ sudo systemctl stop svnserve.service 保存退出,重启并从客户端进行测试。
如果报这样的错:svn: E204900: Can't open file '/var/svn/guitutu/format': Permission denied的错误。就先把SELinux关闭
临时关闭:
$ sudo setenforce 0 永久关闭:
$ sudo vim /etc/sysconfig/selinux 修改:
SELINUX = disable #值修改为disable