Apache2:启用的虚拟主机目录未加载,而是获取默认页面

Posted

技术标签:

【中文标题】Apache2:启用的虚拟主机目录未加载,而是获取默认页面【英文标题】:Apache2: Enabled vhost directory is not loading, getting default page instead 【发布时间】:2017-01-25 02:30:26 【问题描述】:

我的 php apache2 站点已配置并准备就绪,但不知何故我一直在获取默认页面。

sworup@sandwitchslayer:/etc/apache2/sites-enabled$ ls -l
total 0
lrwxrwxrwx 1 root root 34 Sep 17 00:38 sworup.com.conf -> ../sites-available/sworup.com.conf
sworup@sandwitchslayer:/etc/apache2/sites-enabled$ cat sworup.com.conf
<VirtualHost *:80>

    ServerName sworup.com.np
    ServerAlias sworup.com.np

    ServerAdmin sworup@sworup.com.np
    DocumentRoot /home/sworup/Code/sworup.com/current/public

    <Directory /home/sworup/Code/sworup.com/current/public>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
    </Directory>

    ErrorLog $APACHE_LOG_DIR/error.log
    CustomLog $APACHE_LOG_DIR/access.log combined

  </VirtualHost>

【问题讨论】:

您是否尝试过禁用 apparmor 并重新启动 Apache?这可能是权限问题。如果可行,您将需要正确配置 apparmor 以允许 apache 读取非标准文件夹。 或者,当然,您可以检查您的日志以查看是否有任何 apparmor 错误消息。 我停止了 apparmor,重新启动了 apache,但仍然显示默认页面 httpd 日志文件中有错误吗?您是否尝试过手动启动 httpd 以查看是否有任何未捕获的错误?如果有,请发帖。 root@sandwitchslayer:/var/log/apache2# cat error.log [Sat Sep 17 01:26:34.374591 2016] [mpm_prefork:notice] [pid 27897] AH00163: Apache/2.4.18 (Ubuntu) 已配置 -- 恢复正常操作 [Sat Sep 17 01:26:34.374625 2016] [core:notice] [pid 27897] AH00094: Command line: '/usr/sbin/apache2' 【参考方案1】:

好的,编辑您的 conf 文件并将端口更改回 *:80。删除新的监听行。

然后编辑您的“000-default.conf”文件(应该启用站点)并删除所有对 sworup.com.np 的引用。只有您的 sworop.com.conf 虚拟主机文件应该列出它。

重新启动 apache,您应该一切顺利。请记住遵循所有这些步骤。我要睡觉了,如果这不起作用(我相信它会),那么我明天会再次尝试提供帮助。

[在此处插入适当的时区时间段]。

【讨论】:

【参考方案2】:

仅根据您的 cmets 和对话列出问题,包括在此处和 the chats 中。

    禁用默认的 apache2 虚拟主机!

    sudo a2dissite 000-default.conf
    
    检查 apache 的根服务器配置并在此处注释掉 DocumentRoot 指令。 在您的 VHost 配置中使用 VHostUser 指令,因为您从另一个用户的帐户提供文件,该用户可能/可能不会授予 www-data 用户的访问权限。 我还建议将日志文件从默认更改为类似于您的 chhost/域本身的名称。这样检查它们更容易;-) 将服务器的监听端口改回 80。最终的 VHost 配置应如下所示

<VirtualHost *:80>

    ServerName sworup.com.np
    ServerAlias sworup.com.np

    VHostUser sworup
    VHostGroup sworup

    ServerAdmin sworup@sworup.com.np
    DocumentRoot /home/sworup/Code/sworup.com/current/public

    <Directory /home/sworup/Code/sworup.com/current/public>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
    </Directory>

    ErrorLog $APACHE_LOG_DIR/sworup.com.np-error.log
    CustomLog $APACHE_LOG_DIR/sworup.com.np-access.log combined

</VirtualHost>

【讨论】:

以上是关于Apache2:启用的虚拟主机目录未加载,而是获取默认页面的主要内容,如果未能解决你的问题,请参考以下文章

VM 上的 Apache 2 *有时* 找不到启用 mods 的目录

MAC为Apache2服务器配置多个虚拟主机

Windows 10 上的 Apache 2.4.46 虚拟主机

启用目录浏览 apache2 - Ubuntu

Apache 无法启动 - 表示 httpd 模块已加载但未运行

未提供 Apache2 默认主机 - ispconfig