允许 apache 在目录中进行 fopen/write 吗?

允许 apache 在目录中进行 fopen/write 吗?

我最近刚刚设置了 Apache,我正在设置一个基本网站,现在遇到了权限问题。首先,

/www/ /www/站点名称_com

归 meder:meder 所有

并且权限递归为 755(我是这样认为的)。

我设置了一个虚拟主机,现在在 sitename_com 中有一个“foo.php”,我试图在该目录中打开(创建一个新文件)。它将位于

/www/sitename_com/en/file.xml

然而 Apache 抱怨道:

警告:fopen(en/file.xml)[function.fopen]:无法打开流:权限被拒绝

www-user 是 Apache 对吧?我需要授予它对我的用户组 (meder:meder .. 不是真正的“组”) 的权限。

提前致谢。

答案1

哎呀。我最后确实做了……

  1. chmod -R meder:www-data BETA_sitename_com/ 钥匙
  2. chmod -R 770 BETA_sitename_com/

看起来对吗?有什么怪异之处吗?似乎有效。

答案2

777 绝对会让你获得对文件的写入权限。但为了确保安全,你只需要将其设置为 757 或 775 - 以允许 apache 写入文件为准。

答案3

您可能考虑的另一个想法是使用 apache 的“用户”配置指令并以 meder 用户身份运行 apache 网站。然后文件/目录可以分别具有 644/755 权限。

答案4

如果它是一个 fopen 命令并且涉及 php,您可以检查 php.ini

相关内容