Каким образом можно устранить ошибки в админ-панели WordPress?

Что было сделано: установлен LAMP, phpMyAdmin и vsftpd. Все действия проводились под пользователем root, возможно, это связано с возникающей проблемой. Затем был создан пользователь developer с правами на чтение и запись во всех каталогах и файлах в /etc/www, и этот пользователь был добавлен в файл vsftpd.userlist. 

При попытке внести изменения в админке появляется окно авторизации по FTP. Я ввожу адрес хоста, имя пользователя developer и пароль — авторизация проходит успешно. Однако при попытке удалить плагин возникает ошибка: "Не удалось определить директорию плагинов WordPress", а при удалении темы появляется сообщение: "Удаление не удалось: Не удалось определить директорию тем WordPress." 

Может, кто-нибудь сталкивался с подобной проблемой? Это мой первый опыт настройки веб-сервера с нуля; обычно я работаю с готовыми решениями, и сейчас мне нужно вспомнить Linux.
  • 17 февраля 2025 г. 5:44
Ответы на вопрос 2
Проблема, с которой вы столкнулись, связана с правами доступа к директориям и настройками конфигурации WordPress. Давайте разберемся с вашими шагами и возможными решениями.

1. **Права на директории**:
   Убедитесь, что директории WordPress (wp-content, wp-includes и wp-admin) имеют правильные права доступа и владельца. Следующие команды помогут установить необходимые права и владельца:

   ```bash
   chown -R developer:www-data /etc/www/yourwordpressfolder
   find /etc/www/yourwordpressfolder -type d -exec chmod 755 {} \;   # Для директорий
   find /etc/www/yourwordpressfolder -type f -exec chmod 644 {} \;   # Для файлов
   ```

   Здесь `yourwordpressfolder` — это каталог, где находится ваша установка WordPress.

2. **Конфигурация FTP**:
   Убедитесь, что конфигурация vsftpd позволяет авторизованным пользователям записывать изменения.

   Проверьте файл конфигурации `/etc/vsftpd.conf` и убедитесь, что следующие параметры установлены правильно:

   ```text
   anonymous_enable=NO
   local_enable=YES
   write_enable=YES
   chroot_local_user=YES
   allow_writeable_chroot=YES
   ```

   После изменений перезапустите vsftpd:

   ```bash
   sudo systemctl restart vsftpd
   ```

3. **Константы для файловой системы в WordPress**:
   В вашем `wp-config.php` можно вручную указать FTP-доступ, чтобы избежать постоянной необходимости вводить данные:

   ```php
   define('FS_METHOD', 'direct');
   ```

   Это позволяет WordPress осуществлять изменения на файловой системе напрямую без FTP.

4. **Проверка SELinux (если используется)**:
   Если на вашей системе активирован SELinux, он может блокировать доступ. Проверьте его статус командой:

   ```bash
   sestatus
   ```

   Если SELinux включен, попробуйте переключить его в режим `permissive`:

   ```bash
   setenforce 0
   ```

   И перезагрузите сервер, чтобы изменения вступили в силу.

5. **Логи ошибок**:
   Просмотрите логи ошибок Apache для более подробной информации о происходящих сбоях. Логи по умолчанию могут находиться здесь:

   ```bash
   /var/log/apache2/error.log    # Для Debian/Ubuntu
   /var/log/httpd/error_log      # Для CentOS/RHEL
   ```

Следуя этим шагам, вы должны суметь устранить проблемы с доступом в админ-панели WordPress. Если проблема сохраняется, предоставьте больше информации об ошибках из логов или самих сообщений об ошибках.
Нету информации в файле конфигурации о месте установки модулей и самое простое решение по wp это docker есть официальный образ о саго wp
Похожие вопросы