尽管整个 /var/www 的所有者是 www-data,但 WordPress 仍要求提供 FTP 凭据

尽管整个 /var/www 的所有者是 www-data,但 WordPress 仍要求提供 FTP 凭据

我正在尝试让 WordPress 在我本地的 Ubuntu 12.10 安装上运行。

当我尝试安装时themes/plugins,它要求我输入 FTP 凭据。

我已经尝试让它工作了 2 天。网络上到处都说你应该将owner:groupWordPress 目录的更改为owner:group运行 Apache 服务器的任何目录 - 在我的情况下是www-data:www-data。我已经这样做了,甚至尝试将整个/var/www目录的权限设置为 777,重新启动 Apache 和整个系统。但 WordPress 仍然要求我提供 FTP 凭据。这还能是什么?

答案1

与此同时,我放弃了,决定配置 FTP 来解决这个问题。在这样做的时候,我发现 wordpress 实际上是在尝试在 /srv 目录下(??!)而不是我之前假设的 /var/www 下查找文件,如下所示:

#:/srv/www/wp-content/localhost$ ls -l
total 12
drwxrwxr-- 2 www-data www-data 4096 Dec  2 15:58 blogs.dir
lrwxrwxrwx 1 www-data www-data   39 Dec  2 15:58 languages -> /var/lib/wordpress/wp-    content/languages
lrwxrwxrwx 1 www-data www-data   37 Dec  2 15:58 plugins -> /var/lib/wordpress/wp-content/plugins
lrwxrwxrwx 1 www-data www-data   36 Dec  2 15:58 themes -> /var/lib/wordpress/wp-content/themes
drwxrwxr-x 3 www-data www-data 4096 Dec  3 13:20 upgrade
drwxrwxr-- 3 www-data www-data 4096 Dec  2 17:53 uploads

除了 user:group 被设置为 root:root 之外,/var/lib/wordpress 下的所有内容也是如此。一旦我将所有权限更改为 www-data:www-data,一切就开始在没有 FTP 的情况下正常工作。

现在的问题是,如果我自动安装主题,该主题无法正确激活。结果发现它安装在了错误的位置:

#:/var/lib/wordpress/wp-content/themes$ ls -l
total 12
lrwxrwxrwx 1 www-data www-data   48 Dec  3 12:11 index.php -> /usr/share/wordpress/wp-content/themes/index.php
drwxr-xr-x 7 www-data www-data 4096 Dec  3 13:38 montezuma
drwxr-xr-x 8 www-data www-data 4096 Dec  3 13:22 responsive
lrwxrwxrwx 1 www-data www-data   51 Dec  3 12:11 twentyeleven -> /usr/share/wordpress/wp-content/themes/twentyeleven
lrwxrwxrwx 1 www-data www-data   48 Dec  3 12:11 twentyten -> /usr/share/wordpress/wp-content/themes/twentyten
drwxr-xr-x 6 www-data www-data 4096 Dec  3 13:37 twentytwelve

所以我必须手动转到 /srv/www/wp-content,将上面的 montezuma、responsive 和 twentytwelve 移到 /usr/share/wordpress,然后用 ln -s 链接回来。真麻烦。

基本上,我发现的唯一解决方案是不使用 apt-get 方法安装 wordpress,而是执行以下操作:

cd /var/www    
sudo unlink wordpress
sudo wget http://wordpress.org/latest.tar.gz
sudo tar xvfz latest.tar.gz 

现在一切都按预期进行。最终解决方案 - 手动安装 wordpress,而不是从 Ubuntu 存储库安装。

答案2

以下其中一种:

任何一个

  1. 将 PHP 作为 FastCGI 运行,它可以作为与您的 Web 服务器不同的用户运行。

  2. 安装 PHP 的 ssh 扩展(sudo apt-get install libssh2-php)

相关内容