Почти два дня ушло на поиски решения. Уже сколько раз говорю себе, что первым делом подумаю,а потом буду гуглить, но…Гугление началось, как всегда, с текста ошибки, выдаваемой WordPress’ом: “Unable to create directory”. Ошибка эта появлялась в следующих случаях: при попытке обновить WordPress(WP) через его Консоль, при попытке загрузить новые плагины, темы и изображения.
Все найденные решения мне не помогали, собственно, я еще до того, как прибегнула к поиску проверила права на папки, все разрешила, но это не помогло. Не помогли и всякие строчки, которые предлагалось прописать в wp-config, только с медиафайлами помог совет – убрать галочку с “Помещать загруженные мной файлы в папки по месяцу и году” и выставление прав 775 на папку wp-content/uploads.
И тут, о чудо, возникла мысль: а что это вообще за группы-то такие psaserv и psacln… В них-то и крылась вся проблема, вернее, не в них конкретно а в панели управления хостингом Plesk, которой и принадлежат эти группы.
При установке чего-либо,в данном случае WordPress(WP), с помощью панели управления хостингом Plesk, Plesk назначает группой папки httpdocs psaserv, в все файлы в этой папке относит к группе psacln. А у web-сервера дефолтный аккаунт apache, который не входит в группу psacln. Соответственно, раз пользователь не входит в группу, которая имеет права на запись в соответствующую директорию, то он и не может ничего там создать и в связи с этим-то и невозможно ни обновить WP, ни загрузить новые плагины.
Таким образом, решение проблемы кроется всего лишь в добавлении аккаунта web-сервера(apache) в группу psacln:
1) Открываем для редактирования файл /etc/group
2) Ищем в нем строчку psacln:x:505: и добавляем в конец слово “apache”, таким образом строчка теперь выглядит так: psacln:x:505:apache
(Вместо 505 может быть указано любое другое число)
Собственно, если бы до выполнения этих действий, никто бы права не менял,как попало…ага…то осталось бы просто перезапусти web-сервер командой service httpd restart . В противном случае нужно выполнить еще несколько команд, чтобы выставить корректных владельцев на директории.
3) Переходим в каталог с сайтом: cd /var/www/vhosts/[domain.com]
chown -R [username]:psacln httpdocs
chmod -R g+w httpdocs
find httpdocs -type d -exec chmod g+s {} ;
4) Перезапускам web-сервер: service httpd restart
5) Ура! С чистой совестью идем пить чай с пирогом 🙂
2 комментария
Встретился с такой же ошибкой на своём блоге… Пока обходился дефолтной темой, попробую сделать по вашему пути… О результатах отпишусь, если поможет.)
Ну тут ведь важна не столько возможность сменить тему, сколько возможность устанавливать плагины и обновлять систему. Очень надеюсь, что и Вам этот способ поможет. Отпишитесь, пожалуйста, se0ga!:)