Pterodactyl Panel – веб-панель управления игровыми серверами и приложениями, предназначенная для централизованного администрирования, автоматизации и мониторинга сервисов на VPS или выделенных серверах. Панель имеет удобный графический интерфейс, основана на фреймворке Laravel и взаимодействует с компонентом Wings, который выполняет непосредственный запуск и управление контейнерами на узлах.
Использование Pterodactyl Panel позволяет администраторам и пользователям управлять игровыми серверами, например, Minecraft, CS:GO, Rust и другими, через веб-интерфейс и без необходимости использования командной строки. Система поддерживает создание пользователей, распределение ресурсов, настройку резервного копирования, управление файлами, планирование задач, просмотр логов и мониторинг состояния серверов в режиме реального времени.
В статье разберём, как установить Pterodactyl Panel на сервер под управлением Ubuntu 24.04.
Как установить Pterodactyl Panel на Ubuntu 24.04
Предварительные условия
Для установки Pterodactyl Panel в настоящем руководстве будет использоваться виртуальный выделенный сервер с установленной и предварительной настроенной Ubuntu 24.04. Для доступа к веб-интерфейсу рекомендуется использовать доменное имя, привязанное к IP-адресу виртуального сервера. Данная привязка осуществляется при помощи специальной DNS-записи – A-записи, настройку которой можно произвести либо на сайте-регистраторе домена, либо в личном кабинете RUVDS.

