还没有能够解决这个问题呢..我已经看到了一些答案,但没有一个帮助。允许Apache执行git pull
我正在尝试使用Github Webhooks让github在我的服务器上创建一个url并让服务器在该命中后立即下拉新提交的项目。我有以下的PHP脚本:
<?php `git pull [email protected]:my-user/myrepo.git`; ?>
然而,当命中运行为用户apache
该脚本,所以我尝试:
chown -R apache:apache .
,它仍然有一个权限被拒绝的错误。
于是我试着编辑sudoers文件,并改变了以下内容:
Host_Alias LOCAL=127.0.0.1
apache LOCAL=NOPASSWD: /var/www/html/git-hook.php
,并且仍然无法正常工作。
这是如何实现的?如果我运行:
sudo php git-hook.php
它工作得很好,所以在php文件中的代码没有任何问题。我只想让它自动化。
任何想法?
编辑:
我也忘了提。我甚至创建了一个文件夹/home/apache/.ssh
并将git pull的公钥和相同的结果复制到一起。
产生相同的结果。不知道我理解你的评论的最后一部分“其git sudo运行(通过PHP),而不是git-hook.php” – Peter
我的意思,而不是运行PHP作为根运行混帐,运行PHP作为Apache运行混帐作为根(所以你需要编辑sudoers中的'/ var/www/html/git-hook.php'行)。任何在apache错误日志中流失更多的东西? – didster