我有一个常规的Linux / Apache服务器(雇用托管),我主持一个PHP网站,我定期通过FTP更新。当我将更改推送到其Bitbucket存储库时,我想自动将更改部署到服务器。
首先,我通过SSH连接到服务器并将存储库克隆到目录(例如,myapp):
git clone [myapp GIT URL]
当我转到http://mydomain.com/myapp时,我得到内部服务器错误(500)。我认为这与权限或文件所有权有关。通过FTP,我chmod
所有文件到777,而仍然引发相同的错误。事实上,我可以删除目录的内容并通过FTP手动上传应用程序,错误将持续存在(dir的权限也设置为777)。修复它的唯一方法是删除目录并再次创建它并手动上传应用程序。
就像我说的,这是一个付费托管服务,所以我不拥有服务器或对它有任何高级控制。
为什么会这样?从我的角度来看它是否可以解决?
答案 0 :(得分:3)
刚刚发现这个问题,因为我遇到了同样的问题,我无法在任何地方找到答案,所以这对未来的每个人都会发现这个问题。
您必须编辑bashrc文件
$ vim ~/.bashrc
并将其添加到文件的底部
umask 022
在此之后你必须退出并登录才能生效(如果你使用ssh登录再次连接)或执行文件
. ~/.bashrc
现在你可以再次使用git克隆它会起作用。
您可以找到umask here
的文档