Skip to main content
← All Guides
Pterodactyl · 7 min read

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.

Related Tools & Resources

🔧

Minecraft Tools

Calculators, generators & server tools

🧱

Item Database

Browse all Minecraft items, stats & recipes

⚒️

Crafting Recipes

Visual crafting guides for every recipe