Aller au contenu principal

Installer Pterodactyl Panel

Installation Pterodactyl Panel + Wings sur VPS Linux RedHeberg

Pterodactyl Panel est une solution de gestion de serveurs de jeu open-source moderne et intuitive. Ce guide vous accompagne dans l'installation complète du Panel et de Wings (daemon) sur un VPS Linux RedHeberg.

Pré-installation 1-clic disponible

RedHeberg propose Pterodactyl en pré-installation 1-clic lors de la commande de votre VPS. Cette option configure automatiquement Panel + Wings avec SSL.

Prérequis système

Configuration recommandée

ComposantSpécification
VPSVPS XEON M minimum (4vCPU / 8GB RAM)
OSDebian 12 (recommandé) ou Ubuntu 22.04/24.10
PHPVersion 8.3
Base de donnéesMariaDB 10.5+
CacheRedis
Serveur webNginx

Ports réseau requis

PortServiceProtocole
80HTTPTCP
443HTTPSTCP
8080Wings APITCP
2022Wings SFTPTCP

Installation du Panel Pterodactyl

1. Préparation du système

# Mise à jour du système
sudo apt update && sudo apt upgrade -y

# Installation des dépendances de base
sudo apt install -y software-properties-common curl ca-certificates gnupg2 sudo lsb-release

# Ajout du dépôt PHP 8.3
curl -sSL https://packages.sury.org/php/apt.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/php.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list

sudo apt update

2. Installation des composants requis

# Installation PHP 8.3 et extensions
sudo apt install -y php8.3 php8.3-{common,cli,gd,mysql,mbstring,bcmath,xml,fpm,curl,zip}

# Installation MariaDB
sudo apt install -y mariadb-server mariadb-client

# Installation Redis et Nginx
sudo apt install -y redis-server nginx

# Installation Composer
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

3. Configuration de la base de données

# Sécurisation de MariaDB
sudo mysql_secure_installation

# Création de la base de données Pterodactyl
sudo mysql -u root -p
CREATE USER 'pterodactyl'@'127.0.0.1' IDENTIFIED BY 'votre_mot_de_passe_fort';
CREATE DATABASE panel;
GRANT ALL PRIVILEGES ON panel.* TO 'pterodactyl'@'127.0.0.1' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

4. Installation du Panel

# Création du répertoire et téléchargement
sudo mkdir -p /var/www/pterodactyl
cd /var/www/pterodactyl

# Téléchargement de la dernière version
sudo curl -Lo panel.tar.gz https://github.com/pterodactyl/panel/releases/latest/download/panel.tar.gz
sudo tar -xzf panel.tar.gz
sudo chmod -R 755 storage/* bootstrap/cache/

# Configuration des permissions
sudo chown -R www-data:www-data /var/www/pterodactyl/*

5. Installation des dépendances et configuration

# Installation des dépendances Composer
sudo -u www-data composer install --no-dev --optimize-autoloader

# Configuration initiale
sudo php artisan p:environment:setup
sudo php artisan p:environment:database
sudo php artisan p:environment:mail

# Génération de la clé d'application
sudo php artisan key:generate --force

# Migration de la base de données
sudo php artisan p:migration:migrate --seed --force

# Création de l'utilisateur administrateur
sudo php artisan p:user:make

Configuration Nginx et SSL

1. Configuration Nginx

# Création du fichier de configuration
sudo nano /etc/nginx/sites-available/pterodactyl.conf
server {
listen 80;
server_name YOUR_SERVER_IP; # Remplacez par votre IP ou domaine
return 301 https://$server_name$request_uri;
}

server {
listen 443 ssl http2;
server_name YOUR_SERVER_IP;

root /var/www/pterodactyl/public;
index index.html index.htm index.php;
charset utf-8;

location / {
try_files $uri $uri/ /index.php?$query_string;
}

location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }

access_log off;
error_log /var/log/nginx/pterodactyl.app-error.log error;

client_max_body_size 100m;
client_body_timeout 120s;

sendfile off;

location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param PHP_VALUE "upload_max_filesize = 100M \n post_max_size=100M";
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTP_PROXY "";
fastcgi_intercept_errors off;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
}

location ~ /\.ht {
deny all;
}
}

2. Activation du site et SSL

# Activation de la configuration
sudo ln -s /etc/nginx/sites-available/pterodactyl.conf /etc/nginx/sites-enabled/pterodactyl.conf

# Installation Certbot pour SSL
sudo apt install -y certbot python3-certbot-nginx

# Génération du certificat SSL (remplacez YOUR_SERVER_IP par votre domaine)
sudo certbot --nginx -d YOUR_SERVER_IP

# Test et redémarrage
sudo nginx -t
sudo systemctl restart nginx

Installation de Wings (Daemon)

1. Installation de Docker

# Installation de Docker
curl -sSL https://get.docker.com/ | CHANNEL=stable bash
sudo systemctl enable --now docker

2. Installation de Wings

# Téléchargement de Wings
sudo mkdir -p /etc/pterodactyl
curl -L -o /usr/local/bin/wings "https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_$([[ "$(uname -m)" == "x86_64" ]] && echo "amd64" || echo "arm64")"
sudo chmod u+x /usr/local/bin/wings

3. Création du service systemd

# Création du fichier service
sudo nano /etc/systemd/system/wings.service
[Unit]
Description=Pterodactyl Wings Daemon
After=docker.service
Requires=docker.service
PartOf=docker.