WP-CLI错误安装插件/主题。 "无法创建目录"。权限错误? Ubuntu 14.04 x64

时间:2015-03-03 23:02:18

标签: wordpress ubuntu vagrant puppet puphpet

我现在一直在寻找解决这个问题的解决方案几天,但是我已经放弃并且有时间寻求帮助。

我在Ubuntu 14.04 x64上运行Wordpress,使用由PuPHPet创建的Vagrant服务器(一个自动GUI,用于为那些不知道的人创建Vagrant,Puppet和Hiera的框)。我使用Mark Jaquith的WP-Skeleton Wordpress文件夹设置,并设置了两个共享文件夹;用于Wordpress核心文件的/ var / www / wp(主机上的sitename / www / wp)和/ var / www / content /(主机上的sitename / www / content)用于WP的目的的自定义内容目录-Skeleton。

当SSH进入VM并运行WP-CLI时,只要WP-CLI知道我的Content目录的路径和Wordpress核心文件,一切似乎都能正常工作。问题是在尝试安装插件或主题时,如下所示 -

[07:20 PM]-[vagrant@packer-virtualbox-iso-1422601639]-[/var/www]-[git master] $ wp plugin install jetpack Installing Jetpack by WordPress.com (3.3.2) Downloading install package from https://downloads.wordpress.org/plugin/jetpack.3.3.2.zip... Unpacking the package... Warning: Could not create directory.

我的第一个,到目前为止唯一的想法是这是一个权限错误,但由于我对这个领域的了解有限,我只能做这么多,但是,我可以说我&#39 ;尝试使用chmod -v 755 / var / www / content /.//>将Content目录的权限更改为755,然后是765,甚至是777。

即使权限设置为777,这也没有用。那么还有什么可能是错的?我知道这可能与www-data的权限有关,但就像我说的那样,我对要查找或更改的内容知之甚少。我确信这很简单,我确定这与WP-CLI没有直接关系,因为我有一种感觉,如果我使用任何其他网络应用程序尝试安装到www我遇到同样问题的文件夹。

如果有人需要我的任何信息,我会包含它,例如我的congif.yaml文件(当使用Hiera和Puppet存储通常在Vagran文件中的所有信息时,并自动安装Puppet模块)。它还包括有关Ubuntu框,文件夹设置等的信息。

提前致谢, P.J。

更新

我想补充一点,当我使用WP-CLI时,添加sudo wp plugin install jetpack --allow-root会起作用,但是,如果我是root用户,我不应该使用sudo吗? / p>

3 个答案:

答案 0 :(得分:5)

我找到了答案here,使其可以在我的本地MBP OSX服务器上运行。将define('FS_METHOD','direct');添加到wp-config.php

确保所有文件和文件夹都是775(还没有减少权限,但我肯定是可行的 - 即文件的664 - 本地也是如此)并且所有文件和文件夹都归your user和群组_www。 在项目文件夹内运行:

sudo chown user:_www  *
sudo chmod -R 775 *

这应该允许您运行wpcli并创建没有问题的目录,而不使用root

NB _www适用于OSX Apache用户组。对于Ubuntu,您需要www-data

NBB 在这里运行Mod PHP,目录的(快速)CGI(共享)托管设置755和文件的644通常运行良好。

答案 1 :(得分:1)

也许您必须在config.php文件中定义内容目录所在的位置。根据服务器的配置,尝试添加以下两行代码之一:

define('WP_CONTENT_DIR', realpath(dirname(__FILE__) . '/content'));

define('WP_CONTENT_DIR', realpath($_SERVER['DOCUMENT_ROOT'] . '/content'));

尝试使用第一个,如果它没有工作尝试第二个。我发现配置wp-deploy时出现了同样的错误,这对我有用。

答案 2 :(得分:0)

对我来说,我所要做的就是sudo chmod -R 775 wp-content。所有者对我没有影响插件的更新,我也不需要进行任何其他更改。

关于@helgatheviking所说的“强化” ...如果您担心安全性并希望尽可能地安全,请将其更改为755!我想说这是一件好事,只要您不介意每次WP-CLI插件更新都更改权限。