一、服务器与客户端
使用hp服务器装有Centos 6.5Linux发行版操作系统;客户机装有Windows 8.1 64位操作系统。
在Linux上由于用的是Centos发行版所以直接用yum命令进行安装:
sudo yum install subversion
客户机安装Tortoise SVN,安装完成后在鼠标右键菜单中会出现如下几个选项:
二、服务器端配置
服务器端配置设计创建版本库、添加用户和密码以及修改配置文件等等。
创建版本库过程如下:
mkdir -p /home/uais/svnrepos
svnadmin create /home/uais/svnrepos
添加用户和密码需要修改版本库目录下的authz和passwd文件
在authz中设置权限,格式如下:
用户名=rw #r为读权限,w为写权限
在passwd中添加添加用户密码,格式如下:
用户名=密码
通过修改配置文件svnserve.conf设置版本库的访问权限和修改权限以及所在目录,去掉下面内容前的注释即可:
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
realm = /var/svn/svnrepos
最后启动svn服务(需要root权限)即可:
svnserve -d -r /home/uais/svnrepos
三、遇到的问题及解决方法
按照如上步骤配置完成后,在windows中新建文件夹,然后在文件夹中右击选svn checkout,正常情况下会让设置IP地址,设置完点OK后会出现输入用户名和密码对话框,但是在实际中确是在等待很长时间后报了一个主机长时间无响应的错误。最后发现是一个很简单的问题,但是查找的过程却是相当无语。
为了查找错误原因,对所有配置过程重新查了一遍,然后各种百度和谷歌,虽然能搜到解决方法,但是在我这一样不起作用。最后在检查svnserve监听的端口时发现绑定的IP地址和端口是:0.0.0.0:3690,这是一个很无语的结果,找不到原因,在查询主机IP地址后才发现服务器上有4个网口,但是只有一个正在使用,由于在启动服务时未指定监听主机导致了一个很费时间的麻烦。解决方法如下:
svnserve -d -r /home/uais/svnrepos --listen-host 192.168.1.100
在解决问题过程中使用到的命令:
netstat -apn|grep 3690 #查看3690端口绑定情况
netstat -npl|grep 3690 #查看监听3690端口应用的情况
killall svnserve #结束svnserve所有服务