日期:2014-05-16 浏览次数:20850 次
操作系统:linux(CentOS 6)
软件:apache2.2,subversion1.6
使用apache的目的是想让客户端以http协议的方式与subversion服务器通信。
要实现这个目的,必须能在客户通过apache访问subversion的仓库时,以subversion的插件接管对这些请求的处理。
yum -y install httpd
yum -y install subversion mod_dav_svn
其中mod_dav_svn就是apache的subversion插件。
其配置文件位于/etc/httpd/conf/httpd.conf
当然一般不需要动它。
启动apache:
service httpd start
测试apache:
在本地运行浏览器,输入http://localhost/
应能看到apache的默认页面。
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 。
修改后保存文件。
subversion自己对帐户进行管理,所以要客户端要访问它必须使用subversion帐户进行登录。
创建第一个帐户(过程中会被要求输入密码):
htpasswd -cm /etc/svn-auth-conf mary
创建其它帐户(注意参数中不用-cm而用-m):
htpasswd -m /etc/svn-auth-conf
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
重启apache:
service httpd restart
在浏览器中输入http://localhost/repos应该可以看到:
repos - Revision 0: /
--------------------------
Powered by Subversion version 1.6.11 (r934486).
?