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

NaN

FPE_INTDIV_TRAP
Команда форума
Меценат
Сообщения
1,447
Реакции
1,279
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

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

fenix28rn

Участник
Сообщения
342
Реакции
36
Можно в последней версии изменить тему?

ПС. Туслые шрифты, в консоли вообще плывут ...
 
Сверху