红联Linux门户
Linux帮助

Debian Linux上安装 Subversion 服务器

发布时间:2006-04-21 15:01:06来源:红联作者:reing
在 Debian 安装 Subversion 服务器,需要达到以下的几个具体要求:

1.所有访问 Subversion 的链接必须使用 https 协议来访问,不通过 https 访问 Subversion 应该被拒绝。
2.不允许匿名用户访问 Subversion.
3.根据不用的用户组来设定不同的 Subversion 权限。

一、安装软件

使用 Sarge 的包管理工具 aptitude 安装以下几个包:

1.subversion-tools
2.libapache2-svn
3.apache2-utils
4.apache2-mpm-worker

二、配置软件包

在 Apache2 安装完成以后,系统应该自动启动 apache2 来接受 http 访问,使用浏览器浏览服务器,应该可以看到 apache2 的 Welcome 页面。
由于我们需要 SSL 的支持,所以在这里,我们还需要对 Apache2 进行 SSL 的配置:

1.运行命令 a2enmod ssl 。打开 apache2 的 SSL 支持。
2.编辑 /etc/apache2/ports.conf 文件。 在此文件中,缺省只有 Listen 80,也就是apache 只接受 80 端口的普通 http 访问。我们再添加一项 "Listen 443",443 是 https 的端口。
3.编辑 /etc/apache2/sites-available/default 文件,把 “NameVirtualHost *" 改为 "NameVirtualHost *:80" , "" 改为 ""。
4.运行命令 apache2-ssl-certificate, 根据提示回答问题, 生成 SSL 的证书,自动被放置在 /etc/apache2/ssl/。
5.在 /etc/apache2/sites-available/ 下建立一个新的文件,名字可以叫做 ssl . 这个文件可以拷贝 /etc/apache2/sites-availbale/default 获得。 但是要修改 VirtualHost 和 NameVirtualHost 的端口为 443。 在这个文件中加入以下两行:"SSLEngine On" 和 "SSLCertificateFile /etc/apache2/ssl/apache.pem"。

6.使用 a2ensite ssl 来使我们的 ssl 虚拟主机生效。

7./etc/init.d/apache2 force-reload 重新启动 apache2 的系统服务。
8.使用其他机器的浏览器来登陆本服务器,注意要使用 https 协议来测试我们的 apache 服务器是否接受 https 连接。
9.使用 a2enmod dav_svn 来加载 subversion 模块。
10.subversion 模块的配置文件在 /etc/apache2/mods-available/dav_svn.conf 中。 为了限制非 SSL 用户登陆,我们可以使用如下一句 "SSLRequireSSL" 来限制。 为了禁止匿名用户登陆,加上 "Require valid-user" 一句。

三、FAQ

Q: 为什么的我的 SSL 虚拟主机无法启动?
A: 在 Debian 上安装服务器和配置使相当简单的,如果你按照以上步骤执行了,应该没有问题。 需要注意的就是在执行 apache2-ssl-certificate 的时候,其中有一项使询问你的主机名,这一点,必须和你的主机相一致。

四、我的配置文件

/etc/apache2/ports.conf

Listen 80
Listen 443


/etc/apache2/mods-available/dav_svn.conf


DAV svn
SSLRequireSSL
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /pub/repos/svn/etc/svnpasswd
AuthzSVNAccessFile /pub/repos/svn/etc/svnauthz
Require valid-user



/etc/apache2/sites-available/default

NameVirtualHost *:80

..............................
..............................


/etc/apache2/sites-available/ssl

NameVitualHost *:443

SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
...................................
...................................
文章评论

共有 1 条评论

  1. MOCEL 于 2006-07-17 08:50:40发表:

    不错