DOKUMENTACEServerová částNasazení pomocí binárního souboru

Požadavky na systém

  • Debian 12

Instalace Nginx

Pro instalaci Nginx používáme oficiální DEB repozitář Nginx.

Nainstalujte potřebný software

apt install curl wget gnupg2 ca-certificates lsb-release sudo

Přidejte oficiální PGP klíč Nginx

curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

Zapište konfiguraci oficiálního repozitáře Nginx do nginx.list

echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list

Nastavte prioritu oficiálního repozitáře Nginx nad systémovými repozitáři

echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" | sudo tee /etc/apt/preferences.d/99nginx

Aktualizujte APT cache

apt update

Nainstalujte Nginx

apt install nginx

Nakonec spusťte službu Nginx a nastavte ji na automatické spuštění při startu

systemctl start nginx
systemctl enable nginx

Instalace Redis

Importujte GPG klíč

curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg

Zapište konfiguraci oficiálního repozitáře Redis do redis.list

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

Aktualizujte APT cache

apt update

Nainstalujte redis-server

apt install redis

Spusťte službu Redis a nastavte ji na automatické spuštění při startu

systemctl start redis-server
systemctl enable redis-server

Instalace MariaDB

MariaDB poskytuje kompletní DEB repozitář, podobně jako repozitář Nginx, proto musíme nainstalovat potřebné balíčky a importovat GPG klíč

apt install apt-transport-https curl
mkdir -p /etc/apt/keyrings
curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp'

Upravte soubor /etc/apt/sources.list.d/mariadb.sources a zapište následující konfiguraci:

X-Repolib-Name: MariaDB
Types: deb
URIs: https://deb.mariadb.org/11.4/debian
Suites: bookworm
Components: main
Signed-By: /etc/apt/keyrings/mariadb-keyring.pgp

Aktualizujte APT cache

apt update

Nainstalujte MariaDB 11.4

apt install mariadb-server

Spusťte službu MariaDB a nastavte ji na automatické spuštění při startu

systemctl start mariadb
systemctl enable mariadb

Proveďte počáteční nastavení MariaDB

mariadb-secure-installation

Instalace ppanel

  1. Konfigurace databáze MariaDB

1. Přihlaste se do MariaDB

mariadb -u root -p

V příkazovém rozhraní MariaDB proveďte následující příkaz pro vytvoření nové databáze ppanel_db a nastavte znakový kód na utf8mb4_unicode_ci

CREATE DATABASE ppanel_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Dále vytvořte místního uživatele databáze a omezte jeho oprávnění na nově vytvořenou databázi, použijte ppanel jako uživatelské jméno a ppanel-password jako heslo uživatele.

CREATE USER 'ppanel'@'localhost';
GRANT ALL PRIVILEGES ON ppanel_db.* TO 'ppanel'@'localhost' IDENTIFIED BY 'ppanel-password';
FLUSH PRIVILEGES;

Odhlaste se z MariaDB

EXIT;
  1. Konfigurace Nginx

Změňte user v /etc/nginx/nginx.conf z

user nginx;

na

user www-data;

Přidejte konfigurační soubor virtuálního hostitele Nginx

nano /etc/nginx/conf.d/website-domain-you-set.conf

Poté zapište následující konfiguraci, nezapomeňte změnit doménu webu a cestu k SSL certifikátu (jinak dojde k chybě):

server {
    listen 443 ssl;
    server_name api.example.com *.example.com;   # Nahraďte svou doménou
 
    ssl_certificate /path/your/certs/example.crt;  # Nahraďte svou cestou k certifikátu
    ssl_certificate_key /path/your/private/example.key;  # Nahraďte svou cestou k soukromému klíči
 
    ssl_protocols TLSv1.2 TLSv1.3; # Doporučené protokoly
    ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384'; # Doporučené šifrovací sady
    ssl_prefer_server_ciphers on;
 
    # cloudflare Start
    set_real_ip_from 0.0.0.0/0;  # Důvěřujte všem IP adresám Cloudflare
    real_ip_header X-Forwarded-For;  # Použijte hlavičku X-Forwarded-For pro získání skutečné IP
    real_ip_recursive on;  # Rekurzivně analyzujte více IP v hlavičce X-Forwarded-For
    # cloudflare END
 
    # Výchozí proxy nastavení
    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header Upgrade $http_upgrade;
        proxy_http_version 1.1;
 
        add_header X-Cache $upstream_cache_status;
 
        # Konfigurace proxy na backendovou službu, pokud je backendová služba na 127.0.0.1:8080
        proxy_pass http://127.0.0.1:8080;
    }
 
    # Nastavení cache pro statické zdroje
    location ~* \.(gif|png|jpg|css|js|woff|woff2)$ {
        expires 30d;
        add_header Cache-Control public;
    }
}
 
# Přesměrování HTTP na HTTPS
server {
    listen 80;
    server_name api.example.com *.example.com;  # Nahraďte svou doménou
 
    location / {
        return 301 https://$host$request_uri;
    }
}

Restartujte Nginx

systemctl restart nginx
  1. Určete architekturu systému a stáhněte odpovídající binární soubory

