Tässä ohjeessa näytän kuinka voit asentaa Pterodactyl-paneelin. Pterodactyl paneeli on suunniteltu toimimaan omalla verkkopalvelimellasi. Sinulla on oltava pääkäyttäjän oikeudet palvelimellesi, jotta voit suorittaa ja käyttää tätä paneelia.
1. Ensimmäiseksi aja päivitys palvelimellasi ennen, kuin alamme asentamaan Pterodactyliä.
sudo apt update
2. Seuraavaksi asennetaan tärkeitä vaatimuksia palvelimelle:
# Lisää "add-apt-repository" komento
apt -y install software-properties-common curl apt-transport-https ca-certificates gnupg
# Lisää lisätietokanta PHP, Redis, and MariaDB
LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php
# Lisää virallinen Redis APT tietokanta
curl -fsSL https://packages.redis.io/gpg | sudo 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" | sudo tee /etc/apt/sources.list.d/redis.list
# MariaDB repo asennus skripti voidaan ohittaa jos on Ubuntu 22.04
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
# Päivitä
apt update
# Asenna vaatimukset
apt -y install php8.1 php8.1-{common,cli,gd,mysql,mbstring,bcmath,xml,fpm,curl,zip} mariadb-server nginx tar unzip git redis-server
3. Composerin asentaminen
Composer on PHP:n hallintaohjelma, jonka avulla voimme toimittaa kaiken, mitä tarvitset paneelin käyttämiseen.
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
4. Tiedostojen asentaminen
Ensiksi luodaan kansio johon asennamme Pterodactylin:
mkdir -p /var/www/pterodactyl
cd /var/www/pterodactyl
Kun olet saanut kansion luotua ja olet kansion sisällä, ladataan sekä puretaan tiedostot sinne käyttämällä curl työkalua.
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/
5. Asennus
Nyt kun kaikki tiedostot on ladattu, meidän on määritettävä joitain paneelin ominaisuuksia. Luodaan ensiksi tietokanta paneelille:
mysql -u root -p
# Muista vaihtaa 'yourPassword' omaksi salasanaksi!!
CREATE USER 'pterodactyl'@'127.0.0.1' IDENTIFIED BY 'yourPassword';
CREATE DATABASE panel;
GRANT ALL PRIVILEGES ON panel.* TO 'pterodactyl'@'127.0.0.1' WITH GRANT OPTION;
exit
Pääset pois Mysql-näkymästä kirjoittamalla "exit" ja painamalla ENTER
Sitten kopioimme oletusympäristön asetustiedostomme, asennamme tärkeitä vaatimuksia ja luomme sitten uuden sovelluksen salausavaimen.
cp .env.example .env
composer install --no-dev --optimize-autoloader
# Suorita tämä komento vain silloin kun
# lataat Pterodactyliä ensimmäistä kertaa eikä sinulla ole tietokantoja luotuna
php artisan key:generate --force
6. Ympäristön määritykset
Pterodactylin ympäristön saa helposti konfiguroitua käyttäen muutamaa CLI komentoa:
php artisan p:environment:setup
php artisan p:environment:database
7. Tietokannan määritykset
Nyt meidän on määritettävä kaikki paneelin perustiedot aiemmin luomassasi tietokannassa:
php artisan migrate --seed --force
Tämä komento määrittää tietokantataulukot ja lisää sitten kaikki "Nests & Eggs", jotka käyttävät Pterodactyliä.
8. Käyttäjän luonti
Seuraavaksi meidän pitää luoda käyttäjä, jolla on järjestelmänvalvojan oikeudet. Määritä käyttäjälle tiedot käyttäen tätä komentoa:
php artisan p:user:make
9. Oikeuksien antaminen
Asennuksen viimeinen vaihe on asettaa oikeat käyttöoikeudet paneelitiedostoille, jotta verkkopalvelin voi käyttää niitä oikein.
# Jos käytät Apachea tai Nginxiä (ei toimi jos on CentOS):
chown -R www-data:www-data /var/www/pterodactyl/*
# Jos käytät Nginxiä CentOS
chown -R nginx:nginx /var/www/pterodactyl/*
# Jos käytät Apachea CentOS
chown -R apache:apache /var/www/pterodactyl/*
10. Crontab-asetukset
Ensimmäinen asia, joka meidän on tehtävä, on luoda uusi cronjob, joka suoritetaan joka minuutti tiettyjen Pterodactyl-tehtävien käsittelemiseksi, kuten istunnon puhdistaminen ja ajoitettujen tehtävien lähettäminen.
Avaa Cron käyttämällä komentoa: "sudo crontab -e" ja lisää tämä viimeiselle riville:
* * * * * php /var/www/pterodactyl/artisan schedule:run >> /dev/null 2>&1
11. Queue Worker tiedoston luonti
Luo tiedosto nimeltä pteroq.service hakemistoon /etc/systemd/system alla olevalla sisällöllä.
cd /etc/systemd/system
sudo nano pteroq.service
#########################
# Pterodactyl Queue Worker File
# ----------------------------------
[Unit]
Description=Pterodactyl Queue Worker
After=redis-server.service
[Service]
# On some systems the user and group might be different.
# Some systems use `apache` or `nginx` as the user and group.
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
Jos käytät Redis ohjelmaa niin aja nämä komennot jotta Redis käynnistyy automaattisesti, kun palvelin käynnistyy ja Pterodactyl saadaan käyttöön alemmalla komennolla.
sudo systemctl enable --now redis-server
sudo systemctl enable --now pteroq.service
12. Web-palvelimen konfigurointi
Ensin poista Nginx oletus konfiguraatio.
rm /etc/nginx/sites-enabled/default
Liitä nyt alla olevan tiedoston sisältö ja korvaa <domain> verkkotunnuksellasi, jota käytetään tiedostossa nimeltä pterodactyl.conf ja aseta tiedosto kansioon /etc/nginx/sites-available/
server {
# Muuta esimerkki <domain> verkkotunnuksellasi tai IP-osoitteella
listen 80;
server_name <domain>;
root /var/www/pterodactyl/public;
index index.html index.htm index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
access_log off;
error_log /var/log/nginx/pterodactyl.app-error.log error;
# allow larger file uploads and longer script runtimes
client_max_body_size 100m;
client_body_timeout 120s;
sendfile off;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php8.1-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;
}
}
Ota konfiguraatio käyttöön tällä komennolla:
sudo ln -s /etc/nginx/sites-available/pterodactyl.conf /etc/nginx/sites-enabled/pterodactyl.conf
Sen jälkeen uudelleenkäynnistä Nginx:
sudo systemctl restart nginx
Ja näin saat asennettua Pterodactyl hallintapaneelin. Jos ongelmia tai kysymyksiä ilmenee ota meihin yhteyttä.