Apache2 文档根目录位于 /home/ 文件夹中 - 权限

Apache2 文档根目录位于 /home/ 文件夹中 - 权限

不久前,我决定告别 Windows,开始我的 Linux 之旅。到目前为止,一切都很顺利。但当涉及到权限时,我有点不知所措。

我正在运行一个包含多个 CraftCMS 安装的 LAMP Stack。一切正常,但我无法执行 CraftCMS 的命令行工具。因为我没有所需的权限。

不过,我确实知道这是怎么回事。让我解释一下我的设置:

我的文档根目录位于/home/mike/websites/ 由于我的文档根目录位于我的主文件夹中,而不是/var/www/运行 apache 的用户无权访问我的文档根目录。我通过将用户设为www-data的所有者来解决这个问题/home/mike/websites/。我通过运行 来做到这一点 网站此时运行良好,但我自己无权访问。为了解决这个问题,我使用以下命令sudo chown -R www-data /home/mike/websites/ 将自己添加到组:www-datasudo usermod -a -G www-data mike

这就是我们现在的情况。几乎一切都运行正常,我可以正常访问所有内容。

当尝试运行时,./craft/home/mike/websites/websiteA/收到一个错误:bash: ./craft: Permission denied 如果我使用 sudo 权限运行该命令,sudo ./craft我会收到错误:sudo: ./craft: command not found 我能让它工作的唯一方法是使用sudo php ./craft。但这有点乏味。

不过我知道为什么:当我在控制台中输入 php 命令时,它将由我的用户执行。这可能没有该文件夹的 Php 权限。

现在,我该如何解决这个问题?或者我应该将文档根目录移动到/var/www/

什么才是正确的方法?

ls -l craft 输出: -rwxrwxr-x 1 www-data www-data 577 apr 30 11:02 craft

相关内容