首先是一个快速免责声明,我不是'服务器人'或'unix pro'或类似的东西,我是一名网络程序员,因为我在我的上网本上运行linux(ubuntu)而陷入服务器工作
我正在尝试在Debian上运行一个apache服务器来自动为多个域提供服务,每个域都需要在/ var / www中拥有自己的目录。
由于这是我为这家公司做的最后一件事,我真的需要它对我的继任者来说很容易(他更像是服务器的初学者),创建更多域名而不必使用ssh或/ etc / apache2 / sites-available,所以我正在寻找的是基本上默认的任何魔法mumbo-jumbo(或apt-get或conf.d),它使服务器开始为任何具有匹配文件夹的域提供服务/ var / www他们将不得不以通常的方式启动域名转移。
我可以单独设置域名。
Ick ...希望以上内容对某人有意义。
答案 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