使用我的 apache2 配置托管多个网站

使用我的 apache2 配置托管多个网站

我想在我的 Apache2 服务器上托管多个不同的网站,但是,我希望这些网站托管在我的私有 IP 范围内,不能从外部访问,我希望像这样托管它们:

localhost/drupal  #<= takes me to a drupal page
localhost/wordpress  #<= takes me to a wordpress page 
localhost/somerandompage  #<= takes me to another page

我知道我可以VirtualHost *:80这样使用:

<VirtualHost *:80>

        ServerName drupal
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html/drupal.com

        <Directory /var/www/drupal.com>
                Options +Indexes
                AllowOverride All
                Order allow,deny
                Allow from all
        </Directory>

        DirectoryIndex index.html index.php

        LogLevel debug

        ErrorLog ${APACHE_LOG_DIR}/drupal.com/error.log
        CustomLog ${APACHE_LOG_DIR}/drupal.com/access.log combined

</VirtualHost>

有没有什么办法可以让我按照自己想要的方式托管网站?

答案1

我希望网站托管在我的私有 IP 范围内,外部无法访问。

除了防火墙、配置或其他技术问题之外,任何能够在网络上联系您的服务器的本地计算机都应该能够正常访问您的 Web 服务。

为了防止“外部”访问,只需不要将您的服务器公开(即不要在路由器上将任何端口转发到该服务器)。

我想像这样接待他们:

  • localhost/drupal #<= 带我进入 drupal 页面
  • localhost/wordpress #<= 带我进入 wordpress 页面
  • localhost/somerandompage #<= 带我到另一个页面

/var/www/html/drupal.com由于您显然是在 VirtualHost 块下定义 DocumentRoot ,因此只需在此目录中添加一个例如drupalwordpress文件夹,并将必要的文件放在每个文件夹中(例如中的 Drupal/var/www/html/drupal.com/drupal和中的 WordPress /var/www/html/drupal.com/wordpress)。

对于somerandompage,将.html文件(或您拥有的文件)直接放在 DocumentRoot 中,即/var/www/html/drupal.com

请注意,这localhost是一个特殊名称,通常指127.0.0.1(主机 PC 本身)。如果您希望将此名称用作从另一台本地 PC 引用 Web 服务器的名称,则可能需要在hosts要执行此操作的每台 PC 上修改该文件(但作为建议,我会考虑将其命名为其他名称以尽量减少混淆/问题)。

相关内容