几个星期前我从一个共享主机转移到一个VPS,我在WordPress上遇到了这些恼人的权限问题 . 你知道你可以从管理面板下载和升级插件(以及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帐户 . 这是一个wp问题还是我错过了什么?
谢谢 .
Update :我设法在MediaTemple共享主机上运行 id
和 id www-data
. 用户kovshenin在组kovshenin中,www-data在组www-data中 . 没有更多的团体 . 有什么诀窍?
Another update 好的,我将 apache
用户添加到 kovshenin
组,我的wordpress文件是 kovshenin:kovshenin
,具有 rw-rw-r--
权限和 drwxrwxr-x
目录权限,但仍有问题 . 用户 apache
可以访问文件和文件夹,我可以使用wordpress管理面板中的在线主题和插件编辑器,我可以从wordpress中更改.htaccess文件,但插件/主题安装仍然要求我FTP凭据!
有任何想法吗?谢谢 .
5 回答
创建一个新组,比如"wordpress" .
将koveshenin和www-data用户添加到wordpress组 .
将所有文件的组所有者更改为wordpress(使用chgrp) .
确保所有文件都是可写组的 .
Set the g+s (setgid) permission bit on all the directories of interest.
确保kovshenin和apache的默认umask包含组读写权限 .
第二步是诀窍 . 这意味着每当kovshenin或apache在这些目录中创建文件时,组所有者将被设置为wordpress(而不是kovshenin或apache) .
您可以根据here为www-data授予所有权 .
在WordPress目录中运行以下命令(需要sudo):
适用于Apache .
假设您的wordpress安装目录是
/var/www/html
,将所有文件和目录批量更改为适当的权限使用:要批量更改所有用户的所有者组:
我有同样的问题,我解决了它在plesk中关闭PHP'safe_mode',现在WP可以创建文件夹并移动文件没有任何问题 .
我希望这对你有帮助 .
目前,将
define('FS_METHOD', 'direct');
添加到wp-config.php可能会有所帮助 . 不确定那会在09年有效 . 有关使用nginx的类似案例,请参阅here . 我发现这是必不可少的一步 .