Как установить Pterodactyl на VDS?
Устанавливаем панель Pterodactyl на Ubuntu 22.04/24.04: веб‑панель (Laravel+PHP), Nginx, MariaDB, Redis. В конце — SSL, создание админа и кратко про Wings.
Предварительные требования
- Пользователь с sudo, чистая система
- Домен/поддомен для панели (желательно)
- Открытые порты 80/443 (и 8080/2022 для Wings на нодах)
1) Обновление системы и базовые пакеты
Терминал
sudo apt update && sudo apt upgrade -y sudo apt install -y curl gnupg2 ca-certificates lsb-release git unzip
2) Веб‑стек: Nginx, MariaDB, Redis, PHP
Терминал
sudo apt install -y nginx mariadb-server redis-server sudo apt install -y php php-fpm php-cli php-mysql php-gd php-curl php-zip php-xml php-mbstring php-bcmath php-intl sudo systemctl enable --now nginx mariadb redis-server php*-fpm
Проведите первичную настройку MariaDB:
Терминал
sudo mysql_secure_installation
Создайте БД и пользователя:
Терминал
mysql -u root -p <<SQL CREATE DATABASE panel CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'panel'@'localhost' IDENTIFIED BY 'strongpass'; GRANT ALL PRIVILEGES ON panel.* TO 'panel'@'localhost'; FLUSH PRIVILEGES; SQL
3) Установка панели
Терминал
sudo mkdir -p /var/www && cd /var/www sudo mkdir pterodactyl && cd pterodactyl sudo curl -Lo panel.tar.gz https://github.com/pterodactyl/panel/releases/latest/download/panel.tar.gz sudo tar -xzvf panel.tar.gz && sudo rm panel.tar.gz sudo cp .env.example .env sudo chown -R www-data:www-data /var/www/pterodactyl
Сгенерируйте ключ и настройте .env (DB_*, APP_URL, CACHE_DRIVER, SESSION_DRIVER):
Терминал
sudo -u www-data php artisan key:generate --force sudo -u www-data php artisan migrate --seed --force
Настройте планировщик и очередь:
Терминал
echo "* * * * * www-data php /var/www/pterodactyl/artisan schedule:run >> /dev/null 2>&1" | sudo tee /etc/cron.d/pterodactyl sudo -u www-data php artisan queue:restart
4) Конфигурация Nginx
Терминал
sudo tee /etc/nginx/sites-available/pterodactyl >/dev/null <<'NGINX'
server {
listen 80;
server_name panel.example.com;
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/php-fpm.sock;
fastcgi_param PHP_VALUE "upload_max_filesize=100M \n post_max_size=100M";
}
client_max_body_size 100M;
}
NGINX
sudo ln -sf /etc/nginx/sites-available/pterodactyl /etc/nginx/sites-enabled/pterodactyl
sudo nginx -t && sudo systemctl reload nginx5) SSL сертификат (Let’s Encrypt)
Терминал
sudo snap install core; sudo snap refresh core sudo snap install --classic certbot sudo certbot --nginx -d panel.example.com --redirect -m admin@example.com --agree-tos -n
6) Создание администратора панели
Терминал
sudo -u www-data php artisan p:user:make
7) Установка Wings (агент) — кратко
На каждой ноде:
Терминал
curl -sSL https://get.docker.com/ | sh sudo systemctl enable --now docker sudo ufw allow 8080/tcp # API sudo ufw allow 2022/tcp # SFTP
Дальше — в панели создайте локацию, ноду и скачайте конфиг Wings. Полная инструкция — в официальной документации Pterodactyl.
Траблшутинг
- Ошибка 500: проверьте права
www-data,.env, логиstorage/logs/laravel.log. - Nginx 404/502: проверьте
root,fastcgi_pass,nginx -tи журналыjournalctl -u nginx. - Нет почты: настройте SMTP в
.env(MAIL_*).
Готово! Панель доступна по домену. Создайте локации/ноды, затем серверы.