Aktualizacja systemu
Zacznij od pełnej aktualizacji pakietów, następnie zrestartuj serwer.
apt update && apt upgrade -y reboot
Instalacja zależności
Dodaj repozytoria PHP 8.3 (sury.org), Redis i MariaDB, następnie zainstaluj wszystkie wymagane pakiety.
apt install -y curl ca-certificates gnupg2 sudo lsb-release # PHP 8.3 — sury.org echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/sury-php.list curl -fsSL https://packages.sury.org/php/apt.gpg | gpg --dearmor -o /etc/apt/trusted.gpg.d/sury-keyring.gpg # Redis curl -fsSL https://packages.redis.io/gpg | gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" \ | tee /etc/apt/sources.list.d/redis.list # MariaDB curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | bash apt update apt install -y php8.3 php8.3-{common,cli,gd,mysql,mbstring,bcmath,xml,fpm,curl,zip} \ mariadb-server nginx tar unzip git redis-server
Composer
Menadżer zależności PHP wymagany przez Pterodactyl Panel.
curl -sS https://getcomposer.org/installer | php -- \
--install-dir=/usr/local/bin --filename=composer
MariaDB
Uruchom usługę i zabezpiecz instalację bazy danych.
systemctl enable --now mariadb mysql_secure_installation
Baza danych
Utwórz dedykowaną bazę i użytkownika z dostępem wyłącznie dla panelu.
mariadb -u root -p CREATE DATABASE panel; CREATE USER 'pterodactyl'@'127.0.0.1' IDENTIFIED BY 'HASLO'; GRANT ALL PRIVILEGES ON panel.* TO 'pterodactyl'@'127.0.0.1'; FLUSH PRIVILEGES;
HASLO na silne, unikalne hasło. Nie używaj domyślnych wartości.Pobranie panelu
Pobierz i wypakuj najnowszą wersję Pterodactyl Panel z GitHub Releases.
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/
Instalacja panelu
Skopiuj konfigurację, zainstaluj zależności PHP i wygeneruj klucz aplikacji.
cp .env.example .env COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev --optimize-autoloader php artisan key:generate --force
Konfiguracja
Interaktywna konfiguracja środowiska, bazy danych i systemu e-mail.
php artisan p:environment:setup php artisan p:environment:database php artisan p:environment:mail
Migracje
Wykonaj migracje bazy danych i utwórz pierwsze konto administratora.
php artisan migrate --seed --force php artisan p:user:make
Uprawnienia
Nadaj właściwe uprawnienia plikom panelu.
chown -R www-data:www-data /var/www/pterodactyl
Cron + Worker
Dodaj zadanie cron uruchamiające scheduler Laravela co minutę.
# crontab -u www-data -e * * * * * php /var/www/pterodactyl/artisan schedule:run >> /dev/null 2>&1
Nginx — virtual host
Konfiguracja wirtualnego hosta. Zmień panel.twojadomena.pl na swoją domenę.
server { listen 80; server_name panel.twojadomena.pl; root /var/www/pterodactyl/public; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass unix:/run/php/php8.3-fpm.sock; include fastcgi_params; } }
/etc/nginx/sites-available/pterodactyl, utwórz symlink do sites-enabled i przeładuj Nginx.SSL (Certbot)
Certbot automatycznie skonfiguruje HTTPS i zmodyfikuje plik Nginx.
apt install -y snapd snap install core snap install --classic certbot certbot --nginx -d panel.twojadomena.pl
Docker
Wings wymaga Dockera do uruchamiania kontenerów serwerów gier.
apt install -y docker-ce docker-ce-cli containerd.io systemctl enable --now docker
Wings
Pobierz demona Wings. Plik konfiguracyjny wklej z panelu: Nodes → Config File.
mkdir -p /etc/pterodactyl curl -L -o /usr/local/bin/wings \ https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_amd64 chmod +x /usr/local/bin/wings # Po wklejeniu config.yml z panelu: systemctl enable --now wings
Test usług
Każda usługa powinna wyświetlić active (running).
systemctl status nginx systemctl status php8.3-fpm systemctl status mariadb systemctl status redis-server systemctl status docker systemctl status wings