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 的目录
Windows 10 上的 Apache 2.4.46 虚拟主机