无法使用 Apache 2.4 创建虚拟主机

Posted

技术标签:

【中文标题】无法使用 Apache 2.4 创建虚拟主机【英文标题】:Unable to create virtual hosts with Apache 2.4 【发布时间】:2014-01-27 06:07:57 【问题描述】:

我正在尝试在新的 Ubuntu 13.10 安装上配置多个虚拟主机作为开发服务器。它只需要为自己服务。 Apache服务器版本:Apache/2.4.6 (Ubuntu)

我读过http://httpd.apache.org/docs/2.4/vhosts/name-based.html https://help.ubuntu.com/13.04/serverguide/httpd.html 和许多其他网站试图解决这个问题。

http://localhost 正在工作,但未找到 http://ncacaa.local。我错过了什么??? ping http://nacaa.local 返回ping: unknown host http://ncacaa.local

这里是 /etc/apache2/sites-available/ncacaa.conf 的内容

<VirtualHost *:80>
    DocumentRoot "/var/www/vhosts/htdocs-ncacaa"
    ServerName ncacaa.local
    ErrorLog "/var/log/apache2/ncacaa.localhost-error.log"
    <Directory "/var/www/vhosts/htdocs-ncacaa">
       Order allow,deny
       Allow from all
       Require all granted
    </Directory>
</VirtualHost>

在 a2ensite 创建的启用站点的目录中有一个指向它的符号链接

以下是 000-default.conf 文件中未注释掉的内容:

<VirtualHost *:80>
    ServerAdmin john@***.com
    DocumentRoot /var/www
    <Directory "/var/www">
            AllowOverride FileInfo
            Options Indexes FollowSymLinks
            Order allow,deny
            Allow from all
            Require all granted
    </Directory>
    ErrorLog $APACHE_LOG_DIR/error.log
    CustomLog $APACHE_LOG_DIR/access.log combined
</VirtualHost>

以下是 apache.conf 文件中未注释掉的内容:

Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
User $APACHE_RUN_USER
Group $APACHE_RUN_GROUP
HostnameLookups Off
ErrorLog $APACHE_LOG_DIR/error.log
LogLevel warn
LogLevel warn
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Require all denied
</Directory>
<Directory /usr/share>
    AllowOverride None
    Require all granted
</Directory>
<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
AccessFileName .htaccess
<FilesMatch "^\.ht">
    Require all denied
</FilesMatch>
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%Refereri\" \"%User-Agenti\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%Refereri\" \"%User-Agenti\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%Refereri -> %U" referer
LogFormat "%User-agenti" agent
IncludeOptional conf-enabled/*.conf
IncludeOptional sites-enabled/*
ServerName localhost:80

提前致谢!

【问题讨论】:

【参考方案1】:

配置中还需要一行来打开虚拟主机:

NameVirtualHost *:80

虽然错误“ping http://nacaa.local返回ping:未知主机http://ncacaa.local”表示您的dns没有解析。您需要添加到 /etc/hosts 或设置 dns。

【讨论】:

添加 NameVirtualHost 使 VHosting 可以在 Apache 2.4 上为我工作。谢谢

以上是关于无法使用 Apache 2.4 创建虚拟主机的主要内容,如果未能解决你的问题,请参考以下文章

Apache 2.4 虚拟主机被忽略

Apache 2.4 将本地虚拟主机重定向到 https 而不是 http

Apache httpd-2.4 相关文件

Apache 2.4 在同一端口上的多个虚拟主机

限制对 Apache 2.4 虚拟主机 (WAMP) 的访问

Apache 构建虚拟web主机 与 日志分隔