[Часть V] Обновление панели Pterodactyl с 0.7.X на 1.0.0 (панели и демона)

NaN

SIGFPE
Команда форума
Сообщения
1,214
Реакции
854
1601115086811.png

Не так давно разработчики перевели разработку новой версии панели из беты в предрелиз(Release Candidate). Среди нового - переписанный на Go демон "Wings", система бекапов серверов, новый улучшенный UI панели, новое темное оформление, всяческие баг-фиксы.
Как сообщают разработчики, актуальная версия 1.0.0-rc.6 уже практически не имеет багов и можно спокойно обновляться всем, за исключением высоконагруженных проектов(хостинги), так как некоторые мелкие баги все еще могут встречаться. При обновлении все настройки и сервера сохраняются, не требуется даже их остановка. Полноценный релиз ожидается в середине октября, однако обновляться можно уже сейчас.
Давайте приступим к обновлению панели с с 0.7.X на 1.0.0.
Обновление будем производить основываясь на директориях из предыдущих гайдов, на Ubuntu 18.04 LTS.
Как всегда, написано основываясь на официальных гайдах (Upgrading 0.7 Series to 1.0 Series | Pterodactyl и Migrating to Wings | Pterodactyl).

Будьте осторожны! Официального способа даунгрейда на 0.7.X не предусмотрено, не устанавливайте обновление, если вы не хотите мириться с парой багов и новым UI!

ЧАСТЬ I. Обновление панели.
1. Выключаем панель.
Для этого переходим в папку с нашей панелью:
Bash:
cd /var/www/pterodactyl
И вводим следующую команду:
Bash:
# Переводим панель в режим обслуживания для запрета входа пользователей
php artisan down

2. Удаляем старые файлы и скачиваем новые.
Убеждаемся что панель выключилась и мы в нужной папке, выполняем следующие команды:
Bash:
# Удаляем директорию приложения, чтобы убедиться в чистой установке новой версии.
# Это не повлияет на ваши данные.
curl -L -o panel.tar.gz https://github.com/pterodactyl/panel/releases/download/v1.0.0-rc.6/panel.tar.gz
rm -rf $(find app public resources -depth | head -n -1 | grep -Fv "$(tar -tf panel.tar.gz)")

# Скачиваем и распаковываем новую панель, удаляем архив.
tar -xzvf panel.tar.gz && rm -rf panel.tar.gz
Ссылку на актуальную версию стоит посмотреть в официальном гайде.

После данных действий, стоит выставить правильные права на файлы и папки, дабы избежать ошибок веб-сервера.
Bash:
chmod -R 755 storage/* bootstrap/cache
3. Обновляем зависимости.
Выполняем команду, находясь в той же папке:
Bash:
composer install --no-dev --optimize-autoloader

4. Очищаем кеш шаблонов.
Для корректного отображения нового интерфейса, понадобится сбросить кеш шаблонов:
Bash:
php artisan view:clear
php artisan config:clear

5. Обновляем БД и "яйца".
Необходимо обновить структуру БД и "яйца" для новой версии панели.

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

Bash:
php artisan migrate --force
php artisan db:seed --force
6. Устанавливаем права.
Последний шаг в обновлении панели - установка верных прав на файлы:
Bash:
# Если используется NGINX или Apache (не на CentOS):
chown -R www-data:www-data *

# Если используется NGINX на CentOS:
chown -R nginx:nginx *

# Если используется Apache на CentOS:
chown -R apache:apache *

7. Включаем панель.
Выходим из режима обслуживания, чтобы панель снова стала доступна:
Bash:
# Выключаем режим обслуживания.
php artisan up

Теперь необходимо поменять демона на "Wings", так как старый демон на NodeJS более не поддерживается.

Использовать старого демона с версиями >1.X.X НЕВОЗМОЖНО.

ЧАСТЬ II. Обновление демона.
Переходим на ваш VDS/DS с демоном и выполняем следующие действия.
Все данные ваших серверов останутся нетронутыми.

1. Скачиваем и устанавливаем нового демона.
Выполняем команды:
Bash:
mkdir -p /etc/pterodactyl
curl -L -o /usr/local/bin/wings https://github.com/pterodactyl/wings/releases/download/v1.0.0-rc.6/wings_linux_amd64
chmod u+x /usr/local/bin/wings
Ссылку на актуальную версию стоит посмотреть в официальном гайде.

2. Копируем новый файл конфигурации.
1601133203622.png

Переходим в панель администратора, далее в настройки ноды и копируем конфигурационный файл с помощью nano:
Bash:
nano /etc/pterodactyl/config.yml
Все изменения, которые были сделаны в прошлой конфигурации будут потеряны. После первого запуска демона, он автоматически заполнит новый файл конфигурации параметрами, где вы сможете заново внести необходимые изменения.


3. Удаляем старый демон и standalone SFTP сервер.
Выполняем команды ниже. Путь к демону будет использован по-умолчанию, как в гайдах.
Bash:
# Остановка старого демона.
systemctl stop wings

# Остановка и выключение SFTP сервера
systemctl disable --now pterosftp

# Удаляем старый демон. Ваши данные не будут затронуты.
# Помните, что данные серверов хранятся в /srv/daemon-data.
rm -rf /srv/daemon

# Удаляем службу SFTP сервера
rm /etc/systemd/system/pterosftp.service

4. Настраиваем службу
Открываем через nano службу wings:
Bash:
nano /etc/systemd/system/wings.service
Удаляем все и вставляем следующее:
Bash:
[Unit]
Description=Pterodactyl Wings Daemon
After=docker.service

[Service]
User=root
WorkingDirectory=/etc/pterodactyl
LimitNOFILE=4096
PIDFile=/var/run/wings/daemon.pid
ExecStart=/usr/local/bin/wings
Restart=on-failure
StartLimitInterval=600

[Install]
WantedBy=multi-user.target

5. Включаем демона
Наконец, последний шаг:
Bash:
systemctl daemon-reload
systemctl enable --now wings

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

ЧАСТЬ III. Решение проблем.


На этом обновление панели окончательно завершено.

© NaN. Специально для HLMod.ru. При копировании на другие ресурсы, ссылка на оригинал ОБЯЗАТЕЛЬНА.
 

NaN

SIGFPE
Команда форума
Сообщения
1,214
Реакции
854
Выявили один баг, при переходе на 1.0 сбрасываются права совладельцев, их нужно перевыдавать заново. Скорее всего поправят к полноценному релизу.
 
Сверху