记录一下

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

评论  表情