【问题标题】:500 Internal Server Error When Cloning Git Repo On LAMP CentOS VPS在 LAMP CentOS VPS 上克隆 Git 存储库时出现 500 内部服务器错误
【发布时间】:2015-08-16 02:01:18
【问题描述】:

使用 ssh(Laravel 应用程序)克隆或拉取 git repo 会在浏览 php 文件时导致内部服务器错误。手动添加一个 index.php 文件并回显一些东西可以正常工作。

我认为这是文件权限错误,但这仅发生在此服务器上。我克隆到的所有其他服务器都可以正常工作。

任何指导将不胜感激。

【问题讨论】:

  • 好吧,如果您不了解可能相关的细节,您希望我们如何提供帮助?例如文件系统权限,如果您已经怀疑这是问题所在?我们无法猜测它们,你明白吗?
  • 我不知道要提供什么细节。我知道将目录和文件的权限更改为 0755 到 0644,但是在克隆之后它们已经设置为这个。
  • 如果您从 http 服务器收到错误 500,首先要做的是查看其错误日志文件。您还可以查看文件权限。请记住,不仅权限代码,而且文件的用户和组帐户都是相关的。然后还要记住,不仅文件权限本身必须遵守,而且对层次结构中所有目录的权限也必须遵守,以便服务器进程实际上可以访问相关文件。
  • 感谢您的回复!生成的错误如下:pastebin.com/8qgbebHG 当我递归地将文件夹权限更改为文件夹 give-kitchen 的 0755 权限,然后再次仅将文件更改为 0644 时,错误消失了。我真的不想每次拉动都更改文件权限。有任何想法吗?再次感谢!
  • 这是您用于 git 工作流的帐户和环境的问题。注意设置用户组和文件掩码 (umask),以便 http 服务器进程可以访问新创建的文件和目录。您观察到的是帐户、设置和命令在 unixoid 系统中一起运行的方式的一般影响。您想了解设置帐户的组成员身份,即所谓的“suid bits”和 umask 设置。

标签: linux git ssh centos


【解决方案1】:

我遇到了同样的问题,按照这些说明解决了它

必须特别注意用户的 public_html 文件夹的不安全权限。以下命令将查看每个用户的 html 文件夹并制作适当的 CHMOD 以允许 php 在 SUPHP 下正确执行。不要忘记检查“nobody”或“root”拥有的文件——它们也会失败并出现 500 错误。

find /home/*/public_html/ -type d -print0 | xargs -0 chmod 0755 # For directories
find /home/*/public_html/ -type f -not -name "*.pl" -not -name "*.cgi" -not -name "*.sh" -print0 | xargs -0 chmod 0644 # For files
find /home/*/public_html/ -type f -name "*.cgi" -print0 -o -name "*.pl" -print0 -o -name "*.sh" -print0 | xargs -0 chmod 0755 # For CGI/Scripts

chmod all files and folders

【讨论】:

    猜你喜欢
    • 2019-02-01
    • 2011-01-26
    • 1970-01-01
    • 1970-01-01
    • 2011-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-29
    相关资源
    最近更新 更多