我正在尝试查看文件夹位于“/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 日志也很重要。