注:此文章代码因编辑器原因,格式略有差异,命令 应全部小写,格式为英文格式
通过页面访问SVN服务器
Yum –y install httpd
Yum –y install mod_dav_svn
Yum –y install subervsion
安装完成之后查看/etc/httpd/conf.d/svnerve.conf中是否有
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
如果有表明SVN模块成功加载到Apache中
然后SVN整合Apache
在httpd默认路径下创建SVN版本库
Mkdir /var/www/svn
Svnadmin create /var/www/svn/test
修改Apache下的SVN模块配置文件
Vi /etc/httpd/conf.d/svnserve.conf
<Location /svn>
DAV svn
SVNParentPath /var/www/svn
AuthType Basic
AuthName "please login"
AuthUserFile /var/www/svn/passwd
Require valid-user
</Location>
#保存退出
Chown –R apache:apache /var/www/svn/test #设置版本库所属用户及所属组
Touch /var/www/svn/passwd #创建SVN用户的配置文件,注意,与上边/etc/httpd/conf.d/svnserve.conf 中SVNParentPath 的配置路径一样
创建httpd用户:htpasswd /var/www/svn/passwd username #然后系统会让输入两次密码,设置成功,密码是加密的,查看配置文件/var/www/svn/passwd中会有用户名以及密文密码
#第一次创建用户时也可以加-c选项,这样会它自己创建密码配置文件
创建权限文件,可以参照版本库中文件:
Cp /var/www/svn/test/conf/authz.conf /var/www/svn/authz
Vi /var/www/svn/authz
[groups] #设置用户组,等于号前后都有一个空格,相同组的用户之间用逗号隔开
Admin = username,username,username
Group1 = username,username
Group2 = username,username
。。。。。。。。。。。
[/] #/表示根目录下的所有SVN版本库,与上边格式相同,组前边要加上@,然后指定权限
@admin = rw
Username = r
Username =rw
[svn:/test] #设置指定的版本库配置
格式同上
#保存退出
启动Apache:service httpd start
如果出现httpd: apr_sockaddr_info_get() failed for svn-client错误,需要修改/etc/httpd/conf/httpd.conf文件中的ServerName选项,去掉注释,然后自定义,
比如:ServerName 192.168.31.20
#保存退出
然后重新启动httpd
Service httpd restart
可以用http://192.168.31.20/svn/test访问,如果弹出登录界面并登录成功,表示搭建成功。
如果本机可以访问,其他机器访问不了,则有可能是防火墙问题,需要设置一下
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
/etc/init.d/iptables save #保存规则到iptables
此时应该可以登录成功。
将SVN服务器设置开机自启:vi /etc/rc.local
Svnserve –d –r /var/www/svn/test #保存退出
Windows客户端:下载SVN客户端,在开始菜单里查看TortoiseSVN,然后连接SVN服务器,登陆后进行代码管理。