您的位置:首页 > 运维架构 > Apache

配置Apache svn 服务器

2015-12-07 18:32 671 查看
本文参考了这篇文章

http://svnbook.red-bean.com/en/1.0/ch06s04.html

概要:

svn (subversion) 是一种开源免费的软件项目源文件版本管理工具
svn 服务器是集中管理 svn 容器,并允许 svn 客户端通过http或者远程登录访问 svn 容器的服务器。 
本文介绍在 Mac OS 或者 Cent OS 下建立一个允许客户端通过 http 访问的 svn 服务器的方法。

环境:

Apache:



OS: 

Mac OS X 10.6 Snow Leopard

Mac OS X 10.7 Lion

Cent OS 5.6 Final

预备知识

Mac OS X 对 svn 的兼容:

默认安装了如下 svn 命令行工具



内置的Apache服务器中预装了 svn 需要的模块 mod_dav.so 和 mod_dav_svn.so  



其中 mod_dav.so 默认加载,mod_dav_svn.so 需要手动配置加载。后述。

内置 Apache 服务器安装路径:

 /etc/apache2/

关于 WebDAV/DeltaV 协议

这是两个应用层协议,提供svn需要的远程认证,metadata管理,版本管理和配置管理功能。
Apache 2.0 开始通过mod_dav模块支持这两个协议。

关于在 Mac OS X 内置的 Apache 中安装模块

内置的 Apache 存放模块文件的位置(和通常安装的Apache不同)

/usr/libexec/apache2/

本次需要的模块已经存在,所以未进行另外安装。

配置http访问

创建svn容器 

在自己的用户文件夹下创建一个容器 /Users/nutcracker/repository



 

配置 Apache

CentOS :
sudo yum -y install httpd subversion mod_dav_svn

无需手动编辑Apache配置文件。

Mac OS :

编辑 /etc/apache2/httpd.conf,使 Apache 启动时加载 mod_dav_svn 模块



mod_dav_svn 加载指令要放在mod_dav加载指令的后面。

注意需要用root权限编辑,否则无法保存。

sudo vim /etc/apache2/httpd.conf 

在 httpd.conf 中添加下面指令来告诉 Apache 将所有路径部分以/repos开头的URL交给位于SVNPath下的 DAV provider 来处理。SVNPath 为前面创建的容器的路径。

<Location /repos>

        DAV svn

        SVNPath /Users/nutcracker/repository

</Location>

重启 Apache (Mac OS X 有自己的启动方法,参照以前的文章) 


 

测试方法

创建测试项目 



添加到容器



浏览器访问



checkout 



配置成功 

Cent OS 和 Lion 下遇到的问题

errcode="13" Could not open the requested SVN filesystem
原因是将容器创建在/home/nutcracker/repos,apache没有访问权限。
Snow Leopard下将repos文件夹chmod到777就可以访问,而CentOS和Lion不行,chown到apache.apache也不行。原因不明。
将容器创建在 /var/www/svn/ 下即可解决。

http://miaoshuanghe.blog.163.com/blog/static/140130476201172114647545/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: