Web server z maliní

kvě 01 2026

📖 Malina jako profesionální webserver: Od čistého disku po vlastní CMS
Tento průvodce vás provede stavbou moderního webového serveru na Raspberry Pi. Jako základ použijeme Caddy (server s automatickým HTTPS), PHP 8.4 a odlehčený redakční systém Bludit.

 
1. Příprava půdy (Hardware a OS)
Pro seriózní provoz zapomeňte na SD karty. Použijte SSD disk připojený přes USB 3.0.

OS: Debian Bookworm (64-bit Lite verze).
První kroky: Po instalaci a SSH přihlášení aktualizujte systém:

Bash

sudo apt update && sudo apt upgrade -y

 
2. Instalace motoru (PHP 8.4)
Většina moderních webů (jako Bludit, WordPress nebo Grav) běží na jazyku PHP. My použijeme nejnovější verzi 8.4.

Přidání repozitáře:

Bash

sudo apt install -y apt-transport-https lsb-release ca-certificates curl
sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt update

Instalace PHP a modulů:

Bash

sudo apt install php8.4-fpm php8.4-cli php8.4-gd php8.4-curl php8.4-mbstring php8.4-xml php8.4-zip -y

 
3. Instalace serveru Caddy
Caddy je moderní náhrada za Apache nebo Nginx. Jeho největší výhoda? Sám si zařídí a obnovuje SSL certifikáty (HTTPS).

Bash

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy


 
4. Nasazení obsahu (Příklad: Bludit)
Ať už instalujete hotové CMS nebo vlastní HTML, postup je podobný: soubory musí patřit webovému serveru.

Stažení a rozbalení:

Bash

cd /tmp
wget https://www.bludit.com/releases/bludit-3-15-0.zip
unzip bludit-3-15-0.zip
sudo cp -R bludit-3-15-0/. /var/www/html/

Nastavení práv (Klíčový krok): Server Caddy běží pod uživatelem www-data. Aby mohl web zobrazit a ukládat obrázky, musí složku vlastnit:

Bash

sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 775 /var/www/html

 
5. Konfigurace Caddy (Caddyfile)
Caddyfile je mozek vašeho serveru. Nachází se v /etc/caddy/Caddyfile. Takhle vypadá ideální konfigurace pro moderní PHP web a reverzní proxy pro další zařízení (např. XMPP server):

Fragment kódu

tvoje-domena.duckdns.org {
    # 1. Cesta k webu
    root * /var/www/html
    
    # 2. PHP motor
    php_fastcgi unix//run/php/php8.4-fpm.sock
    
    # 3. Podpora pro statické soubory
    file_server

    # 4. "Hezká URL" pro CMS (Bludit/Grav)
    @bludit {
        not file {path}
        path_regexp bludit ^/(.*)$
    }
    rewrite @bludit /index.php?{query}

    # 5. Reverzní proxy (např. nahrávání pro XMPP na jiné Malině)
    handle_path /upload/* {
        reverse_proxy https://192.168.1.100:5443 {
            transport http {
                tls_insecure_skip_verify
            }
        }
    }
}


Aktivujte příkazem: sudo systemctl restart caddy

 
6. Jak na instalaci jiných systémů?
Pokud místo Bluditu chcete něco jiného, logika zůstává:

Vlastní HTML: Stačí nahrát .html a .css soubory do /var/www/html a v Caddyfile nechat jen root a file_server.
Jiné PHP CMS (Grav, WordPress): Postup stažení a práv je stejný. V Caddyfile stačí upravit sekci rewrite podle dokumentace daného systému.
Témata a pluginy: Vždy je nahrávejte do příslušných složek (např. bl-themes) a vždy poté znovu spusťte chown -R www-data:www-data, aby k nim server mohl.
 
Tip pro pokročilé: Pokud provozujete více služeb na různých zařízeních, Caddy slouží jako "vstupní brána". Díky reverse_proxy můžete mít jeden certifikát a jednu doménu, ale obsah může fyzicky běžet na deseti různých malinách v síti.
 

Momentálně zde nejsou žádné komentáře, buďte první!