Решение проблем

Начните с самой панели. Страница «Главная» и статус сайта показывают большинство проблем с короткой причиной, а подробности есть в разделе Журнал. Если панель не открывается совсем, подключитесь к серверу по SSH и воспользуйтесь командами ниже.

Команды

systemctl status wardpane          # запущена ли панель?
journalctl -u wardpane -f          # журнал панели в реальном времени
journalctl -u wardpane-sync        # root-помощник, который применяет настройки PHP и Node.js
journalctl -u 'wardpane-php@*'     # php-fpm сайтов
journalctl -u 'wardpane-pm2@*'     # демоны PM2, запускающие приложения Node.js, по одному на владельца
journalctl -u wardpane-auth        # проверка пароля root (вход под root)
sudo node /opt/wardpane/bin/unlock-login.js                 # снять блокировки входа
sudo node /opt/wardpane/bin/unlock-login.js --reset-access  # снова вход из .env

Панель не открывается

  • Проверьте, что служба работает: systemctl status wardpane.
  • Проверьте файрвол. Порт 1500 должен быть открыт в ufw и в файрволе VPS-провайдера, если у провайдера он есть.
  • Если задан PANEL_ALLOW_IPS, панель вообще не отвечает другим адресам. Подключитесь через SSH-туннель (см. безопасность панели) или сбросьте список с помощью --reset-access=allow-ips.
  • Первую минуту после установки, пока не выпущен сертификат для IP, браузер может предупреждать о самоподписанном сертификате.

Не получается войти

  • «Слишком много неудачных попыток входа. Повторите позже.»: подождите или выполните sudo node /opt/wardpane/bin/unlock-login.js.
  • «Вход сейчас недоступен» при входе под root: помощник проверки пароля root недоступен. Проверьте systemctl status wardpane-auth.socket и journalctl -u wardpane-auth. Повторный запуск install.sh создаст помощника заново.
  • Root не может войти, если его пароль заблокирован или пуст (passwd -S root показывает L или NP).

Сертификат не выпускается

  • Каждому имени сайта нужна запись A с IPv4 сервера. Если у имени есть записи AAAA, каждая из них должна указывать на этот сервер. Вкладка SSL показывает, каких имён нет в сертификате и почему.
  • Должен быть задан ACME_EMAIL.
  • За Cloudflare включите для сайта За Cloudflare и для первого выпуска используйте режим SSL Full или Flexible. См. Cloudflare.
  • Неудачные попытки повторяются с растущими паузами, и в журнале видно, когда будет следующая. Let’s Encrypt разрешает только 5 одинаковых сертификатов в неделю, поэтому WardPane старается не заказывать тот же набор имён повторно.

PHP-сайт показывает ошибки

  • Журнал ошибок PHP сайта есть в панели; на диске это logs/php-error.log рядом с файлами сайта.
  • PHP может писать только в tmp/, logs/, data/ и папки, которые вы перечислили. Загрузкам, кешам и обновлениям плагинов нужна своя папка в этом списке. Если вы загрузили файлы от root, кнопка Применить заново и исправить права вернёт им правильного владельца.
  • mail() в песочнице не работает: отправляйте почту через SMTP.
  • Если php-fpm не запускается в строгой песочнице, задайте PHP_SANDBOX=basic, перезапустите панель и сообщите о проблеме.

Приложение Node.js отдаёт 502

Приложение не слушает порт или упало. Откройте вкладку Обработчик сайта: там состояние, последнее действие и журналы вывода и ошибок. Убедитесь, что приложение слушает PORT и HOST, которые задаёт панель. После изменения зависимостей нажмите npm install, затем Перезапустить. См. Node.js.

Блокируются посетители, которых блокировать не нужно

  • Какая проверка их заблокировала, видно в статистике защиты сайта и в разделе Журнал.
  • Проверьте IP посетителя в разделе Дополнительно > Безопасность. Там видны страна и сеть, а также относится ли адрес к хостинговой сети и принадлежит ли известному краулеру.
  • Добавьте доверенные адреса в белый список сайта, тогда на них не будут действовать проверки сайта, кроме проверки устройств. Общий чёрный список при этом действует по-прежнему.
  • Если сайт за Cloudflare, а За Cloudflare выключено, каждый посетитель выглядит как Cloudflare. Включите эту настройку.

Повреждённые файлы данных

Если data.json или settings.json повреждён, панель берёт копию .bak, а сломанный файл сохраняет как *.corrupt-<time>. Если непригодны обе копии, панель не запускается, потому что запуск с пустыми настройками удалил бы все сайты. Восстановите данные из /var/backups/wardpane/<time>/ или удалите оба файла, чтобы начать с нуля.

Всё ещё не получается

Напишите на [email protected]. Расскажите, что вы делали и чего ожидали, и приложите нужные строки из journalctl -u wardpane, убрав из них пароли и токены. О проблемах безопасности пишите на [email protected].