CentOS 7.2 64位系统为例
1、远程连接Linux
2、运行以下命令安装SVN
yum install subversion
3、运行以下命令查看SVN版本
svnserve --version
4、按以下步骤创建版本库
1、运行以下命令创建目录。
mkdir /var/svn
2、依次运行以下命令创建版本库。
cd /var/svn
svnadmin create /var/svn/svnrepos
3、依次运行以下命令查看自动生成的版本库文件。
Subversion目录说明:
- db目录:所有版本控制的数据存放文件。
- hooks目录:放置hook脚本文件的目录。
- locks目录:用来追踪存取文件库的客户端。
- format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。
- conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)。
cd svnrepos
ls
4、运行命令cd conf/
进入conf目录(该SVN版本库配置文件)。
返回结果如下:
- authz:是权限控制文件。
- passwd:是账号密码文件。
- svnserve.conf:SVN服务配置文件。
5、按以下步骤设置账号密码:
1、运行 vi passwd
。
2、按 i
键进入编辑模式。
3、在 [users]
块中添加用户账号和密码,格式:账号=密码,比如示例中的suzhan = redhat(注意等号两端要有一个空格)。
4、按 Esc
键退出编辑模式,并输入 :wq
保存并退出。
6、按以下步骤设置权限:
1、运行 vi authz
。
2、按 i
键进入编辑模式。
3、在末尾添加如下代码(其中,r表示读,w表示写):
[/]
suzhan=rw
4、按 Esc
键退出编辑模式,并输入 :wq
保存并退出。
7、按以下步骤修改svnserve.conf文件。
1、运行命令 vi svnserve.conf
。
2、按 i
键进入编辑模式。
3、打开以下几个注释(注意每行不能以空格开始,等号两端要有一个空格):
1、anon-access = read #匿名用户可读,您也可以设置 anon-access = none,不允许匿名用户访问。设置为 none,可以使日志日期正常显示
2、auth-access = write #授权用户可写
3、password-db = passwd #使用哪个文件作为账号文件
4、authz-db = authz #使用哪个文件作为权限文件
5、realm = /var/svn/svnrepos #认证空间名,版本库所在目录
6、按 Esc
键退出编辑模式,并输入 :wq
保存并退出。
8、运行以下命令启动SVN版本库。
svnserve -d -r /var/svn/svnrepos
运行命令 ps -ef |grep svn
查看SVN服务是否开启。
如果返回结果如下图所示,表示SVN服务已经开启。
注意:
运行以下命令停止SVN命令。killall svnserve
过程中遇到的问题:
1、SVN服务的默认端口为TCP 3690。您需要登录 ECS管理控制台,添加安全组规则 放行TCP 3690端口。
- 登录服务器云ESC。
- 选择地域。
- 在左侧导航栏中,选择 网络和安全 > 安全组。
- 找到要配置授权规则的安全组,在 操作 列中,单击 配置规则。
- 在 安全组规则 页面上,单击 添加安全组规则。
2、服务器本身iptable端口的开放
打开设定文件:
vim /etc/sysconfig/iptables
其中添加你要开发的端口:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 123456(端口自定义啊我随便举一个例子) -j ACCEPT
然后重启
iptable systemctl restart iptables.service
3、在本地机器上安装SVN客户端,测试
1、创建一个SVN
2、先导入数据,再测试导出效果,导入格式为
svn://实例公网IP地址/资源库名
3、导出数据,指定资源库URL,格式为
svn://实例公网IP地址/资源库名
;指定 检出至目录(如本示例中的C:\KDR);再单击 确定。4、重启服务器后,记得查看服务器端SVN是否启动,否则会连不上。
完成O(∩_∩)O