How to Install Pterodactyl Panel Step by Step
Learn how to install Pterodactyl Panel on Ubuntu or Debian with PHP, MySQL, Redis, and Nginx so you can manage game servers from a modern web UI.
Why Install Pterodactyl Panel?
Pterodactyl is the most popular open-source game server management panel available today. When you install Pterodactyl Panel on your own VPS, you gain full control over server creation, resource allocation, file management, and user permissions. The panel runs on PHP, backed by MySQL and Redis, and sits behind a web server such as Nginx or Apache.
Prerequisites
Before you install Pterodactyl Panel, make sure your machine meets these requirements:
- Ubuntu 22.04 or Debian 12 (other distros work but these have the best community docs)
- At least 1 CPU core, 2 GB RAM, and 10 GB disk
- A registered domain pointing at your server IP (needed for SSL later)
- Root or sudo access
Step 1: Install System Dependencies
Update your package list, then install the packages Pterodactyl needs:
sudo apt update && sudo apt -y install php8.1 php8.1-cli php8.1-gd php8.1-mysql php8.1-mbstring php8.1-bcmath php8.1-xml php8.1-fpm php8.1-curl php8.1-zip mariadb-server nginx tar unzip git redis-server curl composer
Enable and start MariaDB and Redis so they survive reboots:
sudo systemctl enable --now mariadb redis-server
Step 2: Create the Database
Open the MariaDB shell and create a dedicated database plus user:
sudo mysql -u root -p
CREATE USER 'pterodactyl'@'127.0.0.1' IDENTIFIED BY 'YourStrongPassword';
CREATE DATABASE panel;
GRANT ALL PRIVILEGES ON panel.* TO 'pterodactyl'@'127.0.0.1' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
Step 3: Download and Configure Pterodactyl
Create the panel directory, download the latest release, and install PHP dependencies:
sudo mkdir -p /var/www/pterodactyl
cd /var/www/pterodactyl
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/
cp .env.example .env
composer install --no-dev --optimize-autoloader
Generate the app key, then run the installer to configure the database connection, mail, and your first admin account:
php artisan key:generate --force
php artisan p:environment:setup
php artisan p:environment:database
php artisan migrate --seed --force
php artisan p:user:make
Step 4: Set File Permissions
sudo chown -R www-data:www-data /var/www/pterodactyl/*
Step 5: Configure the Queue Worker
Pterodactyl processes background jobs through Laravel's queue. Create a systemd service at /etc/systemd/system/pteroq.service that runs php artisan queue:work with automatic restarts.
Step 6: Configure Nginx
Create a new Nginx server block that points to /var/www/pterodactyl/public. After enabling the site and reloading Nginx, you can open your domain in a browser to verify the login page loads.
Next Steps
With the panel running, you need at least one Wings daemon to actually host game servers. Follow our guide on installing Pterodactyl Wings to connect your first node. If you want HTTPS right away, check setting up SSL for Pterodactyl.
Skip the panel setup entirely. Astroworld Hosting comes with a full Pterodactyl panel, file manager, console, and scheduling on every plan.
Once you install Pterodactyl Panel and Wings, you can start deploying Minecraft, Rust, or any other game server from a single dashboard.