CentOS SVN服务器安装配置小记

最近和一好友合作项目,意识到源码编辑之后文件的merge是一个超级挠头的问题╮(╯_╰)╭,遂想到好用的版本控制工具,也为培养自己版本管理的良好习惯吧,决定在服务器上搭一个SVN,本来挺简单一个事,结国因为一个小问题纠结了挺久,用一篇小文记录一下,也是让自己长点心把~

配置期间在网上参考了各路大神的经验,在此致谢,就不一一贴链接了~

SVN的安装

安装很简单,尤其对于CentOS这种,直接:

# yum install subversion
# yum install mod_dav_svn

不同发行版的Package安装方法参见http://subversion.apache.org/packages.html,当然,某些发行版下或者不闲麻烦可以直接源码编译安装,但是,灭霍霍霍霍~

安装完检查一下是否成功了

# svnserve --version

能正常显示版本信息就大功告成啦~

建立版本库

# svnadmin create /svn/project

/svn/project是所建立版本仓库的路径,理论上可以为任何目录

SVN配置

进入所建立仓库的配置目录/svn/project/conf修改文件svnserve.conf

[general]
anon-access = none     //匿名访问权限
auth-access = write    //认证用户权限
password-db = passwd   //密码配置文件路径,默认为同目录的passwd文件
realm = SVNofMyProject //认证标记而已

去掉对应行前的#使语句生效,切记前面不能留空格

配置用户名密码

修改与配置文件同目录的passwd文件

[users]
usr1 = psw1
usr2 = psw2

启动SVN服务器

# svnserve -d -r /svn --listen-host 192.168.0.3

-d表示在后台运行,-r指定了服务器的根目录,这样在SVN客户端就可以用svn://192.168.0.3/project来访问SVN服务器

顺便说一下,使用以下命令可以查看正在运行的SVN进程

# ps -ef | grep svn

使用命令

# killall svnserve

# kill -9 xxxx

来停止SVN服务器。

到此的话,在服务器上执行co应该就没什么问题了。可是其他终端通过svn可能还访问不了咱的服务器ΦωΦ

防火墙配置

SVN的默认端口是3609,要在防火墙上开放这个端口才行

# /sbin/iptables -A INPUT -i eth0 -p tcp --dport 3690 -j ACCEPT
# /sbin/service iptables save

唉,我就是栽在这了。。。最好看下eth0这个参数,如果你的服务器刚好像我的一样有很多网卡,而且那个再用的不是eth0的话。。就要修改一下了恩。ΦωΦ

查看网络参数可以使用

# ifconfig

到此为止咱就应该能够成功地连上远程的SVN服务器了恩,checkout可以使用

# svn co svn://192.168.0.3/project

然后按提示输入之前配置过的用户名和密码就好了。

更多的SVN命令就不在这粘贴了~