阿里云ECS搭建SVN
1.搭建过程
提示:环境基于阿里云ECS的cemtos7。遇到无法连接和匹配错误的问题并且成功解决。
1:安装SVN服务端
2:创建版本库
3:配置基础信息
4:开放端口、防火墙
5:安装Windows的SVN客户端
6:链接测试
代码如下(示例):
安装SVN服务端:
yum install -y subversion
创建版本库:
#创建自己的项目
mkdir -p /home/svn/project
#设置版本库
svnadmin create /home/svn/project/
#主版本
mkdir /home/svn/project/trunk
#分支
mkdir /home/svn/project/branches
#标签
mkdir /home/svn/project/tags
配置信息,在项目文件夹的conf/ 有三个文件:
authz #权限配置文件
passwd #用户名口令文件
svnserve.conf #svn服务综合配置文件
authz文件:
vim /home/svn/project/conf/authz
[groups]
#用户组
admin = admin
#用户组所对应的用户,[/]表根目录
[/]
#库目录权限,admin是用户组名称
@admin = rw
#用户组权限
*=r
passwd文件:
[users]
# 用户名 = 密码
# harry = harryssecret
# sally = sallyssecret
admin = admin123456
svnserve.conf文件:
#打开以下配置
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#使用哪个文件作为账号文件
password-db=passwd
#使用哪个文件作为权限文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/home/svn/project
打开服务:
svnserve -d -r /home/svn/project/
ps-aux|grep svn #查看SVN是否启动成功
Centos7默认Firewall防火墙:
firewall-cmd --zone=public --add-port=3690/tcp --permanent
firewall-cmd --zone=public --add-port=3690/udp --permanent
firewall-cmd --reload #重启防火墙
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
设置开机启动SVN
vim /etc/rc.d/rc.local
添加内容
svnserve -d -r /home/svn/project/
2.遇到的问题
目标计算机积极拒绝:
去到阿里云控制台,开放3690自定义TCP 和 UDP端口
亲测需要端口和防火墙都开放才可以正常访问
访问的时候只需要如下操作
svn://YourIp
就可以了。
Windos下前往官网安装 客户端 和 汉化包 安装完重启电脑。
版本不匹配或者密码错误等:
右键找到SVN客户端的setting清除全部后重新连接。连接成功会提示输入账号密码。否则就重新创建一个文件夹继续checkout。
如果仍然无法连接,请做以下操作
查看SVN服务端是否正常启动。
ps -aux | grep svn
#正常可以以下信息
#root 31450.0 0.0 162352 656 ? Ss 12:20 0:00 svnserve -d -r /home/svn/project/
查看端口是否开放 和 ECS安全组是否释放端口
firewall-cmd --zone=public --query-port=3690/udp --permanent
firewall-cmd --zone=public --query-port=3690/tcp --permanent
查看conf / 下3个配置文件内的信息是否正确填写
3.svn client的使用
在ECS云服务器上我们也可以安装svn client来实现本地的代码拉取。
安装 svn client
yum install svn
查看版本库
svn list svn://localhost
#trunk/
#branches/
拉取代码
svn checkout svn://localhost/branches