【问题标题】:Joomla extensions, file permissionsJoomla 扩展,文件权限
【发布时间】:2012-01-03 13:47:23
【问题描述】:

我在 Joomla 中安装扩展程序时遇到了很多麻烦,经过一番研究后,我意识到我认为我需要更改文件权限,我不知道该怎么做。在Joomla,系统信息,目录权限中,除了“configuration.php”之外,我所有的权限都设置为不可写。我不知道如何在 linux 上更改它。我正在运行 Joomla 1.7.3 和 Ubunutu 11.10。任何人都可以了解如何更改权限吗?

【问题讨论】:

    标签: linux joomla lamp


    【解决方案1】:

    您的问题很可能是 OWNERSHIP 而不是 PERMISSIONS 本身。

    问题是在 Web 服务器上运行 PHP 有两种主要方法。一个运行 PHP 作为 Apache 的一部分并且有这些问题。困难在于您以一个用户的身份放置文件,但 Apache Web 服务器以不同的用户身份访问这些文件。在您的情况下,Apache/PHP 创建了 configuration.php 文件,因此它是所有者并且可以写入它。其他文件是您放置的,因此 Apache/PHP 无法触及它们。

    有两种可能的解决方案:

    1) 将 Joomla 文件的所有权(递归)更改为 Apache/PHP 操作的用户。

    chown -R user:group *
    

    其中“用户”和“组”应替换为 Apache 操作的实际用户名和组名。在运行此命令之前,请确保您位于网络空间的根文件夹中。

    2) 使用 fast-cgi 和 SUExec 安装和配置 PHP 以通过 CGI 运行。

    如果您选择第一个选项 - 一切都会奏效 - 但如果您想手动编辑任何文件,例如模板和 css 文件,您将遇到困难。

    选项 2 对没有经验的人来说是一项繁重的工作,但消除了这些权限困难,因为 PHP 将像您一样访问文件。

    【讨论】:

      【解决方案2】:

      您是否在 Joomla 文件所在的机器上拥有 shell 访问权限,或者您甚至可以在桌面上运行它?那么应该就像在Joomla目录下运行以下两条命令一样简单:

      $ find . -type f -exec chmod 664 {} \;
      $ find . -type d -exec chmod 775 {} \;
      

      ...使所有文件和目录对拥有文件和他的组的用户可写(并且对所有用户可读);除非您是拥有这些文件的用户,否则您必须以 root 身份或以 root 权限执行命令(例如,通过在每个文件前面加上 sudo)。

      如果您只想允许用户(而不是组)写入权限,请使用644755 而不是664775;如果您只希望用户能够读取和写入它们,请分别使用600700;阅读 chmod 手册(在 shell 中键入 man chmod)了解更多详情。

      也可能是文件所有权问题(请参阅Dean Marshall's answer)。

      其实configuration.php应该是可写的;如果您从 Joomla 中更改配置中的某些内容,则应自动将其设置为只读。

      如果您发现仍然无法安装任何扩展,您可能需要将 Joomla 配置为使用 FTP 进行文件访问(可以在 Joomla 选项中进行设置)。如果运行 PHP 脚本的用户没有文件的写入权限,而只有 FTP 用户(例如托管环境可能会发生这种情况),则这是必要的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多