WordPress, не заливаются файлы.
Установлен WordPress на Nginx c PHP-Fpm. Не получается залить файлы, получаем ошибки:
"Unpacking the package… Could not create directory."
"Не могу создать директорию wp-content/uploads/"
Подразумевается что файл «php.ini» уже отредактирован, в nginx «client_max_body_size» выставлен в адекватное значение и это проблему не решило.
Есть советы товарищей, которые нам вовсе не товарищи, сделать права на каталог сайта 777, что делать крайне нежелательно из соображений безопасности. Хотя это и помогает. Но это костыль, а не решение проблемы. Корень проблемы в следующем:
Nginx работает под пользователем «nginx», соответственно на директорию с сайтом установлен владельцем именно этот пользователь и группа.
PHP-FPM по умолчанию работает под пользователем «apache». Именно поэтому у WordPress не хватает прав на создание и изменение директорий. По умолчанию группа nginx имеет права только на чтение директории, поэтому добавление пользователя «apache» в группу «nginx» нам не поможет.
Логичное решение проблемы — запускать PHP-FPM под пользователем «nginx». Редактируем «/etc/php-fpm.d/www.conf», находим строки «user = apache» и «group = apache». Меняем в обоих строках «apache» на «nginx», перезапускаем php-fpm, радуемся работающей загрузке файлов.