Обновление
Чтобы обновить WardPane, запустите установщик новой версии. Ваш .env, данные и сайты он сохранит, перед изменениями сделает резервную копию, а если новая версия не запустится, сам вернёт старую.
Обновление
Установщиком одной командой:
curl -fsSL https://wardpane.com/install | sudo bash
Или из архива:
tar xzf wardpane-<version>.tar.gz
cd wardpane
sudo ./install.sh
Обновление никогда не спрашивает данные для входа в панель повторно.
Что происходит при обновлении
- Новая версия готовится в
/opt/wardpane.new, а старая тем временем работает. Если на этом шаге что-то сломается, на сервере ещё ничего не изменено. - Данные (без баз GeoIP), приложение с
.envи юниты systemd копируются в/var/backups/wardpane/<time>/вместе со скриптомrestore.sh, который возвращает всё на место. Полная резервная копия отмечается файломCOMPLETE. - Панель останавливается, данные копируются ещё раз, старая версия переезжает в
/opt/wardpane.prev, а новая занимает её место. - Новая версия запускается и проверяется. Если она не поднимается, предыдущая версия и данные, снятые прямо перед переключением, восстанавливаются автоматически. То, что оставила новая версия, откладывается в
<DATA_DIR>.failed-<time>и/opt/wardpane.failed, а резервная копия отмечается какFAILED.
Хранятся три последние успешные резервные копии. Резервные копии неудачных обновлений чистятся отдельно, тоже по три.
.env при обновлениях
Установщик меняет только значения параметров, переданных явно (--email, --staging, --user, --password, --ip, --root-login, --no-root-login). Настройки из новых версий дописываются в конец закомментированными, и для них действуют значения по умолчанию. Имя или пароль, изменённые в панели, важнее значений из .env.
Ручное восстановление из резервной копии
sudo bash /var/backups/wardpane/<time>/restore.sh
restore.sh --app-only восстанавливает только приложение и юниты и сохраняет текущие данные, с предупреждением: пароли сайтов, которые новая версия сохранила в виде хешей, не будут работать в старой, пока вы не зададите их заново. Резервная копия, создание которой было прервано (нет файла COMPLETE), восстанавливается только с --force.
С Small Web Panel 1.x
WardPane 2.0 это переименованная Small Web Panel. Установщик 2.0 переводит установку 1.x на новую версию на месте:
- Пока 1.x ещё работает, установщик проверяет, что новые имена свободны, и делает обычную резервную копию, а также копирует все юниты
smallwebpanel*,/etc/smallwebpanel, состояние входа под root и список учётных записей. - Панель останавливается; юниты 1.x удаляются; пользователь
swpanelстановитсяwardpane, а учётные записи сайтовswp_<id>становятсяwp_<id>. uid и gid не меняются, поэтому владельцы файлов и ACL на папках сайтов остаются правильными./var/lib/smallwebpanelстановится/var/lib/wardpane. - WardPane запускается. Если запуск не удался, имена, юниты и данные возвращаются к состоянию 1.x, и 1.x запускается снова.
- Root-помощник заново создаёт настройки PHP в
/etc/wardpane, после чего/etc/smallwebpanelудаляется. Приложение 1.x остаётся в/opt/wardpane.prevдо следующего обновления.
Вернуть 1.x можно и позже, через restore.sh из этой резервной копии. Старые резервные копии в /var/backups/smallwebpanel остаются на месте; удалите их, когда убедитесь, что WardPane работает. После перехода один раз перезагрузите страницу панели (Ctrl+F5) и войдите снова.
У существующих сайтов остаются папки 1.x (/var/www/<domain>) и отдельные пользователи на каждый сайт. Новые сайты раскладываются по владельцам, как описано на странице сайты.