代码之家  ›  专栏  ›  技术社区  ›  Kristoffer Sall-Storgaard ProllyGeek

Apache服务器上的多个域

  •  1
  • Kristoffer Sall-Storgaard ProllyGeek  · 技术社区  · 16 年前

    首先是一个简短的免责声明,我不是一个“服务器人员”或“Unix Pro”或类似的东西,我是一个网络程序员,自从我在我的上网本上运行Linux(Ubuntu)以来,一直在做服务器工作。

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

    因为这是我为这家公司所做的最后一件事,我真的需要我的继任者(他比我更是一个服务器初学者)更容易创建更多的域,而不必在ssh或/etc/apache2/sites上浪费时间,所以我要找的基本上是任何默认的magic-mumbo-jumbo(或apt-get,或conf.d),它使t服务器开始服务于在/var/www中有匹配文件夹的任何域,当然,它们必须以通常的方式启动域传输。

    我可以单独设置域。

    克…希望这对某人有意义。

    2 回复  |  直到 16 年前
        1
  •  1
  •   Stefan Lasiewski    16 年前

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

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

        2
  •  0
  •   Mr. Ronald    16 年前

    带有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