我正在尝试让 WordPress 在我本地的 Ubuntu 12.10 安装上运行。
当我尝试安装时themes/plugins
,它要求我输入 FTP 凭据。
我已经尝试让它工作了 2 天。网络上到处都说你应该将owner:group
WordPress 目录的更改为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
以下其中一种:
任何一个
将 PHP 作为 FastCGI 运行,它可以作为与您的 Web 服务器不同的用户运行。
安装 PHP 的 ssh 扩展(sudo apt-get install libssh2-php)