[Часть II] Установка панели Pterodactyl (серверная часть)

NaN

SIGFPE
Команда форума
Сообщения
1,170
Реакции
802
1589870433642.png

Первая часть - [Часть I] Установка панели Pterodactyl (веб-часть)

В этой части мы займемся созданием "ноды" (установкой демона, с помощью которого панель будет управлять хост-машиной и серверами на ней). В следующей части мы будем настраивать панель и самого "демона".
Оригинальная версия.

1. Требования для установки демона Pterodactyl

Поддерживаемые ОС:

Операционная системаВерсияПоддержкаЗаметка
Ubuntu18.04✅Документация написана основываясь именно на этой ОС
20.04✅
CentOS7⚠Необходимы доп. репозитории
8✅
Debian9✅
10✅
В спойлере ниже располагается условие для работы на VDS. Если у вас DS, то можете его пропускать.



2. Проверьте свое ядро
Будьте внимательны, некоторые хостеры устанавливают модифицированное ядро, которое не поддерживает важные функции Docker. Пожалуйста, проверьте версию используемого ядра командой
Bash:
uname -r
Если название заканчивается на -xxxx-grs-ipv6-64 или -xxxx-mod-std-ipv6-64, то скорее всего вы используете неподдерживаемое ядро. Проверьте следующую статью для подробностей.
Перейдем к необходимым пакетам/зависимостям:
  • Docker
  • Nodejs (v10, v12, версии выше должны работать, но не протестированы)
  • node-gyp
  • tar
  • unzip
  • make, gcc (gcc-c++ на CentOS), g++
  • python
1. Пример установки необходимых зависимостей

Установка Docker

Для быстрой установки Docker CE выполните команду ниже:
Bash:
sudo curl -sSL https://get.docker.com/ | CHANNEL=stable bash
Если вы хотите выполнить установку вручную, ознакомьтесь с официальными инструкциями для разных ОС.

Запуск Docker при загрузке
Если у вас ОС, использующая systemd(Ubuntu 16+, Debian 8+, CentOS 7+) выполните команду ниже, чтобы Docker автоматически запускался при перезагрузке сервера.
Bash:
sudo systemctl enable docker
На большинстве систем, Docker не сможет настроить swap. Вы можете проверить это, выполнив команду ниже.
Bash:
docker info
Если в выводе присутствует строчка WARNING: No swap limit support, это тот самый случай, когда Docker не смог выполнить настройку. Включение swap опционально, но рекомендуется его включить если вы собираетесь размещать сервера других людей и для защиты от ошибок связанных с нехваткой памяти.
Чтобы сделать это, для начала откройте настройки grub командой ниже.
Bash:
sudo nano /etc/default/grub
Найдите строчку начинающуюся на GRUB_CMDLINE_LINUX_DEFAULT и удостоверьтесь что она включает параметр swapaccount=1.
Наконец, просто запустите команды ниже, чтобы перезагрузить настройки grub и сам сервер. Swap будет включен.
Bash:
sudo update-grub
sudo reboot

Установка NodeJS
Просто запустите команды ниже для добавления репозитория и установки пакетов.
Bash:
sudo curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt -y install nodejs make gcc g++
Официальные инструкции:

2. Скачка файлов демона
Для начала создадим необходимые папки, в которых будут располагаться файлы демона и файлы серверов соответственно и перейдем в необходимый нам каталог.
Bash:
mkdir -p /srv/daemon /srv/daemon-data
cd /srv/daemon
Если вы используете сервер у хостеров OVH или SoYouStart, обратите внимание, что основная часть доступного места на диске отводится на папку /home, а не на / (как по-умолчанию). Используйте /home/daemon-data вместо /srv/daemon-data для данных сервера.

Следующим шагом будет скачка и разархивирование файлов демона.
Bash:
curl -L https://github.com/pterodactyl/daemon/releases/download/v%version%/daemon.tar.gz | tar --strip-components=1 -xzv
%version% необходимо заменить на номер последней актуальной версии. Ее всегда можно проверить в официальной документации.

Наконец, нам надо установить необходимые зависимости через npm. Пожалуйста, не прерывайте процесс.
Bash:
sudo npm install --only=production --no-audit --unsafe-perm
При установке зависимостей может быть выведено следующее предупреждение: "found 14 vulnerabilities (6 low, 3 moderate, 5 high) in 927 scanned packages". Игнорируйте это предупреждение и не запускайте предложенную команду, вы можете сломать демона.

3. Настройка работы в фоновом режиме
Создайте и откройте файл для настройки демона:
Bash:
sudo nano /etc/systemd/system/wings.service
Вставьте туда следующий текст:

Наконец, включите автозапуск демона при старте ОС.
Bash:
systemctl enable wings
Установка демона окончена.
 
Последнее редактирование:

NaN

SIGFPE
Команда форума
Сообщения
1,170
Реакции
802
4. Настройка standalone SFTP сервера
Начиная с версий [email protected] и [email protected] появилась возможность использовать SFTP сервер, отделенный от "демона". Он предоставляет улучшенную поддержку различных SFTP клиентов, увеличенную скорость передачи данных и некоторые другие полезные функции.
Оригинальная статья

Скачиваем файлы сервера в папку с демоном:
Bash:
cd /srv/daemon
curl -Lo sftp-server https://github.com/pterodactyl/sftp-server/releases/download/%version%/sftp-server
chmod +x sftp-server
Возьмите номер актуальной версии здесь и замените %version% на него.

Затем, настраиваем работу в фоновом режиме. Создаем и открываем файл сервиса:
Bash:
nano /etc/systemd/system/pterosftp.service
Вставляем следующий текст, при желании редактируем порт для подключения. Рекомендую оставить как есть.
Bash:
[Unit]
Description=Pterodactyl Standalone SFTP Server
After=wings.service

[Service]
User=root
WorkingDirectory=/srv/daemon
LimitNOFILE=4096
PIDFile=/var/run/wings/sftp.pid
ExecStart=/srv/daemon/sftp-server --port 2022
Restart=on-failure
StartLimitInterval=600

[Install]
WantedBy=multi-user.target
Включаем автозапуск сервера при старте ОС:
Bash:
systemctl enable pterosftp
SFTP сервер установлен.

5. Настройка SSL сертификата для сервера
Для безопасного общения панели и демона, необходимо настроить поддомен/домен у своего хостера или провайдера DNS, чтобы он указывал на IP ноды. После этого, создаем сертификат как в первой части нашего гайда.

Подключаем репозиторий certbot и устанавливаем его:
Bash:
sudo add-apt-repository ppa:certbot/certbot
sudo apt update
sudo apt install certbot
Создаем сертификат следующей командой:
Bash:
sudo certbot certonly -d %domain%
Необходимо, чтобы сертификат продлевался автоматически, для этого добавим строчку в crontab:
Bash:
0 1 * * * certbot renew  >> /dev/null 2>&1
Настройка завершена.

Третья часть - [Часть III] Установка панели Pterodactyl (настройка панели и демона)

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