日期:2014-05-16  浏览次数:20765 次

配置Apache+subversion的详细步骤

操作系统:linux(CentOS 6)
软件:apache2.2,subversion1.6

概述


使用apache的目的是想让客户端以http协议的方式与subversion服务器通信。

要实现这个目的,必须能在客户通过apache访问subversion的仓库时,以subversion的插件接管对这些请求的处理。

过程


1 先安装apache:

yum -y install httpd

2 再安装subversion:

yum -y install subversion mod_dav_svn

其中mod_dav_svn就是apache的subversion插件。

3 配置apache

其配置文件位于/etc/httpd/conf/httpd.conf
当然一般不需要动它。

4 测试apache

启动apache:
service httpd start
测试apache:
在本地运行浏览器,输入http://localhost/
应能看到apache的默认页面。

5 配置通过apache对subversion访问

apache中的subversion配置文件位于/etc/httpd/conf.d/下面,名字叫做:subversion.conf

以下这部分被注释掉了,解开即可:
<Location /repos>
DAV svn
SVNParentPath /var/www/svn/repos
AuthType Basic
AuthName "subversion repos"
AuthUserFile /etc/svn-auth-conf
Require valid-user
</Location>

SVNParentPath /var/www/svn这一行要改成:
SVNPath /var/www/svn/repos
否则将来客户端访问时会报权限错误。
/var/www/svn/repos表示我们要将svn的创库放在这个位置,当然你也可以放在其它位置。
<Location /repos>表示在url地址是http://xxxx/repos时访问的就是/var/www/svn/repos 。
AuthUserFile /etc/svn-auth-conf指明了svn帐户文件是/etc/svn-auth-conf 。
修改后保存文件。

6 建立subversion帐户

subversion自己对帐户进行管理,所以要客户端要访问它必须使用subversion帐户进行登录。
创建第一个帐户(过程中会被要求输入密码):
htpasswd -cm /etc/svn-auth-conf mary
创建其它帐户(注意参数中不用-cm而用-m):
htpasswd -m /etc/svn-auth-conf

7 建立subversion仓库

cd /var/www/svn
svnadmin create repos
chown -R apache.apache repos
以上在/var/www/svn/repos中建立了创库,以后所有的项目就放在repos下的新建的文件夹中。
chown一行是把repos文件夹的所有者指定为apache用户,如果不这样做也会报权限错误,因为apache无权读取或写入它。
如果启用了SELinux,还需要:
chcon -R -t httpd_sys_content_t repos

8 测试通过apache访问svn

重启apache:
service httpd restart
在浏览器中输入http://localhost/repos应该可以看到:

repos - Revision 0: /

--------------------------

Powered by Subversion version 1.6.11 (r934486).


?