Ошибка WP-CLI при установке плагинов / тем. "Не удалось создать каталог". Ошибка разрешений? Ubuntu 14.04 x64

Я искал несколько дней, пытаясь найти решение этой проблемы, но я сдался, и пришло время обратиться за помощью.

Я использую Wordpress на Ubuntu 14.04 x64, используя сервер Vagrant, созданный с помощью PuPHPet (автоматизированный графический интерфейс для создания коробок с Vagrant, Puppet и Hiera для тех, кто не знает). Я использую настроенную папку WordPress WP-Skeleton от Mark Jaquith, и у меня есть две общие папки; /var/www/wp (sitename/www/wp на хосте) для основных файлов Wordpress и /var/www/content/ (sitename/www/content на хосте) для пользовательского каталога контента, который является целью WP остов.

Когда SSH подключается к виртуальной машине и работает WP-CLI, кажется, что все работает правильно, поскольку WP-CLI знает путь к моему каталогу контента и файлы ядра 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.

Моя первая и единственная мысль до сих пор заключается в том, что это ошибка прав доступа, но, обладая ограниченными знаниями в этой области, я смог сделать только очень многое, однако могу сказать, что пытался изменить права доступа. каталог содержимого - 755, затем 765 и даже 777, используя chmod -v 755 /var/www/content/.

Это также не сработало, даже с разрешениями, установленными на 777. Так что еще может быть не так? Я знаю, что это, вероятно, связано с разрешениями для www-данных, но, как я уже сказал, у меня ограниченные знания о том, что искать или изменять. Я уверен, что это что-то простое, и я уверен, что это не имеет прямого отношения к WP-CLI, так как у меня есть чувство, если бы я использовал любое другое веб-приложение, чтобы попытаться установить в папку www, которая у меня была бы та же проблема.

Если кому-то понадобится какая-либо информация от меня, я включу ее, например, в мой файл congif.yaml (который при использовании Hiera с Puppet хранит всю информацию, которая обычно была бы в Vagranfile, и автоматизирует установку модулей Puppet). Он также содержит информацию о коробке Ubuntu, настройке папок и т. Д.

Спасибо заранее, PJ

Обновить:

Я хотел бы добавить, что добавление sudo wp plugin install jetpack --allow-root будет работать, когда я использую WP-CLI, однако мне не нужно использовать sudo, если я являюсь пользователем root, не так ли?

3 ответа

Решение

Я нашел ответ здесь, чтобы он работал на моем локальном сервере 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 Запуск мод PHP здесь, с (Быстрая) CGI (Общая) Настройка хостинга 755 для каталогов и 644 для файлов нормально работает хорошо.

Возможно, вам нужно определить в вашем файле config.php, где находится каталог содержимого. В зависимости от конфигурации вашего сервера, попробуйте добавить одну из следующих двух строк кода:

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

или же

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

Попробуйте с первым, если это не работает, попробуйте со вторым. Я обнаружил ту же ошибку при настройке wp-deploy, и это сработало для меня.

Для меня все, что мне нужно было сделать, это sudo chmod -R 775 wp-content, Владелец не повлиял на обновление плагина для меня, и мне не пришлось вносить никаких других изменений.

Что касается того, что @helgatheviking говорил о "усилении"... Если вы беспокоитесь о безопасности и хотите быть максимально безопасным, измените его на 755 впоследствии! Я бы сказал, что это хорошо, если вы не возражаете менять разрешения при каждом обновлении плагина WP-CLI.

Другие вопросы по тегам