Nainštalujeme Pterodactyl Panel, webové rozhranie na správu herných serverov, na váš VPS. Na konci pobeží na adrese https://panel.example.cz s certifikátom Let's Encrypt, frontou úloh, cronom a vaším administrátorským účtom.
Čo budete potrebovať
- VPS u StormHostu s čistou inštaláciou Ubuntu 24.04 alebo Debianu 13
- Doménu alebo subdoménu pre panel (v návode
panel.example.cz) a prístup k jej nastaveniu DNS - Pripojenie cez SSH ako root (návod)
- Základnú prácu v termináli: úpravy súborov v editore
nano, kopírovanie príkazov - Približne 90 minút
Ako to funguje#
Pterodactyl má dve časti. Panel je webová aplikácia (PHP, framework Laravel), v ktorej zakladáte používateľov a servery a kde hráči ovládajú konzolu. Wings je služba, ktorá na serveri skutočne spúšťa herné servery v kontajneroch Dockeru. Panel aj Wings môžu bežať na rovnakom VPS. Tento návod inštaluje Panel, Wings pridáte v nadväzujúcom návode Pterodactyl Wings.
Panel potrebuje niekoľko ďalších programov:
| Súčasť | Na čo ju Panel potrebuje |
|---|---|
| PHP 8.3 + PHP-FPM | Panel je napísaný v PHP. PHP-FPM je proces, ktorý PHP kód spúšťa pre webový server. |
| MariaDB | Databáza. Ukladá používateľov, servery, nastavenia a šablóny hier. |
| Redis | Rýchle úložisko v pamäti pre cache, prihlásenia (session) a frontu úloh. |
| Nginx | Webový server. Prijíma požiadavky z prehliadača a odovzdáva ich PHP-FPM. |
| Composer | Správca knižníc pre PHP. Stiahne knižnice, ktoré Panel potrebuje. |
| Cron a služba pteroq | Cron každú minútu spúšťa plánovač Panelu, pteroq spracúva frontu úloh na pozadí (e-maily, naplánované úlohy serverov). |
Panel samotný je nenáročný. Ak na rovnakom VPS pobežia aj herné servery, plánujte RAM hlavne podľa nich a pripočítajte rezervu pre systém, databázu a Panel (orientačne 1–2 GB).
Potrebujete naozaj vlastný panel?
Pterodactyl sa oplatí, keď chcete na jednom VPS prevádzkovať viac herných serverov, spravovať ich cez web a dávať prístup ďalším ľuďom. Ak vám stačí jeden herný server, môžete si ho objednať priamo ako herný server a spravovať ho v zákazníckom účte bez inštalácie čohokoľvek.
Plán inštalácie#
| Fáza | Čo urobíte |
|---|---|
| 1. Doména | Nasmerujete panel.example.cz na IP adresu VPS. |
| 2. Firewall | Otvoríte porty 80 a 443. |
| 3. Závislosti | Nainštalujete PHP 8.3, MariaDB, Redis, Nginx a Composer. |
| 4. Panel | Stiahnete súbory Panelu, založíte databázu a nastavíte .env. |
| 5. Databáza a admin | Vytvoríte tabuľky a prvého administrátora. |
| 6. Pozadie | Nastavíte cron a službu fronty pteroq. |
| 7. HTTPS a Nginx | Získate certifikát a nastavíte webový server. |
| 8. Kontrola | Prihlásite sa a overíte, že všetko beží. |
Doména a DNS#
Panel potrebuje vlastnú doménu alebo subdoménu. Certifikát pre HTTPS sa vydáva na doménu, nie na IP adresu.
V zákazníckom účte otvorte Moje služby, kliknite na VPS a v záložke Sieť skopírujte IPv4 adresu (a prípadne IPv6 adresu).
U svojho DNS hostingu vytvorte záznam typu
Aprepanel.example.czs hodnotou IPv4 adresy VPS (napríklad203.0.113.10).Voliteľne vytvorte aj záznam
AAAAs IPv6 adresou VPS (napríklad2001:db8::10). Konfigurácia Nginx nižšie počúva aj na IPv6.Na VPS overte, že doména už ukazuje správne:
bash getent hosts panel.example.czgetent hosts– opýta sa systémového DNS na adresu domény a vypíše ju.
Uvidíte riadok s IP adresou vášho VPS. Keď sa nič nevypíše, počkajte pár minút (podľa TTL záznamu) a skúste to znova.
Cloudflare: počas inštalácie iba sivý obláčik
Ak doménu spravujete v Cloudflare, nechajte záznam v stave DNS only (sivý obláčik). Certifikát aj prvé prihlásenie tak overíte napriamo. Na Proxied (oranžový obláčik) môžete prepnúť až na konci, pozri Panel za Cloudflare. Postup s Cloudflare: Doména na VPS a Cloudflare.
Firewall#
Prehliadač sa k Panelu pripojí na port 443 (HTTPS). Port 80 (HTTP) je potrebný na overenie domény pri vydaní certifikátu a na presmerovanie na HTTPS.
Firewall v zákazníckom účte: ak máte prichádzajúcu prevádzku v režime Blokovať všetko okrem povoleného, pridajte pravidlá Prichádzajúce · Povoliť · TCP · port
80,443. Pravidlo pre SSH (port22) musí zostať. Návod: Firewall v zákazníckom účte.UFW vo VPS: ak ho používate, povoľte porty aj v ňom:
bash ufw allow 80/tcp ufw allow 443/tcpufw allow 80/tcp– povolí prichádzajúce TCP spojenia na port 80.ufw allow 443/tcp– to isté pre port 443.
Porty pre Wings (8080 a 2022) a pre herné servery otvoríte až v návode Pterodactyl Wings.
Inštalácia závislostí#
Najprv aktualizujte systém, aby ste inštalovali na aktuálny základ:
apt update && apt -y upgradeapt update– stiahne aktuálny zoznam balíkov.apt -y upgrade– nainštaluje dostupné aktualizácie;-yodpovie „áno“ na potvrdenie.
Potom nainštalujte závislosti. Postup sa líši podľa systému: Ubuntu 24.04 má PHP 8.3 priamo v repozitári, Debian 13 má v predvolenom repozitári PHP 8.4, ktoré Panel nepodporuje (aktuálny Panel vyžaduje PHP 8.2 alebo 8.3). Na Debiane preto pridáte repozitár packages.sury.org, ktorý odporúča aj oficiálna dokumentácia Pterodactylu.
Ubuntu 24.04
apt -y install php8.3 php8.3-{common,cli,gd,mysql,mbstring,bcmath,xml,fpm,curl,zip} mariadb-server nginx tar unzip git redis-server curlNa Ubuntu 24.04 nepridávajte žiadny repozitár pre PHP. Oficiálna dokumentácia spomína repozitár ppa:ondrej/php iba pre staršie Ubuntu 22.04.
Debian 13
Najprv pridajte repozitár s PHP 8.3:
apt -y install lsb-release ca-certificates curl
curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
dpkg -i /tmp/debsuryorg-archive-keyring.deb
echo "deb [signed-by=/usr/share/keyrings/debsuryorg-archive-keyring.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
apt updateapt -y install lsb-release ca-certificates curl– nástroj na zistenie názvu verzie systému, certifikáty pre HTTPS a sťahovací programcurl.curl -sSLo … debsuryorg-archive-keyring.– stiahne balík s podpisovým kľúčom repozitára (deb -sticho,-Sukázať chyby,-Lnasledovať presmerovania,-ouložiť do súboru).dpkg -i …– nainštaluje kľúč do/usr/share/keyrings/, apt ním potom overuje balíky z repozitára.echo "deb …" > /etc/– zapíše adresu repozitára.apt/ sources. list. d/ php. list $(lsb_release -sc)sa nahradí kódovým názvom systému (trixie).apt update– načíta balíky z nového repozitára.
Potom nainštalujte závislosti:
apt -y install php8.3 php8.3-{common,cli,gd,mysql,mbstring,bcmath,xml,fpm,curl,zip} mariadb-server nginx tar unzip git redis-serverMariaDB a Redis na Debiane 13 inštalujte z predvoleného repozitára, žiadny ďalší repozitár nepotrebujú.
Čo inštalačný príkaz obsahuje:
| Balík | Na čo je |
|---|---|
php8.3, php8.3-cli | PHP 8.3 a jeho príkazový riadok (pre príkazy php artisan). |
php8.3-fpm | Proces, cez ktorý Nginx spúšťa PHP. Počúva na sockete /run/php/php8.3-fpm.sock. |
php8.3-common, -gd, -mysql, -mbstring, -bcmath, -xml, -curl, -zip | Rozšírenia PHP, ktoré Panel vyžaduje: obrázky, pripojenie k MariaDB, práca s textami v UTF-8, presná matematika, XML, HTTP požiadavky a ZIP archívy. Zápis php8.3-{common,cli,…} je skratka shellu bash, rozpíše sa na php8.3-common php8.3-cli …. |
mariadb-server | Databázový server. |
nginx | Webový server. |
redis-server | Redis. |
tar, unzip, git, curl | Rozbaľovanie archívov a sťahovanie; Composer ich používa pri inštalácii knižníc. |
Overte, že máte správnu verziu PHP:
php -vPHP 8.3.x (cli) …Na prvom riadku musí byť PHP 8.3. Ak vidíte PHP 8.4, pozrite sa do časti Keď niečo nefunguje.
Skontrolujte, že bežia služby:
systemctl is-active mariadb redis-server nginx php8.3-fpmsystemctl is-active– vypíše stav každej uvedenej služby.
Uvidíte štyrikrát active. Ak je niektorá inactive, spustite ju a zapnite po štarte príkazom systemctl enable --now <NAZEV_SLUZBY>, napríklad systemctl enable --now redis-server.
Composer#
Composer stiahne PHP knižnice Panelu. Nainštalujte ho oficiálnym inštalátorom:
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composercurl -sS https://– stiahne inštalačný skript Composeru.getcomposer. org/ installer | php --– odovzdá skript PHP na spustenie;--oddeľuje parametre PHP od parametrov inštalátora.--install-dir=– kam sa Composer nainštaluje (priečinok, v ktorom systém hľadá programy)./usr/ local/ bin --filename=composer– názov programu, takže ho potom spustíte príkazomcomposer.
Overenie: composer --version vypíše Composer version 2.…. Ako root uvidíte aj varovanie Do not run Composer as root/super user! a možno otázku Continue as root/super user [yes]?. Potvrďte ju klávesom Enter. Pri inštalácii Panelu nižšie varovanie potlačí premenná COMPOSER_.
Stiahnutie Panelu#
Vytvorte priečinok pre Panel a prejdite doň:
bash mkdir -p /var/www/pterodactyl cd /var/www/pterodactylmkdir -p– vytvorí priečinok (aj s nadradenými); keď už existuje, nevypíše chybu.cd– prepne do priečinka. Všetky ďalšie príkazyphp artisanspúšťajte v ňom.
Stiahnite a rozbaľte najnovšiu verziu Panelu:
bash curl -Lo panel.tar.gz https://github.com/pterodactyl/panel/releases/latest/download/panel.tar.gz tar -xzvf panel.tar.gzcurl -Lo panel.tar.gz …– stiahne archív najnovšieho vydania z GitHubu a uloží ho akopanel.tar.gz.tar -xzvf– rozbalí archív (xrozbaliť,zformát gzip,vvypisovať súbory,fzo súboru).
Nastavte práva priečinkov, do ktorých Panel zapisuje:
bash chmod -R 755 storage/* bootstrap/cache/chmod -R 755– vlastník smie čítať, zapisovať a vstupovať do priečinkov, ostatní iba čítať a vstupovať.-Rplatí pre celý obsah.storage/– logy, cache a nahrané súbory;bootstrap/cache/– skompilovaná konfigurácia.
Databáza pre Panel#
Panel potrebuje vlastnú databázu a vlastného používateľa. Databázového používateľa root autori Pterodactylu pre Panel výslovne zakazujú: keby niekto Panel napadol, získal by prístup ku všetkým databázam na VPS.
Vygenerujte si silné heslo pre databázového používateľa, napríklad v generátore hesiel. Použite iba písmená a číslice (aspoň 24 znakov), aby ste nemuseli riešiť špeciálne znaky v SQL a v
.env. Heslo si uložte, budete ho o chvíľu zadávať znova.Prihláste sa do MariaDB ako správca:
bash mariadbmariadb– klient databázy. Používateľrootsystému sa na Ubuntu aj Debiane prihlási do MariaDB bez hesla (overením cez unix socket). Uvidíte výzvuMariaDB [(none)]>.
Vytvorte používateľa a databázu. Za
<HESLO_DB_PANELU>dosaďte heslo z kroku 1 (apostrofy okolo hesla ponechajte):SQL CREATE USER 'pterodactyl'@'127.0.0.1' IDENTIFIED BY '<HESLO_DB_PANELU>'; CREATE DATABASE panel; GRANT ALL PRIVILEGES ON panel.* TO 'pterodactyl'@'127.0.0.1'; exit
| Riadok | Čo robí |
|---|---|
CREATE USER 'pterodactyl'@'127. | Založí používateľa pterodactyl, ktorý sa smie prihlásiť iba z adresy 127.0.0.1, teda iba z tohto VPS cez TCP. Zvonku sa týmto účtom pripojiť nedá. |
IDENTIFIED BY '…' | Nastaví používateľovi heslo. |
CREATE DATABASE panel; | Vytvorí prázdnu databázu panel. |
GRANT ALL PRIVILEGES ON panel.* … | Dá používateľovi všetky práva, ale iba k databáze panel (panel.* = všetky tabuľky v nej). K iným databázam prístup nemá. |
exit | Ukončí klienta MariaDB. |
Prečo 127.0.0.1, a nie localhost
Panel sa k databáze pripája cez TCP na adresu 127.0.0.1. Autori Pterodactylu výslovne neodporúčajú zadávať localhost, pretože s ním PHP skúša spojenie cez socket a dochádza k ťažkostiam. Používateľ v databáze preto musí mať povolený host 127.0.0.1.
Konfigurácia prostredia (.env)#
Nastavenie Panelu je v súbore /var/. Vytvoríte ho z predlohy, nainštalujete knižnice a vygenerujete šifrovací kľúč.
Skopírujte predlohu:
bash cp .env.example .envNainštalujte PHP knižnice Panelu:
bash COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev --optimize-autoloaderCOMPOSER_– povolí spustenie Composeru ako root bez otázky.ALLOW_ SUPERUSER=1 composer install– stiahne knižnice presne vo verziách, ktoré určuje Panel (súborcomposer.lock).--no-dev– vynechá nástroje pre vývojárov, na produkčnom serveri ich nepotrebujete.--optimize-autoloader– pripraví rýchlejšie načítanie tried PHP.
Inštalácia trvá jednotky minút a končí bez chybových hlásení (žlté varovanie o zastaraných balíčkoch neprekáža).
Vygenerujte šifrovací kľúč:
bash php artisan key:generate --forcephp artisan– nástroj Panelu na správu z príkazového riadka.key:generate– vytvorí náhodný kľúčAPP_KEYa zapíše ho do.env.--force– vykoná príkaz bez potvrdenia (Panel beží v produkčnom režime, kde sa inak pýta).
Zálohujte APP_KEY hneď teraz
Kľúčom APP_KEY Panel šifruje citlivé dáta v databáze (napríklad API kľúče a heslá databázových hostiteľov). Keď ho stratíte, dáta nerozšifrujete ani zo zálohy databázy. Príkaz key:generate spustite iba pri prvej inštalácii. Na Paneli, ktorý už má dáta, by nový kľúč znamenal stratu prístupu k nim.
Zobrazte kľúč a uložte si celý riadok mimo servera (do správcu hesiel alebo šifrovaného súboru v počítači):
bash grep APP_KEY /var/www/pterodactyl/.envVýstuptext APP_KEY=base64:…
Sprievodca p:environment:setup#
Základné nastavenie vykoná sprievodca. Spustite ho:
php artisan p:environment:setupPostupne sa opýta na tieto veci (predvolená hodnota je v hranatých zátvorkách, potvrdíte ju klávesom Enter):
| Otázka | Čo zadať | Prečo |
|---|---|---|
E-mail autora (… Author Email) | Váš e-mail, napríklad [email protected] | Uvádza sa ako autor šablón hier, ktoré z Panelu exportujete. Musí to byť platný tvar e-mailu, inak sprievodca skončí chybou. |
Application URL | https://panel.example.cz | Adresa Panelu vrátane https://. Používa sa v odkazoch v e-mailoch a pri generovaní adries. Bez https:// budú odkazy viesť nesprávne. |
Application Timezone | Europe/Prague | Časové pásmo na zobrazenie časov a pre plánované úlohy (rovnako funguje Europe/Bratislava). |
Cache Driver | redis | Kam ukladať cache. Redis je najrýchlejší a odporúčaný. |
Session Driver | redis | Kam ukladať prihlásenia používateľov. |
Queue Driver | redis | Kam ukladať frontu úloh pre službu pteroq. |
Enable UI based settings editor? | yes | Časť nastavení (názov Panelu, pošta, reCAPTCHA) pôjde meniť v administrácii, nie iba v .env. |
Enable sending anonymous telemetry data? | podľa vás | Panel raz denne posiela autorom anonymné štatistiky (počet serverov, verzia systému). Ak nechcete, odpovedzte no. |
Redis Host | 127.0.0.1 | Redis beží na rovnakom VPS. |
Redis Password | nič, iba Enter | Lokálny Redis po inštalácii heslo nemá a počúva iba na 127.0.0.1. |
Redis Port | 6379 | Predvolený port Redisu. |
Keď zadáte adresu začínajúcu https://, sprievodca sám zapne bezpečné cookies (SESSION_).
Sprievodca p:environment:database#
php artisan p:environment:database| Otázka | Čo zadať | Prečo |
|---|---|---|
Database Host | 127.0.0.1 | Databáza beží na rovnakom VPS. Nezadávajte localhost (pozri vyššie). |
Database Port | 3306 | Predvolený port MariaDB. |
Database Name | panel | Databáza z predchádzajúcej kapitoly. |
Database Username | pterodactyl | Používateľ z predchádzajúcej kapitoly. |
Database Password | heslo <HESLO_DB_PANELU> | Pri písaní sa nezobrazuje. |
Sprievodca sa hneď skúsi pripojiť. Keď údaje nesedia, vypíše Unable to connect to the MySQL server…, nič neuloží a opýta sa, či to chcete skúsiť znova.
Sprievodca p:environment:mail#
Panel posiela e-maily (pozvánky nových používateľov, obnovenie hesla). Bez nastavenej pošty Panel funguje, iba tieto e-maily neodídu. Nastavenie môžete urobiť aj neskôr, rovnakým príkazom:
php artisan p:environment:mail| Otázka | Čo zadať | Prečo |
|---|---|---|
Which driver should be used for sending emails? | smtp | Odosielanie cez SMTP server vášho e-mailového poskytovateľa je najspoľahlivejšie. |
SMTP Host | adresa SMTP servera, napríklad smtp.example.cz | Nájdete ju v pomocníkovi svojho poskytovateľa e-mailu. |
SMTP Port | 587 (alebo 465) | 587 sa používa so šifrovaním TLS (STARTTLS), 465 so šifrovaním SSL. |
SMTP Username | celá e-mailová adresa schránky | Prihlasovacie meno k schránke. |
SMTP Password | heslo k schránke | Niektoré služby vyžadujú zvláštne „heslo pre aplikácie“. |
Encryption method to use | tls pre port 587, ssl pre 465 | Musí zodpovedať portu, inak sa spojenie nenadviaže. |
Email address emails should originate from | napríklad [email protected] | Adresa odosielateľa. Má patriť k doméne schránky, inak správy skončia v spame. |
Name that emails should appear from | napríklad Herný panel | Meno odosielateľa v e-maile. |
Dôležité kľúče v .env#
Sprievodcovia zapisujú do .env tieto hodnoty. Súbor môžete upraviť aj ručne (nano /var/); po ručnej úprave spustite php artisan config:clear.
| Nastavenie | Čo robí | Odporúčaná hodnota | Kedy zmeniť |
|---|---|---|---|
APP_URL | Verejná adresa Panelu. | https://panel.example.cz | Pri zmene domény (a potom aj v Nginx a certifikáte). |
APP_KEY | Šifrovací kľúč dát v databáze. | vygenerovaný, nikdy nemeniť | Nikdy. Pri obnove zo zálohy vráťte pôvodný. |
APP_TIMEZONE | Časové pásmo Panelu. | Europe/Prague | Keď sú správcovia v inom pásme. |
APP_ENVIRONMENT_ONLY | true = nastavenie iba v .env, false = aj v administrácii. | false | Keď chcete zakázať zmeny nastavení z webu. |
DB_HOST, DB_PORT | Kde beží databáza Panelu. | 127.0.0.1, 3306 | Keď databázu presuniete inam. |
DB_DATABASE, DB_USERNAME, DB_PASSWORD | Databáza a prihlasovacie údaje Panelu. | panel, pterodactyl, silné heslo | Pri zmene hesla používateľa v MariaDB. |
REDIS_HOST, REDIS_PASSWORD, REDIS_PORT | Pripojenie k Redisu. | 127.0.0.1, null, 6379 | Keď Redisu nastavíte heslo. |
CACHE_DRIVER, SESSION_DRIVER, QUEUE_CONNECTION | Kam sa ukladá cache, prihlásenia a fronta. | redis | Prakticky nikdy. |
SESSION_SECURE_COOKIE | Cookies prihlásenia sa posielajú iba cez HTTPS. | true | Nikdy, ak Panel beží na HTTPS. |
MAIL_* | Odosielanie e-mailov (server, port, šifrovanie, odosielateľ). | podľa poskytovateľa | Pri zmene schránky. |
MAIL_EHLO_DOMAIN | Meno, ktorým sa Panel predstaví SMTP serveru. | panel.example.cz | Keď vám e-maily odmieta napríklad Gmail kvôli localhost. |
TRUSTED_PROXIES | Adresy proxy, ktorým Panel verí (Cloudflare, ďalší Nginx). | nevyplnené | Keď Panel beží za proxy, pozri Panel za Cloudflare. |
PTERODACTYL_ | Odosielanie anonymnej telemetrie. | podľa vás | false vypne telemetriu. |
Tabuľky v databáze a prvý administrátor#
Vytvorte tabuľky a nahrajte predvolené dáta:
bash php artisan migrate --seed --forcemigrate– vytvorí v databázepanelvšetky tabuľky.--seed– naplní ich predvolenými dátami, okrem iného šablónami hier (Minecraft, Rust a ďalšie).--force– spustí príkaz bez potvrdenia v produkčnom režime.
Príkaz môže bežať aj niekoľko minút. Neprerušujte ho, inak zostane databáza napoly vytvorená.
Vytvorte administrátorský účet:
bash php artisan p:user:make
| Otázka | Čo zadať |
|---|---|
Is this user an administrator? | yes – účet bude mať prístup do administrácie. |
Email Address | Váš e-mail; slúži na prihlásenie a obnovu hesla. |
Username | Prihlasovacie meno, napríklad jan. |
First Name, Last Name | Meno a priezvisko (zobrazuje sa v Paneli). |
Password | Aspoň 8 znakov, aspoň jedno veľké písmeno a jedna číslica. Pri písaní sa nezobrazuje. |
Na konci uvidíte tabuľku s údajmi účtu a riadkom Admin | Yes.
Oprávnenia súborov#
Súbory Panelu teraz patria používateľovi root. Webový server beží ako používateľ www-data a musí do priečinkov storage a bootstrap/cache zapisovať:
chown -R www-data:www-data /var/www/pterodactyl/*chown -R– zmení vlastníka súborov aj celého obsahu priečinkov.www-data:www-data– používateľ a skupina, pod ktorými na Ubuntu a Debiane beží Nginx a PHP-FPM.
Po každom príkaze artisan ako root
Príkazy php artisan spúšťané ako root môžu vytvoriť súbory (napríklad logy), ktoré potom www-data nesmie prepísať. Keď po práci v termináli uvidíte chybu 500, spustite znova príkaz chown vyššie.
Cron a fronta úloh#
Cron#
Cron spúšťa plánovač Panelu každú minútu (mazanie starých prihlásení, plánované úlohy serverov).
Otvorte crontab používateľa root:
bash crontab -ePri prvom spustení sa opýta na editor. Zvoľte
nano(napíšte jeho číslo a stlačte Enter). Ak systém hlásicrontab: command not found, cron chýba. Nainštalujte ho príkazomapt -y install crona krok zopakujte.Na koniec súboru vložte riadok:
text * * * * * php /var/www/pterodactyl/artisan schedule:run >> /dev/null 2>&1Uložte (Ctrl+O, Enter) a zatvorte editor (Ctrl+X). Uvidíte
crontab: installing new crontab.
| Časť riadka | Význam |
|---|---|
* * * * * | Minúta, hodina, deň v mesiaci, mesiac, deň v týždni. Päť hviezdičiek = každú minútu. |
php /var/ | Spustí plánovač Panelu; ten sám rozhodne, ktoré úlohy je čas vykonať. |
>> /dev/null 2>&1 | Zahodí výstup aj chyby, aby cron neposielal e-maily každú minútu. |
Služba fronty pteroq#
Fronta spracúva prácu na pozadí: odosielanie e-mailov a úlohy, ktoré si používatelia naplánujú pri serveroch (sekcia Schedules, napríklad nočný reštart alebo záloha). Bez nej e-maily neodchádzajú a naplánované úlohy sa nevykonajú.
Vytvorte súbor služby:
bash nano /etc/systemd/system/pteroq.serviceVložte obsah:
/etc/ systemd/ inisystem/ pteroq.service # Pterodactyl Queue Worker File [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.targetUložte a zatvorte editor.
| Riadok | Čo robí |
|---|---|
Description= | Opis služby, ktorý uvidíte vo výpise systemctl status. |
After= | Služba sa spustí až po Redise, z ktorého číta frontu. |
User=www-data, Group=www-data | Fronta beží pod rovnakým používateľom ako web, aby mali obaja rovnaké práva k súborom. |
Restart=always | Keď proces skončí (chybou aj normálne), systemd ho spustí znova. |
ExecStart=… queue:work | Spustí spracovanie fronty. --queue= určuje poradie front podľa priority, --sleep=3 = pri prázdnej fronte počkať 3 sekundy, --tries=3 = neúspešnú úlohu skúsiť najviac trikrát. |
StartLimitInterval=180, StartLimitBurst=30 | Ak služba spadne viac než 30× za 180 sekúnd, systemd ju prestane reštartovať (ochrana pred nekonečnou slučkou). |
RestartSec=5s | Pred reštartom počká 5 sekúnd. |
WantedBy= | Služba sa spustí pri každom štarte VPS (po enable). |
Zapnite Redis aj frontu po štarte a hneď ich spustite:
bash systemctl enable --now redis-server systemctl enable --now pteroq.serviceenable– zapne automatické spustenie po reštarte VPS.--now– zároveň službu hneď spustí.
Skontrolujte stav:
bash systemctl status pteroqUvidíte
Active: active (running). Výpis zavriete klávesom q.
Certifikát Let's Encrypt#
Konfigurácia Nginx nižšie odkazuje na súbory certifikátu. Nginx s ňou nenaštartuje, kým certifikát neexistuje, preto ho získate ako prvý.
Nainštalujte Certbot a jeho doplnok pre Nginx:
bash apt -y install certbot python3-certbot-nginxcertbot– program, ktorý získava a obnovuje certifikáty Let's Encrypt.python3-certbot-nginx– doplnok, ktorý overí doménu cez bežiaci Nginx bez jeho vypnutia.
Získajte certifikát. Za
panel.example.czdosaďte svoju doménu:bash certbot certonly --nginx -d panel.example.czcertonly– iba získa certifikát a uloží ho, konfiguráciu Nginx neupravuje (tú napíšete sami).--nginx– overenie domény prebehne cez Nginx na porte 80.-d panel.example.cz– doména, pre ktorú certifikát chcete.
Pri prvom spustení odpovedzte na otázky:
- E-mail (
Enter email address…) – zadajte svoj e-mail. Let's Encrypt naň posiela dôležité oznámenia o účte. Upozornenia na vypršanie certifikátu od roku 2025 neposiela, obnovu preto stráži automatika (pozri krok 5). - Podmienky služby (
Please read the Terms of Service… Do you agree?) – odpovedzteY, bez súhlasu certifikát nedostanete. - Zdieľanie e-mailu s EFF (
Would you be willing… to share your email address with the Electronic Frontier Foundation…) – podľa vás, na vydanie certifikátu nemá vplyv.
Na konci uvidíte
Successfully received certificate.a cesty k súborom:Výstuptext Certificate is saved at: /etc/letsencrypt/live/panel.example.cz/fullchain.pem Key is saved at: /etc/letsencrypt/live/panel.example.cz/privkey.pem- E-mail (
Nastavte, aby Nginx po každej obnove certifikátu načítal nový. Vytvorte takzvaný deploy hook (skript, ktorý Certbot spustí po úspešnej obnove):
bash cat > /etc/letsencrypt/renewal-hooks/deploy/reload-nginx.sh <<'EOF' #!/bin/sh systemctl reload nginx EOF chmod 755 /etc/letsencrypt/renewal-hooks/deploy/reload-nginx.shcat > … <<'EOF' … EOF– zapíše riadky medzi<<'EOF'aEOFdo súboru.systemctl reload nginx– načíta novú konfiguráciu a certifikáty bez prerušenia spojení.chmod 755– urobí skript spustiteľným; Certbot spúšťa iba spustiteľné súbory v priečinkurenewal-hooks/deploy.
Overte, že automatická obnova funguje. Balík Certbotu na Ubuntu aj Debiane obsahuje časovač, ktorý obnovu skúša dvakrát denne:
bash systemctl list-timers | grep certbot certbot renew --dry-runsystemctl list-timers– vypíše naplánované časovače; medzi nimi má byťcertbot.timer.certbot renew --dry-run– vyskúša obnovu proti testovaciemu serveru Let's Encrypt, skutočný certifikát nemení.
Test skončí hlásením
Congratulations, all simulated renewals succeeded.
Certifikát platí 90 dní (stav k októbru 2026; Let's Encrypt platnosť postupne skracuje). Certbot ho obnovuje sám, keď zostáva zhruba tretina platnosti.
Nginx#
Vypnite predvolený web Nginxu:
bash rm /etc/nginx/sites-enabled/default- Zmaže iba odkaz v
sites-enabled, samotný súbor vsites-availablezostane. Predvolený web by inak obsluhoval port 80 namiesto Panelu.
- Zmaže iba odkaz v
Vytvorte konfiguráciu Panelu:
bash nano /etc/nginx/sites-available/pterodactyl.confVložte obsah a všetky štyri výskyty
panel.example.cznahraďte svojou doménou:/etc/ nginx/ nginxsites-available/ pterodactyl.conf server { listen 80; listen [::]:80; server_name panel.example.cz; return 301 https://$server_name$request_uri; } server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name panel.example.cz; server_tokens off; 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; # väčšie nahrávané súbory a dlhší beh skriptov client_max_body_size 100m; client_body_timeout 120s; sendfile off; ssl_certificate /etc/letsencrypt/live/panel.example.cz/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/panel.example.cz/privkey.pem; ssl_session_cache shared:SSL:10m; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384"; ssl_prefer_server_ciphers on; add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; mode=block"; add_header X-Robots-Tag none; add_header Content-Security-Policy "frame-ancestors 'self'"; add_header X-Frame-Options DENY; add_header Referrer-Policy same-origin; location / { try_files $uri $uri/ /index.php?$query_string; } 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; } }
Konfigurácia vychádza z oficiálnej dokumentácie Pterodactylu. Doplnili sme počúvanie na IPv6 (listen [::]:…) a skrytie verzie Nginxu. Čo jednotlivé časti robia:
| Direktíva | Čo robí | Kedy zmeniť |
|---|---|---|
server_tokens off; | Nginx neprezradí svoju verziu v hlavičkách a chybových stránkach Panelu. Na Debiane 13 je to už predvolené nastavenie v /etc/nginx/nginx.conf, na Ubuntu 24.04 nie. | Nikdy. |
prvý blok server s listen 80 | Prijme požiadavky cez HTTP a trvalo (301) ich presmeruje na HTTPS. | Nikdy. |
listen 443 ssl http2; | Počúva na porte 443 s TLS a HTTP/2. [::] je to isté pre IPv6. | Riadky s [::] zmažte, ak VPS nemá IPv6. |
server_name | Doména, pre ktorú blok platí. | Pri zmene domény. |
root /var/ | Priečinok, z ktorého sa servírujú súbory. Iba public, ostatné súbory Panelu (vrátane .env) nie sú z webu dostupné. | Nikdy. |
index index.php; | Ktorý súbor použiť, keď adresa končí /. | Nikdy. |
access_log, error_log | Kam sa zapisuje prístupový a chybový log. | Nikdy. |
client_max_body_size 100m; | Najväčší povolený nahrávaný súbor (napríklad cez správcu súborov v Paneli). | Keď potrebujete nahrávať väčšie súbory; zmeňte aj upload_max_filesize a post_max_size nižšie. |
client_body_timeout 120s; | Ako dlho Nginx čaká na ďalšie dáta od prehliadača pri nahrávaní. Pomalé nahrávanie veľkého súboru sa tak nepreruší. | Pri nahrávaní cez veľmi pomalé pripojenie. |
sendfile off; | Vypne posielanie súborov priamo jadrom systému. Prevzaté z oficiálnej konfigurácie Pterodactylu. | Nikdy. |
ssl_certificate, ssl_certificate_key | Cesta k certifikátu a súkromnému kľúču od Certbotu. | Pri zmene domény. |
ssl_session_cache shared:SSL:10m; | Pamäť (10 MB) pre uložené relácie TLS. Opakované pripojenie prehliadača sa tak nadviaže rýchlejšie. | Nikdy. |
ssl_protocols TLSv1.2 TLSv1.3; | Povolené verzie TLS; staršie a nebezpečné sú vypnuté. | Nikdy. |
ssl_ciphers, ssl_ | Povolené šifry a ich poradie. | Nikdy. |
add_header … | Bezpečnostné hlavičky: zákaz vkladania Panelu do cudzích stránok, zákaz indexácie vyhľadávačmi a podobne. | Nikdy. |
location / + try_files | Existujúci súbor pošle rovno, všetko ostatné odovzdá index.php (aplikácii). | Nikdy. |
location ~ \.php$ | Pravidlá pre všetky požiadavky na súbory .php. | Nikdy. |
fastcgi_pass unix:/ | Kadiaľ Nginx odovzdáva PHP požiadavky PHP-FPM. | Pri prechode na inú verziu PHP. |
fastcgi_split_path_info, fastcgi_index, include fastcgi_params, fastcgi_param SCRIPT_FILENAME | Štandardné odovzdanie požiadavky PHP: rozdelí adresu na skript a zvyšok cesty, určí predvolený skript a odovzdá PHP premenné požiadavky vrátane cesty k spúšťanému súboru. | Nikdy. |
fastcgi_intercept_errors off; | Chybové stránky posiela priamo Panel, Nginx ich nenahrádza vlastnými. | Nikdy. |
fastcgi_buffer_size, fastcgi_buffers | Veľkosť pamäte, do ktorej Nginx ukladá odpoveď z PHP. | Nikdy. |
fastcgi_param PHP_VALUE … | Zvýši limity PHP pre nahrávanie na 100 MB. | Spoločne s client_max_body_size. |
fastcgi_param HTTP_PROXY ""; | Ochrana proti útoku „httpoxy“. | Nikdy. |
fastcgi_*_timeout 300 | Ako dlho Nginx čaká na PHP (pomalé operácie). | Nikdy. |
location ~ /\.ht + deny all | Zakáže prístup k skrytým súborom .ht…. | Nikdy. |
Varovanie o http2 na Debiane 13
Debian 13 má Nginx 1.26, v ktorom je zápis listen … http2 označený ako zastaraný. Test konfigurácie vypíše varovanie the "listen ... http2" directive is deprecated. Funkčnosť to neovplyvní. Ak vám varovanie prekáža, na Debiane 13 zmažte z oboch riadkov listen 443… slovo http2 a pod ne pridajte riadok http2 on;. Na Ubuntu 24.04 (Nginx 1.24) direktíva http2 on; neexistuje, tam ponechajte zápis z ukážky.
Zapnite konfiguráciu, otestujte ju a reštartujte Nginx:
bash ln -s /etc/nginx/sites-available/pterodactyl.conf /etc/nginx/sites-enabled/pterodactyl.conf nginx -t systemctl restart nginxln -s– vytvorí vsites-enabledodkaz na súbor; Nginx načítava iba konfigurácie vsites-enabled.nginx -t– skontroluje syntax. Musí skončiť riadkomtest is successful. Ak nie, Nginx nereštartujte a opravte riadok, ktorý chyba uvádza.systemctl restart nginx– načíta novú konfiguráciu.
Prvé prihlásenie#
- V prehliadači otvorte
https://panel.example.cz. Uvidíte prihlasovaciu stránku Panelu so zámkom (platný certifikát) v adresnom riadku. - Prihláste sa menom alebo e-mailom a heslom administrátora.
- Vpravo hore kliknite na ikonu ozubeného kolesa (administrácia). V sekcii Settings nastavte názov Panelu (Company Name).
- Zapnite si dvojfázové overenie: kliknite na svoj účet vpravo hore, otvorte Account a v časti dvojfázového overenia naskenujte QR kód aplikáciou (napríklad Google Authenticator alebo Aegis). Účet administrátora ovláda všetky servery, preto ho chráňte viac než heslom.
Overenie#
Skontrolujte celú inštaláciu:
systemctl is-active nginx php8.3-fpm mariadb redis-server pteroq
curl -sI https://panel.example.cz | head -n 1- Prvý príkaz musí vypísať päťkrát
active. curl -sIstiahne iba hlavičky odpovede; prvý riadok budeHTTP/2 302(presmerovanie na prihlásenie) aleboHTTP/2 200.
Panel je hotový. Ďalší krok je pridať nod so službou Wings, na ktorom pobežia herné servery: Pterodactyl Wings.
Panel za Cloudflare#
Panel môžete schovať za proxy Cloudflare (oranžový obláčik). Platí to iba pre Panel, nie pre Wings (pozri Pterodactyl Wings).
Nod s rovnakou doménou ako Panel
Ak ste v návode k Wings zadali ako FQDN nodu doménu Panelu (panel.example.cz), Panel cez proxy Cloudflare nepúšťajte. Prehliadače by sa k Wings na porte 8080 nepripojili a nefungovala by konzola ani súbory serverov. Buď nechajte doménu Panelu na DNS only, alebo dajte nodu samostatnú subdoménu (napríklad node.example.cz) so sivým obláčikom a vlastným certifikátom.
V Cloudflare nastavte režim SSL/TLS na Full (strict). Cloudflare sa potom k VPS pripája cez HTTPS a overuje váš certifikát Let's Encrypt.
Prepnite záznam
panel.example.czna Proxied.Do
.envdoplňte na jeden riadok rozsahy IP adries Cloudflare. Za proxy sa k Panelu všetky požiadavky pripájajú z adries Cloudflare. Panel potom skutočnú IP adresu návštevníka prevezme z hlavičkyX-Forwarded-For, ale iba od adries, ktorým verí. Bez tohto riadka by Panel pri všetkých používateľoch videl iba adresy Cloudflare, a to v záznamoch aktivít aj v ochrane proti skúšaniu hesiel, ktorá počíta pokusy podľa IP adresy. Zoznam nižšie zodpovedá stavu k 1. 10. 2026, aktuálny nájdete na stránke cloudflare.com/ips (otvorí sa v novom okne):/var/ www/ inipterodactyl/ .env TRUSTED_PROXIES=173.245.48.0/20,103.21.244.0/22,103.22.200.0/22,103.31.4.0/22,141.101.64.0/18,108.162.192.0/18,190.93.240.0/20,188.114.96.0/20,197.234.240.0/22,198.41.128.0/17,162.158.0.0/15,104.16.0.0/13,104.24.0.0/14,172.64.0.0/13,131.0.72.0/22,2400:cb00::/32,2606:4700::/32,2803:f800::/32,2405:b500::/32,2405:8100::/32,2a06:98c0::/29,2c0f:f248::/32TRUSTED_PROXIES– zoznam adries a rozsahov (oddelených čiarkou bez medzier), od ktorých Panel prijme hlavičkyX-Forwarded-*so skutočnou IP adresou návštevníka a protokolom. Od iných adries tieto hlavičky ignoruje, takže si ich nikto nemôže podvrhnúť.
Načítajte novú konfiguráciu:
cd /var/www/pterodactyl && php artisan config:clear.
Nepoužívajte režim Flexible
V režime Flexible ide prevádzka medzi Cloudflare a VPS nešifrovane cez HTTP, ale Nginx ju presmeruje na HTTPS. Výsledkom je nekonečné presmerovanie (ERR_TOO_MANY_REDIRECTS). Použite Full (strict).
Aktualizácia Panelu#
Nové verzie Panelu opravujú chyby aj bezpečnostné diery, aktualizujte preto pravidelne. Pred aktualizáciou si prečítajte poznámky k vydaniu na GitHube a skontrolujte, akú verziu PHP nová verzia vyžaduje (php -v).
Najprv záloha
Pred aktualizáciou zazálohujte databázu a súbor .env:
mariadb-dump --single-transaction panel > /root/panel-$(date +%F).sql
cp /var/www/pterodactyl/.env /root/pterodactyl-env-$(date +%F).bakmariadb-dump --single-transaction panel– vyexportuje databázupaneldo SQL súboru bez zamykania tabuliek.$(date +%F)– vloží dnešný dátum (napríklad2026-10-01) do názvu súboru.
Potom vykonajte aktualizáciu:
cd /var/www/pterodactyl
php artisan down
curl -L https://github.com/pterodactyl/panel/releases/latest/download/panel.tar.gz | tar -xzv
chmod -R 755 storage/* bootstrap/cache
COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev --optimize-autoloader
php artisan view:clear
php artisan config:clear
php artisan migrate --seed --force
chown -R www-data:www-data /var/www/pterodactyl/*
php artisan queue:restart
php artisan up| Príkaz | Čo robí |
|---|---|
php artisan down | Zapne režim údržby; používatelia uvidia stránku údržby namiesto chýb počas aktualizácie. |
curl -L … | tar -xzv | Stiahne najnovšie vydanie a rovno ho rozbalí cez existujúce súbory. .env sa neprepíše, v archíve nie je. |
chmod -R 755 … | Obnoví práva priečinkov na zápis. |
composer install … | Nainštaluje knižnice pre novú verziu. |
view:clear, config:clear | Zmaže skompilované šablóny a cache konfigurácie, aby sa načítali nové. |
migrate --seed --force | Upraví tabuľky pre novú verziu a aktualizuje predvolené šablóny hier. Vlastné úpravy predvolených šablón sa prepíšu; ak nejakú šablónu meníte, vytvorte si jej kópiu. |
chown -R www-data:www-data … | Vráti vlastníctvo súborov webovému serveru. |
queue:restart | Povie službe pteroq, aby po dokončení aktuálnej úlohy načítala nový kód. |
php artisan up | Vypne režim údržby. |
Po aktualizácii Panelu aktualizujte aj Wings, postup je v návode Pterodactyl Wings. Verzie Panelu a Wings majú ísť ruka v ruke, používajte najnovšie vydanie oboch.
Zálohy Panelu#
Na obnovu Panelu potrebujete dve veci: databázu panel a súbor .env (hlavne APP_KEY). Dáta herných serverov ležia na node s Wings, nie v Paneli, zálohujte ich zvlášť. Ako zálohy automatizovať a dostať mimo servera, opisuje návod Zálohy na VPS.
Keď niečo nefunguje#
502 Bad Gateway#
Nginx sa nedostal k PHP-FPM. Skontrolujte, že PHP-FPM beží a že cesta k socketu sedí:
systemctl status php8.3-fpm
ls /run/php/Vo výpise ls musí byť php8.3-fpm.sock a rovnaká cesta musí byť v direktíve fastcgi_pass. Ak služba nebeží, spustite ju: systemctl enable --now php8.3-fpm.
Chyba 500 alebo prázdna stránka#
Pozrite sa do logu Panelu:
tail -n 100 /var/www/pterodactyl/storage/logs/laravel-$(date +%F).logtail -n 100– vypíše posledných 100 riadkov logu z dnešného dňa.
Hľadajte riadok s dátumom a slovom ERROR. Najčastejšie príčiny:
Permission denied– nesprávny vlastník súborov. Spustite znovachown -R www-data:www-data /var/www/pterodactyl/*.No application encryption key has been specified.– chýbaAPP_KEY. Pri prvej inštalácii spustitephp artisan key:generate --force. Ak Panel už dáta má, vráťte pôvodný kľúč zo zálohy.SQLSTATE[HY000] [1045] Access denied– nesedí heslo alebo používateľ databázy v.env.
The MAC is invalid#
Databáza bola zašifrovaná iným APP_KEY, než je teraz v .env. Typicky po obnove databázy na novú inštaláciu. Jediná oprava je vrátiť do .env pôvodný APP_KEY. Bez neho sa šifrované dáta obnoviť nedajú.
E-maily nechodia#
Najčastejšie nebeží fronta. Skontrolujte službu a jej log:
systemctl status pteroq
journalctl -u pteroq -n 50journalctl -u pteroq -n 50– posledných 50 riadkov logu služby.
Overte tiež, že beží Redis (systemctl status redis-server). Po oprave spustite systemctl restart pteroq. Ak fronta beží, skontrolujte nastavenie pošty (php artisan p:environment:mail) a chyby v logu Panelu (kapitola Chyba 500).
Server visí na inštalácii#
Inštaláciu servera vykonáva Wings, nie Panel. Postup je v návode Pterodactyl Wings v časti „Keď niečo nefunguje“ (najčastejšie nefunkčné DNS v kontajneroch alebo nedostupný nod).
Naplánované úlohy serverov sa nespúšťajú#
Skontrolujte, že beží fronta (systemctl status pteroq), riadok v crone (crontab -l) a časové pásma: systém (timedatectl), Panel (APP_TIMEZONE v .env). Pomôže aj vymazanie cache plánovača:
php /var/www/pterodactyl/artisan schedule:clear-cache
systemctl restart pteroqNginx nenaštartuje: cannot load certificate#
Certifikát pre doménu v konfigurácii neexistuje: nezískali ste ho, alebo sa doména v server_name a v ceste /etc/letsencrypt/live/… líši od tej, pre ktorú bol vydaný. Zoznam certifikátov vypíše certbot certificates.
Certbot: Timeout during connect (likely firewall problem)#
Let's Encrypt sa nedostal na port 80 vášho VPS. Skontrolujte, že A záznam domény ukazuje na IPv4 adresu VPS, že je port 80 povolený vo firewalle zákazníckeho účtu aj v UFW a že Nginx beží. Ak má doména záznam AAAA, musí ukazovať na IPv6 adresu tohto VPS, Let's Encrypt skúša aj IPv6.
Composer alebo artisan hlási nesprávnu verziu PHP#
Hlásenie obsahuje napríklad requires php ^8.2 || ^8.3 but your php version (8.4…) does not satisfy that requirement. Príkaz php spúšťa inú verziu než 8.3, typicky na Debiane 13 po inštalácii predvoleného balíka php. Nastavte predvolené PHP na 8.3:
update-alternatives --set php /usr/bin/php8.3
php -vupdate-alternatives --set php …– určí, ktorú verziu spúšťa príkazphp.
Ak /usr/bin/php8.3 neexistuje, PHP 8.3 nie je nainštalované. Vráťte sa ku kapitole Inštalácia závislostí.
Stránka sa za Cloudflare točí v presmerovaní (ERR_TOO_MANY_REDIRECTS)#
V Cloudflare je režim Flexible. Prepnite ho na Full (strict) a skontrolujte aj TRUSTED_PROXIES podľa Panel za Cloudflare.
Za Cloudflare nefunguje konzola serverov#
Doména nodu ide cez proxy Cloudflare (oranžový obláčik). Typicky keď nod používa rovnakú doménu ako Panel. Prepnite doménu nodu na DNS only, alebo nodu dajte samostatnú subdoménu.
Zhrnutie
- Panel beží na Nginx + PHP 8.3 (na Debiane 13 z repozitára
packages.sury.org), MariaDB a Redise. - Databázový používateľ Panelu má host
127.0.0.1a práva iba k databázepanel. APP_KEYz.envmáte uložený mimo servera, bez neho sa nedajú obnoviť šifrované dáta.- Cron spúšťa
schedule:runkaždú minútu, službapteroqspracúva frontu. - Certifikát sa obnovuje sám a Nginx ho po obnove načíta vďaka deploy hooku.
- Ďalší krok: Pterodactyl Wings a databázový host pre servery.
Ďalšie zdroje#
- Pterodactyl: Getting Started (otvorí sa v novom okne)
- Pterodactyl: Webserver Configuration (otvorí sa v novom okne)
- Pterodactyl: Updating the Panel (otvorí sa v novom okne)
- Pterodactyl: Additional Configuration (otvorí sa v novom okne)
- Pterodactyl: Troubleshooting (otvorí sa v novom okne)
- Certbot: User Guide (otvorí sa v novom okne)