本文适用于已经安装SVN后想用http访问SVN的情况!
一定要关闭selinx,一定要关闭selinx,一定要关闭selinx,重要的事情说三遍!!!
关闭SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq! #保存退出
setenforce 0 #使配置立即生效
好了,现在说正事
安装Apache
yum install httpd apr apr-util httpd-devel
yum install mod_dav_svn
cd /etc/httpd/modules/
[[email protected] modules]# ll |grep mod_dav_svn.so
-rwxr-xr-x. 1 root root 155360 Aug 17 2015 mod_dav_svn.so
[[email protected] modules]# ll |grep mod_authz_svn.so
-rwxr-xr-x. 1 root root 13456 Aug 17 2015 mod_authz_svn.so
已经看到mod_dav_svn.so mod_authz_svn.so证明已经安装成功了。
配置svn支持http访问
htpasswd -cm /home/svn/conf/http_passwd XXXXXXX
注意:
/home/svn/conf/目录下面passwd文件是svnserve独立服务器使用的认证文件,密码没有加密,明文显示。
/home/svn/conf/目录下面http_passwd文件是Apache的http模式使用的认证文件,密码使用MD5加密。
passwd和http_passwd文件中,账号密码必须设置相同。
设置Apache配置文件
vi /etc/httpd/conf.d/subversion.conf #编辑,在最后添加以下代码
<Location /svn>
DAV svn
#SVNPath /home/svn #访问单一文件夹的
SVNParentPath /home/svn #访问多个文件夹的
# # Limit write permission to list of valid users.
# <LimitExcept GET PROPFIND OPTIONS REPORT>
# # Require SSL connection for password protection.
# # SSLRequireSSL
#
AuthType Basic
AuthName "Authorization SVN"
AuthzSVNAccessFile /home/svn/conf/authz
AuthUserFile /home/svn/conf/http_passwd
Require valid-user
# </LimitExcept>
</Location>
:wq! #保存退出
设置目录权限
chown apache:apache /home/svn -R #设置svn目录所有者为Apache服务运行账号apache
以上内容参考了
http://www.osyunwei.com/archives/9145.html