Восстановление прав на папки и файлы в WordOps

На сервере с WordOps (Nginx + PHP-FPM) сайт лежит под /var/www/<domain>/, а PHP обычно крутится от пользователя www-data. После ручных правок, rsync, git clone или восстановления из бэкапа права часто «ломаются»: загрузка медиа не пишет в uploads, плагины не обновляются, в логах Permission denied.

Ниже стандартное восстановление владельца и режимов: каталоги 755, файлы 644, owner www-data:www-data. Перед массовым chown/chmod сделайте бэкап.

Зачем это нужно

Неверные права дают два класса проблем:

  • Функциональные WP не может писать в wp-content, кэш, сессии, .htaccess/nginx-хелперы.
  • Безопасность слишком открытые 777/мировой write или, наоборот, root-owned файлы, которые нельзя обслуживать из PHP-FPM.

Базовый безопасный профиль для большинства WP-сайтов: каталоги 755, файлы 644, владелец веб-пользователя.

1. Перейти в каталог сайта

В WordOps корень vhost обычно такой:

cd /var/www/domain.com
# веб-корень чаще здесь:
# cd /var/www/domain.com/htdocs

Подставьте свой домен. Если правите только WordPress, работайте из htdocs (там wp-config.php и wp-content).

2. Владелец: www-data

На типовой установке WordOps PHP-FPM и Nginx работают с www-data. Назначьте владельца рекурсивно:

sudo chown -R www-data:www-data .
  • chown смена владельца и группы.
  • -R рекурсивно по дереву.
  • . текущий каталог (убедитесь, что вы не в /).

Если в вашей схеме другой pool-user (кастомный PHP-pool), подставьте его вместо www-data.

3. Права на каталоги: 755

find . -type d -exec chmod 755 {} \;

755: владелец rwx, остальные rx. Каталог должен быть «проходимым» (execute), иначе Nginx/PHP не зайдут внутрь.

4. Права на файлы: 644

find . -type f -exec chmod 644 {} \;

644: владелец rw, остальные r. Файлам execute обычно не нужен (исключения редкие CLI-скрипты вне веб-корня).

Одной пачкой

cd /var/www/domain.com/htdocs
sudo chown -R www-data:www-data .
sudo find . -type d -exec chmod 755 {} \;
sudo find . -type f -exec chmod 644 {} \;

Важные замечания

Бэкап перед правкой

Через WordOps:

wo site backup domain.com

wp-config и секреты

После массового 644 файл wp-config.php читается веб-пользователем это нормально. Не выставляйте ему 777. Если ужесточаете чтение, не отрежьте PHP-FPM от файла.

Плагины и кэш

Отдельные плагины (кэш, security, backup) могут создавать каталоги с особыми правами. Если после reset что-то перестало писать, проверьте именно их пути внутри wp-content.

Проверка

Откройте сайт, админку, загрузку медиа. Логи Nginx:

tail -f /var/log/nginx/error.log
# при необходимости site-specific:
# tail -f /var/www/domain.com/logs/error.log

Кратко

  • cd в каталог сайта (часто /var/www/domain.com/htdocs).
  • chown -R www-data:www-data .
  • каталоги 755, файлы 644.
  • бэкап до правок, проверка сайта и логов после.

Так вы возвращаете типичный профиль прав WordOps/Nginx/WordPress без «всем 777» и без файлов от root, к которым PHP не может писать.

Источники и ссылки


Комментарии загружаются…