Ошибка 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.