1.安装svn
- yum -y install subversion
2.建立版本库目录并配置
- mkdir -p /var/www/svndata
- svnserve -d -r /var/www/svndata
3.建立版本库:创建一个新的Subversion项目
- svnadmin create /var/www/svndata/svnproject
4.配置文件修改( cd /var/www/svndata/svn/conf ,在修改配置文件时一定注意每行要顶格 写,不要出现空格,不然会抛出异常)
4.1 svnserve.conf修改以下几个部分:
[general]
### These options control access to the repository for unauthenticated
### and authenticated users. Valid values are "write", "read",
### and "none". The sample settings below are the defaults.anon-access=none
auth-access=write
password-db=passwd
authz-db = authz
4.2 passwd修改以下几个部分(添加新用户,用户名=密码的格式):
[users]
harry = harryssecret
sally = sallyssecret
root=123
4.3 authz最后加上以下两行(这两行解决了 SVN客户端authorization failed问题)
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joeroot= 123
# [/foo/bar]
# harry = rw
# &joe = r
# * =# [repository:/baz/fuz]vi
# @harry_and_sally = rw
# * = r[/]
root=rw
5.启动svn服务器
- svnserve -d -r /var/www/svndata
6.测试连通性
- svn co svn://ip地址:端口/svnproject
7.可能会遇到的一些问题
7.1. svn: Can't connect to host '*.*.*.*'问题
7.1.1. TortoiseSVN 缓存问题
右键点击本地副本,TortoiseSVN -> Settings -> Saved Data,点击个个“Clear”按钮,把本地缓存都 清除了,点击“确定”,再重新 “checkout”。
7.1.2. 防火墙 3690 端口没有对外开放
因此我们要修改配置文件: vi /etc/sysconfig/iptables在中间的位置复制如下代码(如果有就跳过):
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT
7.1.3. 重启一下防火墙
service iptables restart
7.2. 用客户端 svn://ip地址 访问正常,但是在浏览器中用 http://访问就出现这个错误了浏览器中的错误代码:( success ( 2 2 ( ) ( edit-pipeline svndiff1 absent-entries commit-revprops.
一般来说你要用http/https协议访问SVN的话,就要将SVN服务器和apache集成,从而实现http(https)://ip的方式访问。如果没有做这一步,就只能用svn协议访问,而不能用http协议访问。即svn://ip地址 ;而一旦集成了,后面访问也都应该用http协议,而不能再用svn协议了。也就是说不能同时用svn协议和http协议访问同一个SVN库。
7.3. 比较版本内容差异的时候,遭遇到错误:Unreadable path encountered; access denied;
解决方法:编辑[代码仓库目录下]/conf/svnserve.conf,将[anon-access]的值设置为[none]。然后重启svn服务即可。
参考资料:http://blog.csdn.net/a649518776/article/details/39433883