1

首先快速免责声明,我不是“服务器人”或“unix pro”或类似的东西,我是一名网络程序员,自从我在上网本上运行 linux (ubuntu) 以来,我一直在做服务器工作。

我正在尝试设置在 Debian 上运行的 apache 服务器以自动为多个域提供服务,每个域都需要在 /var/www 中有自己的目录。

由于这是我为这家公司做的最后一件事,我真的需要让我的继任者(他甚至比我更擅长服务器)轻松创建更多域,而不必使用 ssh 或 /etc/ apache2/sites-available,所以我正在寻找的基本上是任何默认的魔法 mumbo-jumbo(或 apt-get 或 conf.d),它使服务器开始为 /var/ 中具有匹配文件夹的任何域提供服务www 他们当然必须以通常的方式启动域转移。

我单独设置域没有问题。

Ick ...希望以上内容对某人有意义。

4

2 回答 2

1

要从 Apache 服务多个域,您需要 Apache 虚拟主机。您可以使用mod_vhost_alias开始使用 Apache 虚拟主机为 /var/www" 中具有匹配文件夹的任何域提供服务。

以下配置将采用完全限定域名(如 www.example.org)并将其用作变量“%0”。因此,要提供“www.example.org”,您需要在 /var/www/www.example.org/docs 创建一个目录,并将您的 HTML 内容放在那里。您的 Cgi 脚本将进入 /var/www/www.example.org/cgi-bin/

<VirtualHost 192.168.1.100:80>

# get the server name from the Host: header
UseCanonicalName Off

VirtualDocumentRoot /var/www/%0/docs
VirtualScriptAlias /var/www/%0/cgi-bin

</VirtualHost>

然后,将 'www.example.org' 指向 '192.168.1.100',Apache 将愉快地为该虚拟主机提供服务。

于 2010-05-03T20:51:55.507 回答
0

带有 Ubuntu 风格的未经测试的代码

sudo a2enmod rewrite
vi /etc/apache/sites-enabled/000-default

NameVirtualHost *
<VirtualHost *>
        DocumentRoot /var/www/
        RewriteEngine On
        RewriteRule ^(.*)$ %{HTTP_HOST}/$1
</VirtualHost>


sudo /etc/inid.d/apache2 restart
于 2010-05-03T20:49:45.633 回答