Установка базового программного обеспечения
Перед инсталляцией Pterodactyl Panel установите набор базовых системных пакетов, необходимых для корректной работы менеджера пакетов APT, подключения сторонних репозиториев и безопасной загрузки программ по протоколу HTTPS:
$ sudo apt install software-properties-common curl apt-transport-https ca-certificates gnupg
В данном случае будут установлены следующие пакеты:
software-properties-common– утилиты для управления репозиториями APT, в том числе командаadd-apt-repository, которая используется для добавления сторонних источников пакетов;curl– инструмент командной строки, который применяется для загрузки файлов из сети;apt-transport-https– добавление поддержки протокола HTTPS в APT;ca-certificates– набор корневых сертификатов удостоверяющих центров, необходимых для проверки подлинности HTTPS-соединений;gnupg– инструмент для работы с криптографическими ключами GPG, используемый для проверки цифровых подписей пакетов и репозиториев.
Следующей командой добавьте в систему внешний APT-репозиторий ppa:ondrej/php, содержащий актуальные версии PHP и связанных модулей, которые изначально отсутствуют в стандартных репозиториях Ubuntu или представлены там в более старых версиях. Репозиторий поддерживается разработчиком Ondřej Surý и широко используется для установки современных версий PHP, в частности 8.2, 8.3 и более поздних, рекомендуемых для использования с Pterodactyl Panel:
$ sudo LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php
Далее загрузите GPG-ключ репозитория Redis:
$ curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
Затем добавьте в систему APT-репозиторий Redis, из которого можно будет установить сервер Redis через стандартный пакетный менеджер:
$ echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
После обновите списки пакетов:
$ sudo apt update
По окончании обновления установите набор программных пакетов, необходимых для работы Pterodactyl Panel:
$ sudo apt install php8.3 php8.3-{common,cli,gd,mysql,mbstring,bcmath,xml,fpm,curl,zip} mariadb-server nginx tar unzip git redis-server
Данной командой инсталлируются в систему:
- PHP 8.3 и расширения;
mariadb-server– сервер базы данных (вместо MariaDB можно использовать MySQL, в таком случае заменитеmariadb-serverнаmysql-server);nginx– веб-сервер;redis-server– сервер Redis, применяемый для кэширования, очередей задач и ускорения работы приложения;tar– утилита для создания и распаковки tar-архивов;unzip– утилита для распаковки ZIP-архивов;git– программный инструмент для загрузки исходного кода из репозиториев, например, с GitHub.
Установка Composer
Composer – менеджер зависимостей для PHP, который используется в Pterodactyl Panel для автоматической установки и обновления необходимых библиотек: Laravel-компонентов и других PHP-пакетов.
При установке панели Composer загружает требуемые PHP-библиотеки, подбирает совместимые версии пакетов, устанавливает зависимости и обеспечивает корректную работу фреймворка Laravel, на котором построен Pterodactyl Panel.
Установка Composer описана в отдельной статье нашего справочника.
Установка Pterodactyl Panel
Создайте каталог, который будет использоваться как основная директория установки Pterodactyl Panel. В данном каталоге будут размещены файлы веб-приложения:
$ sudo mkdir -p /var/www/pterodactyl
Перейдите в созданный каталог:
cd /var/www/pterodactyl
Далее загрузите архив с исходным кодом Pterodactyl Panel и сохраните его под именем panel.tar.gz:
$ sudo curl -Lo panel.tar.gz https://github.com/pterodactyl/panel/releases/latest/download/panel.tar.gz
После чего распакуйте загруженный архив:
$ sudo tar -xzvf panel.tar.gz
Затем установите права доступа 755 для всех файлов и каталогов внутри storage/ и bootstrap/cache/:
$ sudo chmod -R 755 storage/* bootstrap/cache/
Настройка СУБД
В качестве сервера базы данных для хранения служебной информации Pterodactyl Panel может использовать MySQL или MariaDB. Установка и предварительная настройка данных СУБД на Ubuntu описана в соответствующих статьях нашего справочника – MySQL, MariaDB.
В данном случае настройка СУБД заключается в создании для панели учётной записи и базы данных. Для этого запустите интерфейс командной строки СУБД под именем суперпользователя:
$ sudo mysql -u root -p
Здесь создайте пользователя для Pterodactyl Panel. В данном случае:
pterodactyl– имя пользователя;YourStrongP@ssw0rd– пароль создаваемого пользователя.
CREATE USER 'pterodactyl'@'127.0.0.1' IDENTIFIED BY 'YourStrongP@ssw0rd';
Затем создайте базу данных, например, под именем panel:
CREATE DATABASE panel;
Следующей командой выдайте пользователю pterodactyl полный набор прав на все таблицы базы данных panel:
GRANT ALL PRIVILEGES ON panel.* TO 'pterodactyl'@'127.0.0.1' WITH GRANT OPTION;
После чего отключитесь от командной строки СУБД:
EXIT;
Настройка Pterodactyl Panel
При помощи шаблона .env.example создайте рабочий файл конфигурации приложения:
$ sudo cp .env.example .env
Затем при помощи Composer установите зависимости PHP-проекта, используя при этом оптимизацию механизма автозагрузки PHP-классов для более быстрой работы приложения:
$ sudo COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev --optimize-autoloader
Следующей командой создайте новый секретный ключ приложения для Pterodactyl Panel с автоматической записью его в файл конфигурации .env:
$ sudo php artisan key:generate --force
Далее запустите мастер первичной настройки Pterodactyl Panel, который поможет задать основные параметры окружения приложения:
$ sudo php artisan p:environment:setup
В частности, в ходе работы мастера кроме всего прочего необходимо указать URL-адрес панели.

На следующем шаге запустите мастер настройки подключения Pterodactyl Panel к базе данных:
$ sudo php artisan p:environment:database
Здесь необходимо указать имя и пароль пользователя, созданного ранее при настройке СУБД.

При необходимости настройте параметры отправки сообщений через электронную почту:
$ sudo php artisan p:environment:mail
Затем создайте структуру базы данных Pterodactyl Panel и заполните её начальными служебными данными:
$ sudo php artisan migrate --seed --force
Далее создайте нового пользователя, который будет использоваться для подключения к веб-интерфейсу панели:
$ sudo php artisan p:user:make

Рекурсивно измените владельца и группу всех файлов и каталогов внутри /var/www/pterodactyl/ на пользователя www-data, под которым работает веб-сервер Nginx:
$ sudo chown -R www-data:www-data /var/www/pterodactyl/*
После чего создайте конфигурационный файл виртуального хоста Nginx:
$ sudo nano /etc/nginx/sites-available/pterodactyl
В файл добавьте следующее содержимое, указав доменное имя панели вместо panel.your-domain-name.ru:
server {
listen 80;
server_name panel.your-domain-name.ru;
root /var/www/pterodactyl/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}
}
Закройте файл с сохранением изменений и создайте символическую ссылку на конфигурационный файл сайта Pterodactyl Panel, чтобы включить данный сайт в Nginx:
$ sudo ln -s /etc/nginx/sites-available/pterodactyl /etc/nginx/sites-enabled/
Проверьте Nginx на корректность синтаксиса:
$ sudo nginx -t
Вывод команды должен выглядеть следующим образом.

Если ошибок нет, перезапустите службу Nginx:
$ sudo systemctl restart nginx
Настройка HTTPS-доступа к веб-интерфейсу Pterodactyl Panel
Для защиты передаваемых данных между пользователем и сервером необходимо настроить HTTPS-доступ к веб-интерфейсу Pterodactyl Panel. При использовании HTTPS весь трафик шифруется с помощью TLS. Это предотвращает перехват учётных данных, паролей, API-ключей и другой конфиденциальной информации.
HTTPS реализуется при помощи веб-сервера Nginx, который выступает в роли обратного прокси. В такой конфигурации Nginx принимает защищённые соединения от пользователей, расшифровывает трафик и передаёт его приложению, работающему локально. Для получения TLS-сертификата, как правило, используется Let’s Encrypt — центр сертификации, позволяющий бесплатно выпустить доверенный сертификат.
В случае с Pterodactyl Panel, работающем на Nginx, для настройки HTTPS потребуется утилита Certbot. Certbot обеспечивает получение TLS-сертификата от Let’s Encrypt и автоматическую настройку HTTPS в конфигурации Nginx. Кроме того, утилита позволяет настроить автоматическое продление сертификата до окончания срока его действия.
Следующей командой установите утилиту Certbot, а также её модуль для автоматической настройки HTTPS на Nginx:
$ sudo apt install certbot python3-certbot-nginx
Чтобы разрешить доступ к веб-панели по протоколу HTTPS, а также чтобы обеспечить прохождение проверки сайта со стороны Let’s Encrypt, в ходе которой задействуется протокол HTTP, добавьте в брандмауэр UFW следующие разрешающие правила:
$ sudo ufw allow http
$ sudo ufw allow https
Для установки сертификата выполните команду, в которой замените panel.your-domain-name.ru на имя вашего домена:
$ sudo certbot --nginx -d panel.your-domain-name.ru
В ходе выполнения команды Certbot убедится в том, что домен указывает на данный сервер и доступен из интернета. После чего утилита запросит бесплатный TLS-сертификат в центре сертификации Let’s Encrypt и внесёт изменения в конфигурацию веб-сервера для настройки HTTPS. Также будет создано задание на продление сертификата до окончания срока его действия.
Настройка автоматического выполнения фоновых задач и проверка доступности панели
Далее необходимо создать задание для автоматического выполнения фоновых задач, обеспечивающих корректную и стабильную работу панели. Задание позволит системе своевременно обрабатывать очереди, очищать устаревшие данные и обновлять служебную информацию.
Следующей командой установите службу планировщика задач cron, которая позволит автоматически выполнять команды и скрипты по расписанию и без участия пользователя:
$ sudo apt install cron
Затем откройте редактор для добавления запланированной задачи, которая будет выполняться от имени пользователя www-data:
$ sudo crontab -u www-data -e
В редакторе добавьте следующую строку cron-задания, которое каждую минуту будет запускать планировщик задач Laravel:
* * * * * php /var/www/pterodactyl/artisan schedule:run >> /dev/null 2>&1
Закройте редактор, сохранив внесённые изменения. После чего откройте браузер и перейдите на веб-интерфейс панели, используя его доменное имя. Для аутентификации в веб-панели используйте имя и пароль пользователя, ранее созданного командой sudo php artisan p:user:make.

Подключение к панели должно осуществляться с использованием протокола HTTPS.
