使用yum命令安装httpd和svn。(以下命令都使用root用户执行)
yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql
修改
vi /etc/httpd/conf/httpd.conf
将KeepAlive改为on。该修改可以保持http连接,提高SVN访问性能。
在/home目录下创建svndata目录,作为SVN版本库的父目录。
mkdir /home/svndata
进入svndata目录,使用vi创建文件:
cd /home/svndata
vi authz.conf
用于存放访问权限。
在svndata目录下使用htpasswd命令创建用户。**-c参数表示创建密码文件,之后创建用户不需要带-c参数。**
htpasswd -c /home/svndata/authfile user
htpasswd /home/svndata/authfile user1
在svndata目录下使用使用命令创建库。也可以直接在其他目录下创建,但要指定版本库目录全路径。
svnadmin create /home/svndata/test
对svndata目录赋权限,赋给apache用户。
chown -R apache:apache /home/svndata/
添加
vi /etc/httpd/conf.d/subversion.conf
如下内容:
<Location /svn>
DAV svn
SVNParentPath /home/svndata
#
# # 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"
AuthUserFile /home/svndata/authfile
AuthzSVNAccessFile /home/svndata/authz.conf
Require valid-user
# </LimitExcept>
</Location>
配置访问权限。修改
vi /home/svndata/authz.conf
。如下表示user拥有test项目的读写权限。
[test:/]
user = rw
[test:/file1]
user1 = rw
启动apache,并关闭防火墙。
service httpd start
/etc/rc.d/init.d/iptables stop
增加开机自启动apache服务。
chkconfig httpd on
永久关闭防火墙(重启后生效)。
chkconfig iptables off
关闭SELINUX,否则会在日志(/etc/httpd/logs/error_log)中报:(13)Permission denied: Could not open *** file,导致无法正常访问SVN,或无法上传文件。关闭SELINUX的方法,修改
vi /etc/selinux/config
,把 SELINUX=enforcing 注释掉,并新加一行:
#SELINUX=enforcing
SELINUX=disabled
大功告成输入http://localhost/svn/test