Stahovací adresa: https://github.com/perfect-panel/ppanel/releases

Příklad: Systém: Debian amd64, uživatel: root, aktuální adresář: /root

  • Stáhněte
wget https://github.com/perfect-panel/ppanel/releases/download/v0.1.0/ppanel-server-v0.1.0-linux-amd64.tar.gz
  • Rozbalte
tar -zxvf ppanel-server-v0.1.0-linux-amd64.tar.gz
  • Přesuňte
sudo mv ppanel-server /usr/local/bin/ppanel
sudo mkdir -p /usr/local/etc/ppanel
sudo mv ./etc/ppanel.yaml /usr/local/etc/ppanel/
  • Přiřaďte spouštěcí oprávnění binárnímu souboru
sudo chmod +x /usr/local/bin/ppanel
  • Upravte konfigurační soubor ppanel.yaml
nano /usr/local/etc/ppanel/ppanel.yaml
Host: 127.0.0.1 # Adresa pro naslouchání služby, změňte na: 127.0.0.1
Port: 8080 # Port pro naslouchání služby, výchozí: 8080
Debug: false # Zda povolit režim ladění, výchozí: false
JwtAuth: # Konfigurace JWT autentizace
  AccessSecret: d2a1b58958f13ab01shekdd123fcd12345xyz67890== # Klíč pro přístupový token, prosím změňte
  AccessExpire: 604800 # Doba platnosti přístupového tokenu, v sekundách, výchozí: 604800
Logger: # Konfigurace protokolování
  FilePath: ./ppanel.log # Cesta k protokolovacímu souboru, výchozí: ./ppanel.log
  MaxSize: 50 # Maximální velikost protokolovacího souboru, v MB, výchozí: 50
  MaxBackup: 3 # Maximální počet záloh protokolovacího souboru, výchozí: 3
  MaxAge: 30 # Maximální doba uchovávání protokolovacího souboru, v dnech, výchozí: 30
  Compress: true # Zda komprimovat protokolovací soubor, výchozí: true
  Level: info # Úroveň protokolování, výchozí: info, volitelné: debug, info, warn, error, panic, fatal
MySQL:
  Addr: 127.0.0.1:3306 # Adresa MySQL, povinné
  Username: ppanel # Uživatelské jméno MySQL, povinné
  Password: ppanel-password # Heslo MySQL, povinné
  Dbname: ppanel_db # Název databáze MySQL, povinné
  Config: charset=utf8mb4&parseTime=true&loc=Asia%2FShanghai # Výchozí hodnoty konfigurace MySQL
  MaxIdleConns: 10 # Maximální počet nečinných připojení, výchozí: 10
  MaxOpenConns: 100 # Maximální počet otevřených připojení, výchozí: 100
  LogMode: info # Úroveň protokolování, výchozí: info, volitelné: debug, error, warn, info
  LogZap: true # Zda používat zap pro protokolování SQL, výchozí: true
  SlowThreshold: 1000 # Prahová hodnota pro pomalé dotazy, v milisekundách, výchozí: 1000
Redis:
  Host: 127.0.0.1:6379 # Adresa Redis, výchozí: localhost:6379
  Pass: '' # Heslo Redis, výchozí: ""
  DB: 0 # Databáze Redis, výchozí: 0
 
Administer:
  Email: [email protected] # E-mail pro přihlášení do administrace, výchozí: [email protected]
  Password: password # Heslo pro přihlášení do administrace, výchozí: password
  • Vytvořte soubor služby systemd
$ cat > /etc/systemd/system/ppanel.service <<EOF
[Unit]
Description=PPANEL Server
After=network.target
 
[Service]
ExecStart=/usr/local/bin/ppanel run --config /usr/local/etc/ppanel/ppanel.yaml
Restart=always
User=root
WorkingDirectory=/usr/local/bin
 
[Install]
WantedBy=multi-user.target
EOF
  • Znovu načtěte služby systemd
systemctl daemon-reload
  • Spusťte službu
systemctl start ppanel
Další poznámky
  1. Cesta k instalaci: binární soubory jsou nakonec přesunuty do adresáře /usr/local/bin

  2. Služba systemd:

    • Název služby: ppanel
    • Konfigurační soubor služby: /etc/systemd/system/ppanel.service
    • Příkaz pro spuštění služby: systemctl start ppanel
    • Příkaz pro zastavení služby: systemctl stop ppanel
    • Příkaz pro restartování služby: systemctl restart ppanel
    • Příkaz pro kontrolu stavu služby: systemctl status ppanel
    • Automatické spuštění služby při startu: systemctl enable ppanel
  3. Automatické spuštění služby lze nastavit pomocí následujícího příkazu

    systemctl enable ppanel
  4. Protokol služby: protokol služby se ve výchozím nastavení ukládá do souboru /usr/local/bin/ppanel.log

  5. Pro zobrazení protokolu služby můžete použít journalctl -u ppanel -f

  6. Pokud je konfigurační soubor prázdný nebo neexistuje, služba se spustí s výchozí konfigurací, cesta k konfiguračnímu souboru je: ./etc/ppanel.yaml, prosím, použijte http://server-address:8080/init pro inicializaci systémové konfigurace