0

我有一个带有 apache 2.2.20、php 5.3.6 和 Joomla cms 安装的 ubuntu 服务器 11.10。我使用了一个额外的硬盘作为我的网络服务器存储并将它安装到 /data/www/ (我希望这不是我的问题!)。

我已将 Web 根目录中所有文件和文件夹的权限设置为 755,并将它们的用户组设置为 [默认 ubuntu 用户(在我的情况下为收音机)]:www-data。

在过去的几天里,我遇到了严重的问题,joomla 没有显示新上传的图像和其他文件,而且我也无法安装任何扩展。经过数小时的搜索,我发现上传的文件没有适当的权限(它们是 -rw-------),并且 Joomla 应用程序在上传后无法读取、复制或移动它们。

我想知道如何设置默认权限,以便我上传的所有文件都使用它?

PS:我已经测试过 umask 但它什么也没做。我认为这与我的问题无关。

4

2 回答 2

1

我实际上有同样的问题。我正在使用 plesk 共享主机。我已经进行了大约 20 个小时的研究,并提出了一些关于需要做什么的答案。首先,由 apache 处理的任何内容都会自动提供给 apache 用户组。这很好......问题是apache将php作为一个模块处理,因此一旦使用php通过apache执行操作就无法更改。最适合我的修复是更改 php 和 apache 以使用快速 cgi 执行,然后在上传后更改 apache 分配的默认权限。

您可以采取的第二条路线是 chown 一切,然后使用 ftp 进行安装。我在使用这种方法时遇到的主要问题是,因为 joomla 在通过 php 执行命令时使用 apache ......是使用 ftp 作为安装程序添加的任何新文件都会通过它有效地授予权限,不允许 apahe/php 进行任何更改除非文件被授予 777 权限,这是一个安全问题。

它有点像这样......作为一个例子。您通过 ftp 安装组件。因为 ftp 用户名现在被指定为所有者。Apache 不被视为用户组或所有者的一部分。因此,如果您想使用 joomla 进行更改...必须为其分配 777 权限。我发现了这一点,因为我想我会把所有的东西都放到我的 ftp 上,当我回到 joomla 并进入系统信息时......它说现在一切都不可写了。

希望这对您有所帮助……您只需环顾四周,看看什么最有效。

于 2012-06-10T02:41:31.560 回答
0

感谢您的回答。
经过数小时的研究和尝试,我设法通过禁用 FTP(我使用过 vsftpd)并将 umask 添加到 apache 配置而不是 php 文件来解决我的问题。现在一切正常,所有 chmod 都正常(755)。

顺便说一句:我不知道为什么它以最低访问权限上传文件。

于 2012-06-11T10:20:31.673 回答