Table des matières
Guide Complet : Comment Installer un Serveur Pterodactyl en 2025
Introduction
Pterodactyl est un panel de gestion de serveurs de jeux open-source qui révolutionne la façon dont nous gérons nos serveurs de jeux. Que vous soyez un hébergeur professionnel ou un passionné souhaitant gérer ses propres serveurs, Pterodactyl offre une interface moderne, intuitive et puissante pour déployer et gérer facilement des serveurs Minecraft, CS:GO, Rust, et bien d'autres jeux.
Dans ce guide complet, nous allons parcourir ensemble toutes les étapes nécessaires pour installer et configurer votre propre serveur Pterodactyl sur un VPS ou serveur dédié Linux.
Pourquoi Choisir Pterodactyl ?
Les Avantages Clés
- Interface Moderne : Un dashboard élégant et responsive
- Multi-jeux : Support de centaines de jeux différents
- Isolation des Serveurs : Utilisation de Docker pour une sécurité maximale
- API Complète : Intégration facile avec d'autres systèmes
- Gestion des Ressources : Contrôle précis de la RAM, CPU et stockage
- Open Source : Gratuit et personnalisable
Prérequis Système
Avant de commencer l'installation, assurez-vous que votre serveur répond aux exigences minimales suivantes :
Configuration Minimale
- OS : Ubuntu 20.04/22.04, Debian 10/11, ou CentOS 7/8
- RAM : 2 GB minimum (4 GB recommandé)
- CPU : 2 cœurs minimum
- Stockage : 20 GB minimum
- Accès Root : Nécessaire pour l'installation
- Nom de Domaine : Un domaine pointant vers votre serveur
Configuration Recommandée
- RAM : 8 GB ou plus
- CPU : 4 cœurs ou plus
- Stockage : SSD de 100 GB ou plus
- Bande Passante : Connexion 100 Mbps minimum
Étape 1 : Préparation du Serveur
Mise à jour du système
Commencez par mettre à jour votre système :
# Pour Ubuntu/Debian
apt update && apt upgrade -y
# Pour CentOS/RHEL
yum update -y
Installation des dépendances de base
Installez les outils essentiels :
# Ubuntu/Debian
apt install -y wget curl tar unzip git
# CentOS/RHEL
yum install -y wget curl tar unzip git
Configuration du pare-feu
Ouvrez les ports nécessaires :
# UFW (Ubuntu/Debian)
ufw allow 22/tcp # SSH
ufw allow 80/tcp # HTTP
ufw allow 443/tcp # HTTPS
ufw allow 2022/tcp # SFTP Wings
ufw allow 8080/tcp # Panel Wings
ufw enable
Étape 2 : Installation de Docker
Pterodactyl utilise Docker pour isoler les serveurs de jeux. Voici comment l'installer :
Installation de Docker
# Télécharger et exécuter le script d'installation Docker
curl -sSL https://get.docker.com/ | sh
# Démarrer Docker
systemctl enable docker
systemctl start docker
# Vérifier l'installation
docker version
Configuration de Docker pour Pterodactyl
Créez le réseau Docker pour Pterodactyl :
docker network create pterodactyl_nw
Étape 3 : Installation de MariaDB
Installation du serveur de base de données
# Ubuntu/Debian
apt install -y mariadb-server
# CentOS/RHEL
yum install -y mariadb-server
# Démarrer MariaDB
systemctl enable mariadb
systemctl start mariadb
Sécurisation de MariaDB
Exécutez le script de sécurisation :
mysql_secure_installation
Répondez aux questions comme suit :
- Enter current password for root: Appuyez sur Entrée
- Set root password? Y
- New password: Votre mot de passe fort
- Remove anonymous users? Y
- Disallow root login remotely? Y
- Remove test database? Y
- Reload privilege tables? Y
Création de la base de données Pterodactyl
mysql -u root -p
# Dans MySQL/MariaDB :
CREATE DATABASE panel;
CREATE USER 'pterodactyl'@'localhost' IDENTIFIED BY 'VotreMotDePasseFort';
GRANT ALL PRIVILEGES ON panel.* TO 'pterodactyl'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Étape 4 : Installation de PHP et Extensions
Installation de PHP 8.1
# Ubuntu/Debian
apt install -y software-properties-common
add-apt-repository ppa:ondrej/php -y
apt update
apt install -y php8.1 php8.1-{cli,common,gd,mysql,mbstring,bcmath,xml,fpm,curl,zip,tokenizer}
# CentOS/RHEL (utiliser Remi repository)
yum install -y epel-release
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --enable remi-php81
yum install -y php php-{cli,common,gd,mysql,mbstring,bcmath,xml,fpm,curl,zip,tokenizer}
Étape 5 : Installation de Nginx
Installation et configuration de Nginx
# Ubuntu/Debian
apt install -y nginx
# CentOS/RHEL
yum install -y nginx
# Démarrer Nginx
systemctl enable nginx
systemctl start nginx
Configuration du Virtual Host
Créez un fichier de configuration pour Pterodactyl :
nano /etc/nginx/sites-available/pterodactyl.conf
Ajoutez la configuration suivante (remplacez panel.votredomaine.com par votre domaine) :
server {
listen 80;
server_name panel.votredomaine.com;
root /var/www/pterodactyl/public;
index index.php;
access_log /var/log/nginx/pterodactyl.app-access.log;
error_log /var/log/nginx/pterodactyl.app-error.log error;
client_max_body_size 100m;
client_body_timeout 120s;
sendfile off;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
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;
}
}
Activez le site :
# Ubuntu/Debian
ln -s /etc/nginx/sites-available/pterodactyl.conf /etc/nginx/sites-enabled/
systemctl reload nginx
# CentOS/RHEL (ajouter directement dans /etc/nginx/conf.d/)
mv /etc/nginx/sites-available/pterodactyl.conf /etc/nginx/conf.d/
systemctl reload nginx
Étape 6 : Installation de Composer
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composer
Étape 7 : Installation du Panel Pterodactyl
Téléchargement des fichiers
# Créer le répertoire
mkdir -p /var/www/pterodactyl
cd /var/www/pterodactyl
# Télécharger le panel
curl -Lo panel.tar.gz https://github.com/pterodactyl/panel/releases/latest/download/panel.tar.gz
tar -xzvf panel.tar.gz
chmod -R 755 storage/* bootstrap/cache/
Installation des dépendances
# Installation sans dev dependencies
composer install --no-dev --optimize-autoloader
Configuration de l'environnement
# Copier le fichier d'environnement
cp .env.example .env
# Générer la clé d'application
php artisan key:generate --force
Configuration de la base de données
Éditez le fichier .env :
nano .env
Modifiez les paramètres suivants :
APP_URL=https://panel.votredomaine.com
APP_TIMEZONE=Europe/Paris
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=panel
DB_USERNAME=pterodactyl
DB_PASSWORD=VotreMotDePasseFort
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=votrepassword
MAIL_ENCRYPTION=tls
[email protected]
Migration de la base de données
php artisan migrate --seed --force
Création du premier utilisateur administrateur
php artisan p:user:make
Suivez les instructions pour créer votre compte administrateur.
Définition des permissions
chown -R www-data:www-data /var/www/pterodactyl/*
Étape 8 : Configuration du Cron
Ajoutez une tâche cron pour Pterodactyl :
crontab -e
Ajoutez la ligne suivante :
* * * * * php /var/www/pterodactyl/artisan schedule:run >> /dev/null 2>&1
Étape 9 : Configuration de la Queue Worker
Créez un service systemd pour le worker :
nano /etc/systemd/system/pteroq.service
Ajoutez le contenu suivant :
[Unit]
Description=Pterodactyl Queue Worker
After=redis-server.service
[Service]
User=www-data
Group=www-data
Restart=always
ExecStart=/usr/bin/php /var/www/pterodactyl/artisan queue:work --queue=high,standard,low --sleep=3 --tries=3
StartLimitInterval=180
StartLimitBurst=30
RestartSec=5s
[Install]
WantedBy=multi-user.target
Activez et démarrez le service :
systemctl enable pteroq
systemctl start pteroq
Étape 10 : Installation de Wings (Node)
Wings est le démon qui gère les serveurs de jeux sur les nodes.
Installation sur le serveur node
# Créer le répertoire
mkdir -p /etc/pterodactyl
cd /etc/pterodactyl
# Télécharger Wings
curl -L -o /usr/local/bin/wings https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_amd64
chmod u+x /usr/local/bin/wings
Configuration de Wings
Dans le panel web, allez dans l'administration et créez un nouveau node. Copiez le fichier de configuration généré et collez-le dans :
nano /etc/pterodactyl/config.yml
Création du service Wings
nano /etc/systemd/system/wings.service
Ajoutez :
[Unit]
Description=Pterodactyl Wings Daemon
After=docker.service
Requires=docker.service
PartOf=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=180
StartLimitBurst=30
RestartSec=5s
[Install]
WantedBy=multi-user.target
Démarrez Wings :
systemctl enable wings
systemctl start wings
Étape 11 : Configuration SSL avec Let's Encrypt
Installation de Certbot
# Ubuntu/Debian
apt install -y certbot python3-certbot-nginx
# CentOS/RHEL
yum install -y certbot python3-certbot-nginx
Obtention du certificat SSL
certbot --nginx -d panel.votredomaine.com
Conseils de Sécurité
1. Firewall Configuration
Configurez strictement votre firewall pour n'autoriser que les ports nécessaires.
2. Fail2ban
Installez fail2ban pour protéger contre les attaques brute-force :
apt install fail2ban
3. Mises à jour régulières
Maintenez votre système et Pterodactyl à jour :
cd /var/www/pterodactyl
php artisan down
git pull
composer install --no-dev --optimize-autoloader
php artisan migrate --seed --force
php artisan up
4. Sauvegardes
Mettez en place des sauvegardes automatiques :
# Script de sauvegarde
#!/bin/bash
mysqldump -u pterodactyl -p panel > /backup/pterodactyl-$(date +%Y%m%d).sql
tar -czf /backup/pterodactyl-files-$(date +%Y%m%d).tar.gz /var/www/pterodactyl
Dépannage Courant
Problème 1 : Erreur 500
Solution : Vérifiez les permissions et les logs :
chown -R www-data:www-data /var/www/pterodactyl/*
tail -f /var/www/pterodactyl/storage/logs/laravel-*.log
Problème 2 : Wings ne démarre pas
Solution : Vérifiez Docker et la configuration :
docker ps
systemctl status wings
journalctl -u wings
Problème 3 : Base de données inaccessible
Solution : Vérifiez MariaDB :
systemctl status mariadb
mysql -u pterodactyl -p
Optimisations Recommandées
1. Redis pour le Cache
Installez Redis pour améliorer les performances :
apt install redis-server
systemctl enable redis-server
Dans .env, modifiez :
CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
2. Optimisation PHP
Modifiez /etc/php/8.1/fpm/php.ini :
memory_limit = 256M
upload_max_filesize = 100M
post_max_size = 100M
max_execution_time = 300
3. Optimisation MariaDB
Dans /etc/mysql/mariadb.conf.d/50-server.cnf :
[mysqld]
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
innodb_flush_method = O_DIRECT
innodb_flush_log_at_trx_commit = 2
Conclusion
Félicitations ! Vous avez maintenant un serveur Pterodactyl pleinement fonctionnel. Ce panel vous permettra de gérer facilement vos serveurs de jeux avec une interface moderne et des fonctionnalités avancées.
Prochaines Étapes
1. Explorez le Panel : Familiarisez-vous avec l'interface d'administration
2. Créez vos premiers serveurs : Testez avec un serveur Minecraft
3. Personnalisez : Adaptez les thèmes et paramètres à vos besoins
4. Automatisez : Utilisez l'API pour intégrer avec d'autres systèmes
5. Rejoignez la Communauté : Discord et forums Pterodactyl pour support
Ressources Utiles
- Documentation Officielle : https://pterodactyl.io/
- GitHub : https://github.com/pterodactyl/panel
- Discord Communauté : https://discord.gg/pterodactyl
- Forum : https://community.pterodactyl.io/
N'hésitez pas à partager cet article si vous l'avez trouvé utile, et n'oubliez pas de sécuriser votre installation avec des mises à jour régulières !
---
Dernière mise à jour : Janvier 2025