天天看点

redhat下svn+apache搭建

服务器: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,弹出验证框

redhat下svn+apache搭建

输入对应用户名、密码后正常显示则配置成功

redhat下svn+apache搭建