无法在 Apache 上查看网页

无法在 Apache 上查看网页

我正在尝试查看文件夹位于“/var/www/myapp”中的 web 应用程序,但是 Apache2 服务器向我发送了一个HTTP/1.0 500 Internal Server Error.

我在“/var/www”中有一个索引、Htm 和一个 phpinfo(),并且运行良好。

答案1

从我从这个问题中收集到的信息来看,你可以访问一些网站:

http://yourserveraddress.com/index.htm

并呈现一个页面,但是当您尝试访问时:

http://yourserveraddress.com/myapp/

它发送一个 500。

500 可能意味着几件事。一是您的“myapp”文件夹中可能没有 index.htm 或 index.php 文件,因此 Apache 尝试请求呈现文件夹本身,但不允许这样做(基于配置或权限)。

我会确保 myapp 中有一个索引文件。如果这不是问题,请检查以下命令:

ls -lha /var/www

 ls -lha /var/www/myapp

这将以人类可读的格式列出 /var/www(以及随后的 /var/www/myapp)中的所有文件和目录。例如,在 /var/www 中,您可能有:

drwxr-xr-w  2 root root 4.0K Dec 12 02:24 .
drwxr-xr-w 14 root root 4.0K Nov 24 20:29 ..
-rw-r--r--  1 root root   76 Dec 12 02:25 index.html
drw-r-----  2 root root 4.0K Jan 14 01:14 myapp

(请注意,文件大小/日期可能不同等)

在我的示例中,'root' 是所有者和组。带破折号的内容,r、w、x 是基于用户/组/其他的权限。在我的例子中,由于权限的原因,Web 服务器可以读取除 myapp 文件夹之外的所有内容。

您的情况可能发生的情况是,运行 Apache 的用户可能无权读取 myapp 文件夹的内容。检查此情况的一种方法是将文件的所有者权限更改为运行 Apache 的用户(我相信 Debian 默认为 www-data),或将文件夹/文件 chmod 为适当的权限级别。测试这是否是权限问题的一种方法是将 /var/www 中的所有内容设置为 chmod 777(但请注意,您不应以这种方式保留权限,因为这可能会对服务器的其他用户造成安全问题)。

检查在 /var/www 中运行的服务器的 error.log 日志也很重要。

相关内容