apache2 virtualhost配置

时间:2014-09-04 13:32:18

标签: apache ubuntu virtualhost

我想用多个虚拟主机配置Apache2。

看起来类似于:Apache2 weird redirection. (Default site overriding others),但这个问题没有答案。

我用过:

apache2cts -S

检查配置状态,结果为:

VirtualHost configuration:
*:80                   is a NameVirtualHost
         default server vbox4.dev.local (/etc/apache2/sites-enabled/000-default.conf:1)
         port 80 namevhost vbox4.dev.local (/etc/apache2/sites-enabled/000-default.conf:1)       
         port 80 namevhost www.example.com (/etc/apache2/sites-enabled/www.example.com.conf:4)
                 alias example.com

所以看来Apache知道虚拟主机的存在,但如果我进入www.example.com进入浏览器,在重新加载apache后,仍会显示默认的apache页面。

apache2 virtualhost configuration with two subdirectories接近但不帮助我。 Configuring virtual hosts on apache2在我看来非常相似,但它没有给我足够的信息来解决我的问题。

我已经遵循了一些建议,但在实施时我发现这不起作用(更多)我已经阅读了其他建议。我在此不再赘述。

我的系统:

  • 在Virtualbox客户端中运行
  • 使用Ubuntu 14.04作为客户端操作系统

我采取的步骤:

重新加载apache

  • 结果:浏览器指向默认localhost“Apache2 Ubuntu默认页面” 但不是我期望的这个域的小index.html文件。

/var/log/apache2/error.log显示没有错误。

我在哪里弄错了,怎么解决?

1 个答案:

答案 0 :(得分:0)

你真的想做什么?同一台服务器上有两个或多个虚拟主机?如果是这样,在根文件夹上创建2个左右的目录,例如

mkdir /var/www/html/example.com
mkdir /var/www/html/anotherhost.com

现在为两个主机创建测试页以区分它们。现在创建两个单独的虚拟主机文件,首先将默认配置文件复制到domain.conf:

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/anotherhost.com.conf

将新配置文件打开到编辑器中,我使用nano

sudo nano /etc/apache2/sites-available/example.com.conf

使内容看起来像:

<VirtualHost *:80>
 ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/html/example.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

对另一台主机执行相同操作并启用虚拟主机

sudo a2ensite example.com.conf
sudo a2ensite anotherhost.com.conf

重启apache