安装
- yum安装svn
yum install subversion
subversion安装在/bin目录:
which svnserve
检查一下subversion是否安装成功
svnserve --version
- 建立版本库
subversion默认以/var/svn作为数据根目录,可以通过/etc/sysconfig/svnserve修改这个默认位置。
vim /etc/sysconfig/svnserve
文件内容
OPTIONS="-r /svn"
使用svnadmin建立版本库star。
mkdir -p /svn/star
创建上传项目地址,多个项目就创建多个地址
svnadmin create /svn/star
查看目录中内容
ll /svn/star
conf
db
format
hooks
locks
README.txt
权限
- 配置
cd /svn/star/conf
编辑svnserve.conf:
vim svnserve.conf
[general]
#控制非鉴权用户访问版本库的权限
anon-access = none
#控制鉴权用户访问版本库的权限
auth-access = write
#指定用户名口令文件名
password-db = passwd
#指定权限配置文件名
authz-db = authz
#指定版本库的认证域,即在登录时提示的认证域名称
//realm = svntest
编辑用户文件passwd,新增两个用户:admin和guest。
vim passwd
[users]
admin = admin
guest = guest
编辑权限文件authz,用户组admin中用户admin设置可读写权限,读者reader中用户guest设置只读权限。
vim authz
admin = admin
reader = guest
[/]
@admin = rw
@reader = r
自启动
- SVN服务
启动SVN服务。
systemctl start svnserve.service
检查服务是否启动成功。
ps -ef|grep svn
设置成开机启动。
systemctl enable svnserve.service
-
关闭防火墙,登录阿里云开放阿里云控制台相应端口3690
-
客户端测试
客户端可以通过TortoriseSVN测试。
svn://ip/svndemo
至此svn安装结束
若遇到
Can't open file '/svn/star/format': Permission denied
永久关闭selinux:
设置完成需要重启。
vim /etc/selinux/config
修改为:
SELINUX=disabled
迁移
将原来的Repository导出 。
svnadmin dump 原路径 > dumpfile
svnadmin dump /svn/star/ > /bak/star
将dumpfile导入到新的repository 目录中。
svnadmin load 新路径 < dumpfile
svnadmin load /svn/star/ < /bak/star
将原先服务器的配置文件备份后复制到新服务器对应目录下
/svn/star/conf下的三个文件
authz、passwd、svnserve.conf
其它
开放3690端口
firewall-cmd --zone=public --add-port=3690/tcp --permanent
关闭3690端口
firewall-cmd --zone=public --remove-port=3690/tcp --permanent
配置立即生效
firewall-cmd --reload
查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports
关闭防火墙
systemctl stop firewalld.service
永久关闭防火墙
systemctl disable firewalld.service
查看防火墙状态
firewall-cmd --state
查看监听的端口
yum install -y net-tools
netstat -lnpt
检查端口被哪个进程占用
netstat -lnpt |grep 3690
查看进程的详细信息
ps 3690