apache2 虚拟主机配置
Posted
技术标签:
【中文标题】apache2 虚拟主机配置【英文标题】:apache2 virtualhost configuration 【发布时间】:2014-10-29 06:51:05 【问题描述】:我想为 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 作为客户端操作系统我采取的步骤:
遵循http://www.debian-administration.org/article/412/Hosting_multiple_websites_with_Apache2 的原始说明 结果:在浏览器 localhost 中显示“Apache2 Ubuntu 默认页面” ** 所以 apache2 本身似乎运行正常。 我按照“www.example.com”文档中的所有步骤进行操作 我在 /var/www/www.example.com/htdocs 中添加了一个非常小的 index.html 文件来标识此站点并重新加载了apache
结果:浏览器指向默认本地主机“Apache2 Ubuntu 默认页面” 但不是我预期的该域的小型 index.html 文件。/var/log/apache2/error.log 没有显示错误。
我在哪里犯了错误,如何解决?
【问题讨论】:
【参考方案1】:你到底想做什么?同一台服务器上的两个或多个虚拟主机?如果是这样,在您的根文件夹上创建 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
【讨论】:
我这样做了。与您的建议的主要区别是虚拟主机的路径在 /var/www/html/example.com 而不是我的 /var/www/example.com ,所以没有 html .但没有结果。还有其他建议吗?以上是关于apache2 虚拟主机配置的主要内容,如果未能解决你的问题,请参考以下文章