我想用多个虚拟主机配置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在我看来非常相似,但它没有给我足够的信息来解决我的问题。
我已经遵循了一些建议,但在实施时我发现这不起作用(更多)我已经阅读了其他建议。我在此不再赘述。
我的系统:
我采取的步骤:
重新加载apache
/var/log/apache2/error.log显示没有错误。
我在哪里弄错了,怎么解决?
答案 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