一般的linux文件权限问题:Apache和WordPress

我几个星期前从一个共享主机移动到一个VPS,我有这些恼人的权限问题与WordPress。 你知道你可以从pipe理面板下载和升级插件(和WordPress的本身),但是因为我搬了它开始问我我的FTP凭据,这有点慢,当我不得不更新〜20插件。

我认为这应该是某种权利问题。 我看了共享主机wordpress文件,他们都属于用户名和组kovshenin(kovshenin:kovshenin)和文件是-rw-r – r–和目录是drwx-r-xr-x。

在我的VPS apache运行在apache下:apache和我的文件是kovshenin:kovshenin。 我应该怎么做才能使他们可读和写kovshenin和Apache

此外,我更改了我的wordpress安装的所有文件和文件夹的权限0777,允许我安装和删除插件没有FTP,但是当我推到自动升级到WordPress 2.8.1它仍然要求我的FTP帐户。 这是一个问题或我错过了什么?

谢谢。

更新 :我设法在MediaTemple共享主机上运行idid www-data 。 用户kovshenin在kovshenin组中,而www-data在www-data组中。 没有更多的团体。 有什么窍门?

另一个更新好吧,我添加了apache用户到kovshenin组,我的wordpress文件是kovshenin:kovsheninrw-rw-r--权限和drwxrwxr-x权限,但是仍然有错误。 用户apache可以访问文件和文件夹,我可以使用wordpresspipe理面板中的在线主题和插件编辑器,我可以在wordpress中对.htaccess文件进行更改,但插件/主题安装仍然要求我FTP凭证!

有任何想法吗? 谢谢。

Solutions Collecting From Web of "一般的linux文件权限问题:Apache和WordPress"

我应该怎么做才能使他们可读和写kovshenin和Apache?

  • 创建一个新的组,说“wordpress”。
  • 将koveshenin和www-data用户添加到wordpress组中。
  • 将所有文件的组所有者更改为wordpress(使用chgrp)。
  • 确保所有的文件都是可写的。
  • 在所有感兴趣的目录上设置g + s(setgid)权限位。
  • 确保kovshenin和apache的默认umask包含组读取和写入权限。

最后一步是诀窍。 这意味着,只要kovshenin或apache在这些目录中创建一个文件,组的所有者将被设置为wordpress(而不是kovshenin或apache)。

根据这里你可以给所有权www-data。

在您的WordPress目录中运行以下命令(需要sudo):

 sudo chown -Rf www-data * 

适用于Apache。

假设你的WordPress的安装目录是/var/www/html来批量改变所有的文件和目录到适当的权限使用:

 sudo find /var/www/html/ -type d -exec chmod 775 {} \; sudo find /var/www/html/ -type f -exec chmod 664 {} \; 

大规模改变一切使用的所有者组:

 sudo chgrp -R <desired_username>.<desired_groupname> /var/www/html 

我有同样的问题,我解决了在plesk中关闭PHP“safe_mode”,现在WP可以创建文件夹和移动文件没有任何问题。

我希望这可以帮助你。

目前,添加define('FS_METHOD', 'direct'); 到WP-config.php可能会做的伎俩。 不知道这会在09年工作。 使用nginx 在这里看到我的类似案例。 我发现这是一个重要的步骤。