apache服务器上的多个域

时间:2010-05-03 16:00:13

标签: apache .htaccess apache2 debian conf.d

首先是一个快速免责声明,我不是'服务器人'或'unix pro'或类似的东西,我是一名网络程序员,因为我在我的上网本上运行linux(ubuntu)而陷入服务器工作

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

由于这是我为这家公司做的最后一件事,我真的需要它对我的继任者来说很容易(他更像是服务器的初学者),创建更多域名而不必使用ssh或/ etc / apache2 / sites-available,所以我正在寻找的是基本上默认的任何魔法mumbo-jumbo(或apt-get或conf.d),它使服务器开始为任何具有匹配文件夹的域提供服务/ var / www他们将不得不以通常的方式启动域名转移。

我可以单独设置域名。

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

2 个答案:

答案 0 :(得分:1)

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

以下配置将采用完全限定的域名(如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将很乐意为该虚拟主机提供服务。

答案 1 :(得分: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