今天在自己的阿里云服务器上搭建自己的SVN,把心得跟大家分享一下。首先说一下我的阿里云服务器的系统环境是 CentOS 7.4 64位下得SVN搭建。(我是用的Linux操作软件是SecureCRT)
第一步、在线安装svn服务
$ sudo yum install subversion
测试安装是否成功:
$ svnserve --version
snipaste_20171102_164501.png
第二步、建立版本库
创建svn数据目录(subversion默认是把/var/svn作为数据根目录的,开机启动默认也是从这里,这个svn文件夹可以自定义命名):
$ sudo mkdir -p /var/svn/
创建版本库:
$ sudo svnadmin create /var/svn/test(版本库名称)
如果删除版本库:
$ sudo rm -rf /var/svn/test
第三步、配置svn配置文件
每个版本库创建之后都会生成svnserve.conf主要配置文件。编辑它:
$ sudo vim /var/svn/test/conf/svnserve.conf
编辑示例:
[general]
anon-access = none #控制非鉴权用户访问版本库的权限
auth-access = write #控制鉴权用户访问版本库的权限
password-db = passwd #指定用户名口令文件名
authz-db = authz #指定权限配置文件名
realm = XM_Test #指定版本库的认证域,即在登录时提示的认证域名称
第四步、编辑svn用户配置文件
sudo vim /var/svn/test/conf/passwd
编辑示例:
[users]
admin = admin #用户,密码
fuhd = fuhd #用户,密码
test = test #用户,密码
第五步、编辑svn权限控制配置文件
sudo vim /var/svn/test/conf/authz
编辑示例:
[groups]
admin = admin #admin为用户组,等号之后的admin为用户
test = fuhd,test
[XM_Test:/] #表示根目录(/var/svn/test),XM_Test: 对应前面配置的realm = XM_Test
@admin = rw #表示admin组对根目录有读写权限,r为读,w为写
[XM_Test:/tes1t] #表示test目录(/var/svn/test/test1)
@test = rw #表示test组对test目录有读写权限
第六步、启动,查看和停止SVN服务
-d : 守护进程 -r : svn数据根目录 svn_root为前面我们设置的svn的根目录
$ sudo svnserve -dr /svn_root/ #用root权限启动
查看SVN服务:
$ ps aux|grep svnserve #默认端口为:3690
第六步、 配置防火墙端口(这里看你的服务器有没有开起防火墙,我的没开启所以这就不用进行设置了)
首先要明确CentOS7的默认防火墙为firewallD。subversion的默认端口为3690,如果没有打开会报错:
$ sudo firewall-cmd --permanent -add-port=3690/tcp
$ sudo firewall-cmd --reload
第七步、设置开机启动
在centos7, 设置开机启动:
$ sudo systemctl enable svnserve.service #注意:根目录必须是/var/svn(自己设置的文件夹名称) 这样才能设置成功!!
设置开机启动后就可以按下面的方式开启或停止服务了
$ sudo systemctl start svnserve.service
$ sudo systemctl stop svnserve.service
临时关闭:
$ sudo setenforce 0
永久关闭:
$ sudo vim /etc/sysconfig/selinux
修改:
SELINUX = disable #值修改为disable.
接下来我们来说一下我遇到的坑
首先 要将端口打开
image.png image.png image.png
如果无法登陆
image.png最后一定要确定自己的配置文件是不是都正确,记住在在设置的时候不要在前面加空格。
本文参考http://xiaochina.cnblogs.com/
网友评论