最近自己搞了一个小项目,由于是在公司和家里都进行了开发,需要来回copy代码,比较麻烦,所以现在自己的服务器上搭建一个SVN项目,网上搜了很多资料也遇到不少坑,总结一下
系统环境:CentOS 7.3
1.首先切换至root账号(个人习惯)
sudo su root
2.通过yum命令安装SVN服务
yum -y install subversion
此命令会自动安装SVN所有相关服务和依赖,耐心等待即可
安装完毕后如需查看安装位置,运行一下代码
rpm -ql subversion
3.创建版本库目录(处于根目录一次创建多级目录,路径可自定义)
mkdir -p var/svn/svnPro/
4.创建SVN版本库(Project可自定义)
svnadmin create var/svn/svnPro/Project
创建成功后进入版本库目录
cd var/svn/svnPro/Project
进入目录后有以下文件
5.修改配置
进入
cd conf
有以下几个配置
authz:负责账号权限的管理,控制账号是否读写权限
passwd:负责账号和密码的用户名单管理
svnserve.conf:svn服务器配置文件
修改步骤如下
1).修改authz文件
vim authz
在文件尾部添加如下信息
[\]
账号1 = rw
账号2 = rw
账号3 = rw
。。。。。
修改后的文件信息
2).修改passwd文件
vim passwd
直接追加账号密码至文件尾部即可,注意追加格式:
账号 = 密码
例如:test = 123
3).修改svnserve.conf文件
vim svnserve.conf
只需去除下图标注前面的"#"符号即可
ps:这四段代码一定要顶格写,否则客户端访问的时候会报svnserve.conf:xx: Option expected 这个错误
大多数网络资料,都会让大家将authz-db = authz这条给去掉注释,经过我本人多次被坑经验,此条去掉后,虽然svn服务器可以连接,但一直会提示“认证失败”,注释掉即可正常 还有多数资料会让大家在realm = My First Repository处填写服务器ip,经过测试,填写后并无什么用处,所以大家去掉注释即可,无需做任何修改 到此,配置已经全部完成,账号信息已经添加成功
6.开启防火墙端口
(1)开启端口(3690为SVN默认端口,可自定义)
iptables -A INPUT -p tcp --dport 3690 -j ACCEPT
(2)保存并重启防火墙
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart
7.启动SVN服务
在根目录下执行命令:
svnserve -d -r /var/svn/svnPro
8.客户端访问SVN服务