您的位置:首页 > 理论基础 > 计算机网络

linux环境下实现svn服务器支持http协议

2015-12-30 21:12 465 查看
经过两天的努力,svn终于支持http协议来访问了,在此做个总结,收集一下过程中的错误,作为后来人的前车之鉴。

一 前提:

现有的svn已经支持svn协议,并且版本库、账户和权限已设置好。这些步骤就不说了,详情请查看小编另一篇播客()效果如下图:

二 服务器环境:

1 centOS 7

2 可上网

三 操作步骤:

1 安装Apache

yum install httpd

设置开机启动

chkcofing httpd on

启动Apache

service httpd start

查看Apache版本

httpd -version



2 安装Apache支持服务

yum install mod_dav_svn mod_auth_mysql

查看是否安装成功

cd /etc/httpd/modules/

如果有mod_dav_svn.so 和 mod_authz_svn.so模块,如果有,则说明mod_dav_svn安装成功



如果启动Apache提示错误:

httpd:httpd: Could not reliably determine the server's fully qualif domain name, using ::1 for ServerName

解决办法:

vi /etc/httpd/conf/httpd.conf #编辑

ServerName www.example.com:80 #去掉前面的注释

:wq! #保存退出

3 配置http协议认证文件

htpasswd -c /var/svn/svntest/http_passwd username

根据提示输入两次密码即可。

因为http协议和svn协议使用的认证文件编码格式不同,所以不能共用一套认证文件。

注意:/var/svn/svntest是我的数据仓库目录,http_passwd是我创建的认证文件名称。username是我创建的第一 个用户,因为是第一个用户,所以需要加-c,以后创建账户不需要加-c命令。

vi /etc/httpd/conf/httpd.conf #编辑

ServerName www.example.com:80 #去掉前面的注释

:wq! #保存退出

4 设置Apache配置与文件

vi /etc/httpd/conf.d/subversion.conf



<Location /svn>
D*** svn
#SVNPath /home/svn
SVNParentPath /var/svn
# # Limit write permission to list of valid users.
# <LimitExcept GET PROPFIND OPTIONS REPORT>
# # Require SSL connection for password protection.
# # SSLRequireSSL
#
AuthType Basic
AuthName "Authorization SVN"
AuthzSVNAccessFile /var/svn/svntest/conf/authz
AuthUserFile /var/svn/svntest/conf/svn_http_passwd
Require valid-user
# </LimitExcept>
</Location>


说明:D***为svn支持文件,svnpath为svn版本库目录,只有一个版本库时使用svnpath,如果有多个版本时使用 svnparentpath和svnlistparentpath配合使用;AuthaSVNAccessFile为权限文件目录,跟svn协议共同使用一个 权限文件即可;AuthUserFile为用户认证文件,填入第3步配置的认证文件目录;Require为用户是否需要验证。

5 为Apache设置目录权限

chown apache:apache /var/svn/svntest -R

为Apache设置数据仓库的所有者权限

重启Apache服务

service httpd restart



6 测试

Windows下使用svn协议访问svn服务器



Windows下使用http协议在浏览器访问服务器
http://192.168.22.230:80\svn\svntest
地址拼接:http://+ip+端口号+Apache配置文件中Location节点名称+数据仓库



Windows下使用http协议在svn客户端访问服务器



四 总结

支持http协议以后,就可以在公网访问svn服务器,只要有网,我们就可以随时随地访问服务器,实现即时办公
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: