SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS转移到Subversion。
我搭建的服务器使用的系统是CentOS 6.5。安装的rmp包是subversion-1.6.11-9.el6_4.i686.rpm。
步骤:
(1)使用yum 直接在线安装。yum install subversion-1.6.11-9.el6_4.i686.rpm
(2)安装完成后进行配置:
1、首先创建一个文件来存放自己的SVN文件,如:#mkdir /MySVN/svn/repo
2、新建一个仓库版本:
# svnadmin create /MySVN/svn/repo/yourprojectname
3、进入新建的仓库版本下配置相关的文件
cd /MySVN/svn/repo/yourprojectname/conf
下面有三个配置文件:authz、passwd、svnserve.conf
1)配置authz
anon-access = none
auth-access = write
authz-db = authz
如果前面有#号,要将#号去掉,同时不要在前面留有空格,不然会出现认证错误
2)配置passwd
这个文件是用来配置可以访问此仓库的用户 格式:用户名 = 密码
如:
[user]
hello = world
其中的hello是用户名,world是密码
3)、配置authz
这个文件是用来验证权限的,对passwd中的用户进行权限设置。
[groups]
svn = hello #将hello放在SVN组中
[/]
hello = rw #将hello的权限设置为可读可写
这个三个配置文件都要记得,如果前面有#号,要将#号去掉,同时不要在前面留有空格,不然会出现认证错误
这样SVN的配置就基本完成了,但是还有一点,就是要设置防火墙来开放端口,默认使用的端口是3690
直接进入/etc/sysconfig/iptables增加一行:
-A INPUT -i eth0 -p tcp -m tcp --dport 3690 -j ACCEPT
但是增加的位置要正确:如
-A INPUT -i eth0 -p tcp -m tcp --dport 3690 -j ACCEPT(新增加的)
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
不能放在底部,不然将不起作用。
然后重新启动防火墙:
停止:service iptables stop
启动:service iptables start
你可以使用 lsof 命令来查看某一端口是否开放。查看端口可以这样来使用,以3690端口为例: lsof -i:3690 如果有显示说明已经开放了,如果没有显示说明没有开放。
你也可以试试用下面的方法:
netstat -nupl (查看UDP端口)
netstat -ntpl (查看TCP端口)(使用这个方法可以查看具体的情况)
我使用的是win7的TortoiseSVN客户端来连接CentOS上的服务器的SVN。
先下载TortoiseSVN客户端,在win7上安装,安装完后右击打开任何一个文件可以看到有一个cheakout的选项;
会出现如图的情况
:
使用的是SVN的协议,也可以使用http和https的协议。
前面的地址是你的服务器的地址,后面的是服务器中仓库版本的路径,一定要写正确,不然会连接不上。
出现如图情况:
如果出现连接不上的情况,你可以先在命令提示符中telnet一下;如:
telnet 10.11.3.100 3690
如果telnet连接失败,证明你的防火墙没有开放3690端口,你要开放才能连接。
连接上后会出现下图:
输入你之前在passwd中设置的用户和密码。
如果出现验证失败的话,看看是不是配置出现错误,记得前面不能有空格。
当连接并验证成功后,将会出现一个隐藏的文件.svn
.svn文件是subversion的版本控制信息文件,当摸个目录处于subversion的版本控制时,在这个目录中将会出现.svn文件,文件中存放的是一些版本信息,供subversion使用,不要人为改动,当然你进行新的连接时可以删除此文件。
好了,记录一下,沉淀自己。