系统环境说明如下:本文是以 CentOs6.5系统、subversion-1.6.11-15.el6_7.x86_64 为例
1、检查是否安装了低版本的SVN
[root@VPIN ~]# rpm -qa | grep subversion
如果已安装SVN,则会返回版本信息,如:subversion-1.6.11-9.el6_4.i686
卸载旧版本SVN
[root@VPIN ~]# yum remove subversion
2、安装SVN
[root@VPIN ~]# yum –y install subversion
3、检查安装是否成功
[root@VPIN ~]# svnserve --version
4、代码库创建
[root@VPIN ~]# mkdir -p /opt/svn/repositories
[root@VPIN ~]# svnadmin create /opt/svn/repositories
执行上面的命令后,自动建立repositories库,查看/opt/svn/repositories(路径和库名可以根据自己的需要修改) 文件夹发现包含了conf,db,format,hooks,locks, README.txt等文件,说明一个SVN库建立完成。
5、配置代码库
进入上面生成的文件夹conf下,进行配置
[root@VPIN ~]# cd /opt/svn/repositories/conf
5.1用户密码passwd配置
[root@VPIN ~]# vi passwd
5.2权限控制authz配置
[root@VPIN ~]# vi authz
目的是设置哪些用户可以访问哪些目录,authz文件的内容如下:
5.3服务svnserve.conf配置
[root@VPIN ~]# vi svnserve.conf
svnserve.conf文件的内容如下:
5.4启动svn服务
[root@VPIN ~]# svnserve -d -r /opt/svn/repositories
6、查看SVN进程
ps -ef|grep svn|grep -v grep
7、查看SVN监听的端口
[root@VPIN ~]# netstat -ln |grep 3690
8、停止启动SVN
[root@VPIN ~]# killall svnserve #停止
[root@VPIN ~]# svnserve -d -r /opt/svn/repositories #启动
9、安装svn客户端
目前最流行的svn客户端非TortoiseSVN莫属
下载安装
http://tortoisesvn.sourceforge.net/downloads.html
10、测试svn
客户端连接地址:svn://公网或内网的IP地址,有时候需要添加端口号
用户名/密码:test/123456 ##要和之前设置的用户名和密码匹配
特别提示:
1、默认端口为3690,如果该端口被占用,或者需要修改端口,使用下面语句
[root@VPIN ~]# svnserve -d -r /opt/svn/repositories--listen-port 3691
2、如果svn都配置对了,在检出时报错,一般都是因为Linux的防火墙拦截了3690这个端口,如下:
2.1、解决办法就是:修改Linux系统防火墙配置;需要修改 /etc/sysconfig/iptables 这个文件
[root@VPIN ~]# vi /etc/sysconfig/iptables
打开配置文件,加上一条规则:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
就可以了,其中 3690 是要开放的端口号,然后重新启动linux的防火墙服务。
Linux下停止/启动防火墙服务的命令:
用root登录后,执行
[root@VPIN ~]# service iptables stop --停止
[root@VPIN ~]# service iptables start --启动
3、Linux配置好svn之后不能访问
linux下对字符分别严格,任何配置文件的有效配置行,都不能有前置空格,否则程序不能识别。
这种情况一般都是 配置文件里第12行anon-access = none没有顶头写,前面有空格造成的。直接去掉前面的空格即可