首页 文章

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

提问于
浏览
17

几个星期前我从一个共享主机转移到一个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共享主机上运行 idid 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 回答

  • 0

    我应该怎样做才能使kovshenin和apache可读写?

    • 创建一个新组,比如"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) .

  • 23

    您可以根据here为www-data授予所有权 .

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

    sudo chown -Rf www-data *
    

    适用于Apache .

  • 1

    假设您的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
    
  • 0

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

    我希望这对你有帮助 .

  • 1

    目前,将 define('FS_METHOD', 'direct'); 添加到wp-config.php可能会有所帮助 . 不确定那会在09年有效 . 有关使用nginx的类似案例,请参阅here . 我发现这是必不可少的一步 .

相关问题