我是Mark 2009-10-02
1,首先需要安装所需要的软件,在Unbuntu上输入以下命令完成Subversion,Apache2以及连接驱动模块的安装。
sudo apt-get install subversion libapache2-svn apache2
2,启用SSL使其有效:
sudo a2enmod ssl
sudo echo “Listen 443″ >> /etc/apache2/ports.conf
3,生成SSL加密证书:
sudo apache2-ssl-certificate
这部操作会有许多基于命令行方式的提问,只要任意输入即可,目的是为了能生成唯一的证书
4,在apache中新建一个虚拟主机,用于通过web来访问svn档案库中的内容。
复制一个现有的apache虚拟主机配置文件,然后对其进行编辑,虚拟主机配置文件名假定为svn:
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/svn
对其进行编辑:
vim /etc/apache2/sites-available/svn
做以下相应的修改和添加:
NameVirtualHost *:443
<VirtualHost *:443>
SSLEngine
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLProtocol all
SSLCipherSuite HIGH:MEDIUM
……
5,使虚拟主机生效:
a2ensite svn
/etc/init.d/apache2 restart
6,新建一个SVN Repository档案库
sudo mkdir /var/svn
sudo svnadmin create /var/svn/newRepo
sudo chown -R www-data:www-data /var/svn/newRepo
chmod -R g+ws /var/svn/newRepo
7,为SVN Repository档案库设置访问权限
sudo htpasswd2 -c -m /etc/apache2/dav_svn.passwd 用户名
该命令会将该“用户名”添加到权限列表中去
8,修改WebDAV和SVN配置,使权限设置有效
在/etc/apache2/mods-available/dav_svn.conf文件中添加以下内容
DAV svn
SVNParentPath /var/svn
AuthType Basic
AuthName “Subversion Repository”
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
SSLRequireSSL
若不允许匿名访问,则将以下内容注释掉
#<LimitExcept GET PROPFIND OPTIONS REPORT>
#</LimitExcept>
9,重启apache,完成!
sudo /etc/init.d/apache2 restart
pub_svnserve.conf的 pub_authz.conf的配置文件有非法字符的原因引起,需要查找pub_authz.conf提的非法内容比如多余的空格删除或直接将pub_authz.conf