WP запрашивает FTP-учетные данные при удалении плагина

Вопрос или проблема

WordPress требует от меня FTP-данные, когда я пытаюсь удалить или установить плагины. Я знаю, что это связано с правами доступа, но мне не удается разобраться. У меня есть пользователь системы Linux XYZ, а apache2 работает от имени www-data. Это работает:

sudo chown www-data:www-data -R /path/to/wordpress
sudo chmod 700 -R /path/to/wordpress

Но это небезопасно. Первоначально запланированная конфигурация была:

sudo chown XYZ:www-data -R /path/to/wordpress
sudo chmod 750 -R /path/to/wordpress
sudo chmod 770 -R /path/to/wordpress/wp-content

Согласно документации WordPress, wp-content — это единственная папка, к которой веб-сервер должен иметь доступ на запись. Она включает папки плагинов и тем.

Но это не работает. Я провел несколько часов, исследуя онлайн, но ничего не помогло, и я не знаю, что еще попробовать. Какие правильные права доступа, чтобы разрешить автоматические обновления и установку плагинов, не давая веб-серверу доступа на запись ко всему?

По какой-то причине следующее не работает:

sudo chown XYZ:www-data -R /path/to/wordpress
sudo chmod 770 -R /path/to/wordpress

Я думал, что это идентично первой версии выше, дающей www-data доступ на запись ко всему. Как это возможно??

Для решения этой проблемы просто отредактируйте свой файл конфигурации и добавьте нижеуказанный код:

define('FS_METHOD', 'direct');

Спасибо

Ответ или решение

Почему WordPress запрашивает FTP-учетные данные при удалении плагина?

Если WordPress запрашивает у вас FTP-учетные данные при удалении или установке плагинов, это, как вы правильно заметили, связано с правами доступа. Давай разберем вашу ситуацию и обсудим, как можно решить эту проблему, не подвергая риску безопасность вашего сайта.

Понимание прав доступа

WordPress требует определенных прав доступа к файлам и директориям, чтобы он мог автоматически производить установку и обновление плагинов и тем. Когда серверная сторона (в данном случае Apache, работающий под пользователем www-data) не имеет достаточных прав на запись в необходимые каталоги, WP запрашивает FTP-учетные данные для продолжения операции.

В вашем случае вы хотите, чтобы сервер имел доступ к нужным каталогам, а пользователю XYZ было предоставлено столько же прав, сколько необходимо, чтобы избегать несанкционированного доступа к остальным частям сайта.

Разбор текущих настроек

  1. Правильные настройки прав доступа:
    Используя команды:

    sudo chown XYZ:www-data -R /path/to/wordpress
    sudo chmod 750 -R /path/to/wordpress
    sudo chmod 770 -R /path/to/wordpress/wp-content

    Вы предоставляете писательский доступ группе www-data к директории wp-content, однако, по вашему описанию, это не работает. Вероятно, проблема заключается в том, как вы настраиваете права доступа к остальным директориям и файлам внутри WordPress.

  2. Отдельные права для текущего пользователя:
    Использование chmod 700 для всей директории – это чрезмерно строгая политика. Вам нужно изменить права для отдельных директорий.

    • Например, можно задать доступ 755 для всех каталогов, чтобы дать серверу возможность их просматривать и выполнять скрипты, но при этом уменьшить возможность записи в полях, где это не нужно:
      sudo find /path/to/wordpress -type d -exec chmod 755 {} \;
    • Для файлов можно установить права 644:
      sudo find /path/to/wordpress -type f -exec chmod 644 {} \;
  3. Прямой доступ к файловой системе:
    Другим возможным вариантом является редактирование файла wp-config.php и добавление следующей строки:

    define('FS_METHOD', 'direct');

    Эта настройка укажет WordPress использовать прямой метод доступа к файловой системе, тем самым устраняя необходимость в FTP.

Подводя итоги

Для того чтобы WordPress мог управлять плагинами и темами без необходимости ввода FTP-учетных данных, убедитесь, что вы правильно настроили права доступа:

  • Дайте группе www-data доступ к каталогам, необходимым для работы (например, wp-content).
  • Установите доступ для каталогов на 755, а для файлов – на 644.
  • Рассмотрите возможность добавления конфигурации для прямого доступа к файловой системе.

Соблюдая эти рекомендации, вы сможете обеспечить возможность автоматического обновления и установки плагинов, не поддавая весь сайт риску. Не забывайте регулярно проверять права доступа и обновлять настройки безопасности вашего WordPress.

Оцените материал
Добавить комментарий

Капча загружается...