服务器:redhat版本为6.4
1.安装
yum install httpd -y
yum install subversion -y
yum install mod_dav_svn -y
2.svn仓库
利用之前创建好的库
见http://blog.csdn.net/tshangshi/article/details/47727919
3.apache相关配置(配置文件/etc/httpd/conf/httpd.conf)
3.1检查svn是否与apache兼容
# vim /etc/httpd/conf/httpd.conf
查找文件中是否增加了
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
两行信息,并且查看/etc/httpd/modules 下是否有mod_dav_svn.so和mod_authz_svn.so 文件
若modules里没有则安装有问题,要重新安装
若配置文件里没有,则加上以上两行
3.2添加apache的svn支持模块,在配置文件最后添加
<Location /svn>
DAV svn
SVNPath /home/svn/repository/test
AuthType Basic #连接类型设置 基本验证
AuthName "welcome to svn"
AuthUserFile /home/svn/repository/passwd
AuthzSVNAccessFile /home/svn/repository/test/conf/authz
Require valid-user #"Require valid-user"告诉apache在authfile中所有的用户都可以访问。如果没有它,则只能第一个用户可以访问新建库
</Location>
ps:
SVNParentPath:支持多个具备相同父目录的Subversion版本库。
SVNPath:只支持一个父目录的Subversion版本库
SVNParentPath:svn库的根目录
SVNPath:svn库的具体路径
4.设置控制用户和密码
htpasswd -cm /home/svn/repository/passwd svn
htpasswd -m /home/svn/repository/passwd test
5.设置对应用户的权限
利用了之前的权限控制文件/home/svn/repository/test/conf/authz
也可以另外进行配置,但路径必须和/etc/httpd/conf/httpd.conf里的 AuthzSVNAccessFile配置保持一致。
6.启动服务
6.1 启动svn服务
svnserve -d -r /home/svn/
6.2 apache服务重启
server httpd restart
6.3 apache服务开机自启动
chkconfig httpd on
7.检查防火墙
iptables -F (清空)
iptables -L (显示内容)
getenforce (查看selinux状态)
setenforce 0 (把selinux状态临时设置为Permissive)
ps:如果为Enforcing,可能导致一直弹出输入密码,无法正常进入并显示结果
8.验证
在浏览器里输入127.0.0.1/svn,弹出验证框
输入对应用户名、密码后正常显示则配置成功