- 1 1. Úvod
- 2 2. Instalace Ubuntu a provedení počátečního nastavení
- 3 3. Instalace a konfigurace Apache
- 4 4. Konfigurace virtuálních hostitelů (správa více webů)
- 5 5. Úvod do SSL/TLS (povolení HTTPS)
- 6 6. Zlepšení bezpečnosti webového serveru
- 7 7. Optimalizace výkonu
- 8 8. Řešení problémů
- 9 9. Shrnutí
1. Úvod
Co je Ubuntu webový server?
Webový server je systém, který poskytuje webové stránky přes internet. Mezi populární software pro webové servery patří Apache, Nginx a LiteSpeed, ale nejčastěji používanou volbou na Ubuntu je Apache.
Ubuntu je lehké, stabilní a open-source, což ho činí oblíbeným mezi jednotlivci i firmami. Je zvláště vhodné pro provoz LAMP prostředí (Linux, Apache, MySQL/MariaDB, PHP), která pohánějí mnoho webových stránek a aplikací.
Pro koho je tento článek určen
Tento průvodce je určen pro začátečníky, kteří poprvé staví webový server. Vysvětluje, jak spustit webový server na Ubuntu, nainstalovat Apache, nakonfigurovat virtuální hosty a SSL certifikáty a provést optimalizaci a bezpečnostní vylepšení.
Co se naučíte
- Jak postavit webový server na Ubuntu (instalace a konfigurace Apache)
- Jak nastavit virtuální hosty a spravovat více webových stránek
- Jak nainstalovat bezplatné SSL pomocí Let’s Encrypt
- Jak aplikovat zabezpečení a optimalizaci výkonu
- Běžné kroky řešení problémů a jejich řešení
2. Instalace Ubuntu a provedení počátečního nastavení
Požadované systémové specifikace
Pro provoz Ubuntu jako webového serveru jsou doporučeny následující minimální specifikace:
| Item | Minimum Requirements | Recommended Requirements |
|---|---|---|
| OS | Ubuntu 22.04 LTS | Ubuntu 22.04 LTS |
| CPU | 1GHz or higher | 2GHz or higher |
| Memory | 512MB | 2GB or higher |
| Storage | 10GB or more | 20GB or more |
| Network | Internet connection | High-speed connection recommended |
Stažení a instalace Ubuntu
Ubuntu lze stáhnout z oficiální webové stránky (https://ubuntu.com/download/server). Stáhněte ISO soubor a nainstalujte jej do virtuálního stroje, jako je VirtualBox nebo VMware, nebo na dedikovaný server či VPS.
Kroky instalace:
- Vytvořte instalační médium
- USB disk (pomocí nástrojů jako Rufus)
- Připojte ISO soubor ve virtuálním stroji
- Postupujte podle instalačního průvodce
- Vyberte preferovaný jazyk
- Ověřte síťové připojení
- Nastavte uživatelské jméno a heslo
- Nainstalujte SSH server (volitelné—můžete jej nainstalovat později)
- Po dokončení instalace restartujte
- Přihlaste se a začněte s počáteční konfigurací
Základní počáteční nastavení
Po instalaci proveďte následující kroky počátečního nastavení.
- Aktualizujte všechny balíčky
sudo apt update && sudo apt upgrade -y
→ Aplikuje bezpečnostní záplaty a aktualizuje softwarové balíčky.
- Nastavte časové pásmo
sudo timedatectl set-timezone Asia/Tokyo
→ Nastaví systémový čas na japonský standardní čas (JST).
- Povolte firewall
sudo ufw enable
→ Aktivuje firewall, aby chránil systém před neoprávněným přístupem.
- Nakonfigurujte SSH (pro vzdálenou správu)
- Zkontrolujte, zda je SSH povoleno
sudo systemctl status ssh - Pokud není, povolte jej
sudo systemctl enable --now ssh
Po dokončení těchto kroků je váš Ubuntu server připraven k nastavení jako plně funkční webový server.
3. Instalace a konfigurace Apache
Co je Apache?
Apache (Apache HTTP Server) je open-source webový server známý pro svou stabilitu, rozšiřitelnost a silné bezpečnostní funkce. Přibližně 30 % serverů po celém světě používá Apache.
Klíčové vlastnosti:
- Zdarma a open-source
- Modulární architektura pro snadná rozšíření
- Podpora SSL/TLS pro konfiguraci HTTPS
- Virtuální hosty pro hostování více webových stránek
Instalace Apache
Na Ubuntu lze Apache snadno nainstalovat pomocí správce balíčků apt.
Instalace Apache
Spusťte následující příkazy pro instalaci Apache:
sudo apt update
sudo apt install apache2 -y
Ověření instalace
Po instalaci zkontrolujte verzi Apache:
apache2 -v
Příklad výstupu:
Server version: Apache/2.4.52 (Ubuntu)
Server built: 2023-07-01T12:34:56
Pokud se zobrazí informace o verzi, Apache byl nainstalován správně.
Spouštění, zastavování a restartování Apache
Apache se spravuje pomocí příkazu systemctl.
Spuštění Apache
sudo systemctl start apache2
Apache nyní začne přijímat webové požadavky.
Povolení automatického spouštění
sudo systemctl enable apache2
Zkontrolujte stav Apache
Použijte tento příkaz k ověření, zda Apache běží:
sudo systemctl status apache2
Příklad výstupu:
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since ...
Restart nebo zastavení Apache
Restartujte Apache po úpravě konfiguračních nastavení:
sudo systemctl restart apache2
Dočasně zastavte Apache:
sudo systemctl stop apache2
Ověření provozu Apache
Pro potvrzení, že Apache běží správně, přistupte k IP adrese serveru.
1. Zkontrolujte IP adresu svého serveru
hostname -I
Nebo zkontrolujte externí IP:
curl ifconfig.me
2. Ověřte v webovém prohlížeči
Zadejte následující do svého prohlížeče:
http://<your-server-ip>/
Pro lokální nastavení:
http://localhost/
Měli byste vidět výchozí stránku Apache (/var/www/html/index.html).
Příklad výchozí stránky:
Apache2 Ubuntu Default Page
It works!
Pokud se tato zpráva zobrazí, Apache funguje správně.
Konfigurace firewallu
Ubuntu používá UFW (Uncomplicated Firewall) k správě pravidel firewallu.
Po instalaci Apache může být externí přístup k HTTP (port 80) a HTTPS (port 443) stále blokován.
Povolit Apache přes firewall
sudo ufw allow 'Apache'
Pro povolení také HTTPS:
sudo ufw allow 'Apache Full'
Zkontrolujte stav firewallu
sudo ufw status
Příklad výstupu:
Status: active
To Action From
-- ------ ----
Apache ALLOW Anywhere
Apache (v6) ALLOW Anywhere (v6)
Pokud se toto zobrazí, provoz Apache je povolen přes firewall.
Shrnutí
Dosud jste nainstalovali Apache na Ubuntu a dokončili základní kroky nastavení.
Klíčové body, které byly pokryty:
- Jak nainstalovat Apache
- Jak spustit a povolit Apache
- Jak ověřit provoz Apache v prohlížeči
- Jak nakonfigurovat pravidla firewallu UFW
- Přehled základních konfiguračních souborů Apache
4. Konfigurace virtuálních hostitelů (správa více webů)
Co jsou virtuální hostitelé?
Virtuální hostitelé vám umožňují hostovat více domén (nebo subdomén) na jednom serveru Apache.
Například jeden server může hostovat jak example.com, tak test.com.
Existují dva typy virtuálních hostitelů:
- Virtuální hostitelé založené na názvu
- Více webů sdílí stejnou IP adresu
- Nejčastější metoda
- Virtuální hostitelé založené na IP
- Každý web používá jinou IP adresu
- Vyžaduje více síťových rozhraní na jednom serveru
Ve většině případů se používají virtuální hostitelé založené na názvu.
Kroky pro konfiguraci virtuálních hostitelů
1. Vytvořte požadované adresáře
Vytvořte samostatný adresář pro každý web:
sudo mkdir -p /var/www/example.com/public_html
sudo mkdir -p /var/www/test.com/public_html
2. Změňte vlastnictví adresáře
Zajistěte, aby Apache mohl číst soubory nastavením vlastníka na www-data:
sudo chown -R www-data:www-data /var/www/example.com/public_html
sudo chown -R www-data:www-data /var/www/test.com/public_html
3. Vytvořte zástupné HTML soubory
Vytvořte základní soubor index.html pro testování:
echo "<h1>Welcome to example.com</h1>" | sudo tee /var/www/example.com/public_html/index.html
echo "<h1>Welcome to test.com</h1>" | sudo tee /var/www/test.com/public_html/index.html
4. Vytvořte konfigurační soubory virtuálních hostitelů
Konfigurační soubory virtuálních hostitelů jsou uloženy v adresáři /etc/apache2/sites-available/.
Konfigurace virtuálního hostitele pro example.com
Vytvořte a upravte konfigurační soubor pomocí následujícího příkazu:
sudo nano /etc/apache2/sites-available/example.com.conf
Obsah konfiguračního souboru:
.
<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
<Directory /var/www/example.com/public_html>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>
Konfigurace virtuálního hostitele pro test.com
sudo nano /etc/apache2/sites-available/test.com.conf
Přidejte následující obsah:
<VirtualHost *:80>
ServerAdmin admin@test.com
ServerName test.com
ServerAlias www.test.com
DocumentRoot /var/www/test.com/public_html
<Directory /var/www/test.com/public_html>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/test.com_error.log
CustomLog ${APACHE_LOG_DIR}/test.com_access.log combined
</VirtualHost>
5. Povolení virtuálních hostitelů
Po vytvoření konfiguračních souborů povolte virtuální hostitele pomocí a2ensite:
sudo a2ensite example.com.conf
sudo a2ensite test.com.conf
Otestujte konfiguraci Apache
Zkontrolujte syntaktické chyby:
sudo apachectl configtest
Ukázkový výstup:
Syntax OK
Pokud nejsou žádné chyby, restartujte Apache:
sudo systemctl restart apache2
6. Ověření lokálně (úprava souboru hosts)
Pro lokální testování virtuálních hostitelů upravte soubor hosts ve vašem PC.
sudo nano /etc/hosts
Přidejte následující řádky:
127.0.0.1 example.com
127.0.0.1 test.com
Uložte soubor, poté otevřete prohlížeč a navštivte:
http://example.com/
Měli byste vidět „Welcome to example.com“.
Stejně tak při návštěvě:
http://test.com/
by se mělo zobrazit „Welcome to test.com“.
7. Řešení problémů s virtuálními hostiteli
Pokud virtuální hostitelé nefungují správně, zkontrolujte následující:
1. Zkontrolujte chybové logy Apache
sudo tail -f /var/log/apache2/error.log
2. Ověřte, že jsou konfigurační soubory povoleny
ls /etc/apache2/sites-enabled/
Pokud jsou uvedeny správné soubory .conf, jsou virtuální hostitelé aktivní.
3. Zkontrolujte nastavení portu Apache
Ověřte, že je nakonfigurován port 80 (HTTP):
sudo nano /etc/apache2/ports.conf
Ujistěte se, že existuje následující řádek:
Listen 80
Shrnutí
Tato sekce vysvětlila jak konfigurovat virtuální hostitele v Apache na Ubuntu.
Klíčové body:
- Koncept a účel virtuálních hostitelů
- Vytváření adresářů pro jednotlivé weby
- Vytváření a povolování konfiguračních souborů virtuálních hostitelů
- Lokální testovací metody pomocí souboru hosts
- Řešení běžných problémů
5. Úvod do SSL/TLS (povolení HTTPS)
Co je SSL/TLS?
SSL (Secure Sockets Layer) a TLS (Transport Layer Security) jsou šifrovací technologie používané k zajištění bezpečné komunikace přes internet.
Výhody povolení SSL/TLS
✅ Šifruje komunikaci (snižuje riziko zachycení nebo změny dat)
✅ Zlepšuje hodnocení SEO ve vyhledávačích (HTTPS stránky jsou upřednostňovány)
✅ Zabraňuje varováním prohlížeče o zabezpečení (HTTP stránky ukazují „Not Secure“)
✅ Chrání přihlašovací údaje a online transakce
Dnes se doporučuje TLS (TLS 1.2 / 1.3) a starší verze SSL (SSL 3.0 a starší) jsou zastaralé.
Získání bezplatného SSL certifikátu pomocí Let’s Encrypt
Let’s Encrypt je certifikační autorita (CA), která poskytuje bezplatné SSL certifikáty.
Pomocí certbot můžete snadno vydat certifikát a nakonfigurovat jej v Apache.
Instalace klienta Let’s Encrypt (Certbot)
Nainstalujte certbot, oficiálního klienta Let’s Encrypt:
sudo apt update
sudo apt install certbot python3-certbot-apache -y
Automatizace konfigurace SSL v Apache
Můžete automaticky nakonfigurovat Apache pomocí následujícího příkazu:
sudo certbot --apache -d example.com -d www.example.com
Tento příkaz provádí:
- Ověření domény (výzva HTTP-01)
- Vydání SSL certifikátu
- Automatická konfigurace SSL pro Apache
- Volitelné přesměrování z HTTP na HTTPS
Ověření funkce SSL
Přístup k následující URL pro potvrzení, že je HTTPS povoleno:
https://example.com/
Pokud váš prohlížeč zobrazí ikonu zámku, je SSL úspěšně aplikován.
Manuální konfigurace SSL pro Apache
Pokud nechcete používat certbot --apache, můžete SSL nakonfigurovat manuálně.
1. Povolit modul SSL pro Apache
sudo a2enmod ssl
sudo systemctl restart apache2
2. Konfigurovat virtuální hostitel SSL
Upravte soubor konfigurace SSL /etc/apache2/sites-available/example.com-le-ssl.conf:
sudo nano /etc/apache2/sites-available/example.com-le-ssl.conf
Příklad konfigurace:
<VirtualHost *:443>
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
<Directory /var/www/example.com/public_html>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>

3. Povolit konfiguraci SSL a restartovat Apache
sudo a2ensite example.com-le-ssl.conf
sudo systemctl restart apache2
Automatická obnova SSL certifikátů
Certifikáty Let’s Encrypt jsou platné 90 dní. Aby se vyhnuli manuálním obnovám, nakonfigurujte automatické aktualizace.
1. Test automatické obnovy Certbot
sudo certbot renew --dry-run
2. Zkontrolovat plán obnovy
Plán automatické obnovy Certbot je uložen pod /etc/cron.d/certbot.
sudo systemctl list-timers | grep certbot
Řešení problémů se SSL
1. SSL certifikát není aplikován
Řešení: Restartujte Apache a ověřte konfiguraci
sudo systemctl restart apache2
sudo apachectl configtest
2. Certifikát vypršel
sudo certbot renew --force-renewal
3. Chyby validace Let’s Encrypt
Řešení: Zkontrolujte pravidla firewallu
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload
Shrnutí
Tato sekce vysvětlila, jak instalovat a konfigurovat bezplatný SSL pomocí Let’s Encrypt.
Klíčové body:
- Základy SSL/TLS
- Konfigurace Apache s Let’s Encrypt
- Manuální konfigurace SSL
- Automatická obnova certifikátů
- Řešení problémů se SSL
6. Zlepšení bezpečnosti webového serveru
Konfigurace firewallu (UFW)
Ubuntu používá UFW (Uncomplicated Firewall) k blokování nepotřebného provozu a ochraně serveru.
Zkontrolovat aktuální nastavení firewallu
sudo ufw status
Povolit pouze požadované porty
Ve výchozím nastavení blokujte veškerý příchozí provoz a povolte pouze požadované porty:
sudo ufw default deny incoming
sudo ufw default allow outgoing
Otevřít požadované porty:
- SSH (Port 22)
sudo ufw allow 22/tcp
- HTTP (Port 80)
sudo ufw allow 80/tcp
- HTTPS (Port 443)
sudo ufw allow 443/tcp
Povolit firewall
sudo ufw enable
Posílení bezpečnosti SSH
SSH je běžným cílem útoků hrubou silou, pokud zůstane s výchozími nastaveními. Posilte bezpečnost aplikací správných konfigurací.
Změnit port SSH
sudo nano /etc/ssh/sshd_config
Upravte tyto řádky:
Port 2222 # Change from 22 to any unused port
PermitRootLogin no # Disable root login
PasswordAuthentication no # Disable password login (use SSH keys only)
Restartovat SSH:
sudo systemctl restart ssh
Instalace Fail2Ban
Fail2Ban chrání váš server tím, že dočasně zakazuje IP adresy, které se opakovaně pokoušejí o přihlášení přes SSH.
sudo apt install fail2ban -y
Upravte konfiguraci:
sudo nano /etc/fail2ban/jail.local
Přidejte následující:
[sshd]
enabled = true
port = 2222
maxretry = 3
bantime = 600
Povolte Fail2Ban:
sudo systemctl restart fail2ban
sudo systemctl enable fail2ban
Zpevnění Apache
Skrytí informací o verzi Apache
sudo nano /etc/apache2/conf-available/security.conf
Změňte následující nastavení:
ServerTokens Prod
ServerSignature Off
Použijte změny:
sudo systemctl restart apache2
Zakázat výpis adresářů
sudo nano /etc/apache2/apache2.conf
Najděte blok adresáře a aktualizujte:
<Directory /var/www/>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Restartujte Apache:
sudo systemctl restart apache2
Zakázat zbytečné moduly Apache
sudo a2dismod autoindex
sudo a2dismod status
sudo systemctl restart apache2
Přidání bezpečnostních hlaviček
Bezpečnostní hlavičky chrání vaše webové stránky před útoky, jako je cross-site scripting a clickjacking.
Povolit mod_headers
sudo a2enmod headers
sudo systemctl restart apache2
Přidat bezpečnostní hlavičky
sudo nano /etc/apache2/sites-available/example.com.conf
Přidejte následující uvnitř bloku <VirtualHost>:
<IfModule mod_headers.c>
Header always set X-Content-Type-Options "nosniff"
Header always set X-XSS-Protection "1; mode=block"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
</IfModule>
Restartujte Apache:
sudo systemctl restart apache2
Řešení problémů
Zkontrolujte nastavení firewallu
sudo ufw status
Zkontrolujte konfiguraci Apache na chyby
sudo apachectl configtest
Příklad výstupu:
Syntax OK
Nelze se připojit přes SSH po změně portu
Pokud se po změně portu nelze připojit přes SSH, uveďte nový port při připojování:
ssh -p 2222 user@server-ip
Shrnutí
Tato sekce vysvětlila jak posílit zabezpečení vašeho webového serveru.
Klíčové body:
- Konfigurace pravidel firewallu UFW
- Zabezpečení SSH (změna portu, Fail2Ban)
- Zpevnění zabezpečení Apache (skrytí informací o verzi, zakázání výpisu)
- Přidání bezpečnostních hlaviček
7. Optimalizace výkonu
Ladění Apache
Výchozí konfigurace Apache nemusí poskytovat optimální výkon. Použitím následujících úprav můžete dosáhnout výrazně vyššího výkonu.
Optimalizace MPM (Multi-Processing Module)
MPM (Multi-Processing Module) určuje, jak Apache zpracovává požadavky.
Zkontrolujte aktuální MPM:
apachectl -M | grep mpm
Příklad výstupu:
mpm_prefork_module (shared)
Pokud je povolen mpm_prefork_module, přepnutí na mpm_event může zlepšit výkon.
Změňte MPM:
sudo a2dismod mpm_prefork
sudo a2enmod mpm_event
sudo systemctl restart apache2
Povolit KeepAlive
KeepAlive (trvalé spojení) umožňuje klientům znovu použít existující spojení, čímž snižuje režii požadavků.
Upravte konfigurační soubor:
sudo nano /etc/apache2/apache2.conf
Potvrďte následující nastavení:
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
Restartujte Apache:
sudo systemctl restart apache2
Použití cache
Využitím cache v prohlížeči a na straně serveru můžete snížit zbytečné požadavky a výrazně zlepšit rychlost odezvy.
Povolit mod_expires (cache prohlížeče)
sudo a2enmod expires
sudo systemctl restart apache2
Přidejte následující do /etc/apache2/sites-available/example.com.conf:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
</IfModule>
Restartujte Apache:
sudo systemctl restart apache2
Povolit mod_cache (Vyrovnávací paměť serveru)
sudo a2enmod cache cache_disk
sudo systemctl restart apache2
Přidejte následující do /etc/apache2/sites-available/example.com.conf:
<IfModule mod_cache.c>
CacheEnable disk /
CacheRoot /var/cache/apache2/mod_cache_disk
CacheDefaultExpire 86400
</IfModule>
Restartujte Apache:
sudo systemctl restart apache2
Povolit kompresi
Použijte mod_deflate k kompresi dat webu a snížení velikosti přenosu.
Povolit mod_deflate
sudo a2enmod deflate
sudo systemctl restart apache2
Přidejte následující do /etc/apache2/sites-available/example.com.conf:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE image/svg+xml
</IfModule>
Restartujte Apache:
sudo systemctl restart apache2
Omezení zdrojů
Pro přípravu na vysokou návštěvnost nebo potenciální škodlivý přístup nastavte limity zdrojů pomocí modulů Apache.
Povolit mod_ratelimit
sudo a2enmod ratelimit
sudo systemctl restart apache2
Přidejte následující do /etc/apache2/sites-available/example.com.conf:
<Location />
SetOutputFilter RATE_LIMIT
SetEnv rate-limit 200
</Location>
Restartujte Apache:
sudo systemctl restart apache2
Řešení problémů s výkonem
Zkontrolujte chybový protokol Apache
sudo tail -f /var/log/apache2/error.log
Zkontrolujte stav zatížení Apache
sudo apachectl status
Zkontrolujte využití CPU a paměti
top
nebo
htop
Pokud není nainstalován htop:
sudo apt install htop
Shrnutí
Tato sekce vysvětlila, jak optimalizovat výkon webového serveru.
Klíčové body:
- Ladění Apache (optimalizace MPM a nastavení KeepAlive)
- Používání vyrovnávací paměti (vyrovnávací paměť prohlížeče a serveru)
- Komprese dat s mod_deflate
- Řízení zdrojů pomocí mod_ratelimit
8. Řešení problémů
Apache se nespustí
Pokud se Apache nespustí, nejčastější příčinou je chyba v konfiguraci.
1. Zkontrolujte chybové zprávy
sudo systemctl status apache2
2. Testujte konfiguraci
sudo apachectl configtest
Pokud výstup obsahuje „Syntax error“, ověřte cestu nebo nastavení uvedené v chybové zprávě.
3. Restartujte Apache
sudo systemctl restart apache2
Nelze přistoupit k serveru
Pokud k serveru nelze přistoupit v prohlížeči, ověřte následující položky.
1. Zkontrolujte nastavení firewallu
sudo ufw status
Ujistěte se, že jsou povoleny porty 80 a 443.
2. Zkontrolujte stav Apache
sudo systemctl status apache2
3. Zkontrolujte IP adresu serveru
hostname -I
Virtuální hostitelé nefungují
Pokud se virtuální hostitelé nechovají podle očekávání, znovu zkontrolujte konfiguraci.
1. Ověřte, že jsou soubory virtuálních hostitelů povoleny
ls /etc/apache2/sites-enabled/
Pokud váš .conf není uveden, povolte ho:
sudo a2ensite example.com.conf
sudo systemctl restart apache2
2. Zkontrolujte rozlišení názvu hostitele
Při testování lokálně se ujistěte, že soubor /etc/hosts obsahuje:
127.0.0.1 example.com
3. Zkontrolujte cestu DocumentRoot
Nesprávné cesty často způsobují problémy s virtuálními hostiteli.
DocumentRoot /var/www/example.com/public_html
Problémy s SSL certifikátem
1. HTTPS nefunguje
Ověřte, že je SSL povoleno:
sudo apachectl -M | grep ssl
Povolte, pokud je to nutné:
sudo a2enmod ssl
sudo systemctl restart apache2
2. Certifikát vypršel
sudo certbot renew
3. Selhání ověření Let’s Encrypt
HTTP ověření vyžaduje, aby byl otevřen port 80.
sudo ufw allow 80/tcp
sudo systemctl restart apache2
Pomalý výkon webu
1. Zkontrolujte zatížení serveru
top
2. Prohlédněte si logy Apache
sudo tail -f /var/log/apache2/access.log
3. Ověřte nastavení cache
Ujistěte se, že jsou povoleny mod_expires, mod_cache a mod_deflate.
Chyby oprávnění (403 Forbidden)
Tato chyba obvykle naznačuje nesprávná oprávnění souborů nebo adresářů.
1. Zkontrolujte vlastnictví adresáře
sudo chown -R www-data:www-data /var/www/example.com
2. Zkontrolujte oprávnění adresáře
sudo chmod -R 755 /var/www/example.com
Monitorování chybových logů
Vždy monitorujte chybové logy během odstraňování problémů:
sudo tail -f /var/log/apache2/error.log
Shrnutí
Tato sekce poskytla metody pro řešení běžných problémů s vaším Ubuntu webovým serverem.
Klíčové body:
- Chyby při spouštění Apache a kontrola konfigurace
- Problémy s firewallem a sítí
- Problémy s konfigurací virtuálních hostů
- Chyby SSL certifikátů a jejich obnovy
- Řešení výkonu a oprávnění
9. Shrnutí
V tomto článku jsme vysvětlili, jak vybudovat kompletní prostředí webového serveru na Ubuntu pomocí Apache, včetně vylepšení zabezpečení, optimalizace výkonu a technik odstraňování problémů.
Dodržením tohoto návodu můžete provozovat stabilní, zabezpečený a výkonný webový server, vhodný jak pro osobní projekty, tak pro podnikové aplikace.
✔ Klíčové body pokryté v tomto návodu
- Instalace Ubuntu a provedení počáteční konfigurace systému
- Instalace a konfigurace Apache
- Nastavení virtuálních hostů pro správu více webových stránek
- Povolení HTTPS pomocí bezplatných SSL certifikátů od Let’s Encrypt
- Zvýšení zabezpečení serveru (UFW, posílení SSH, nastavení Apache)
- Zlepšení výkonu (caching, komprese, ladění MPM)
- Řešení běžných problémů během provozu serveru
✔ Co můžete dosáhnout po dokončení tohoto návodu
- Hostovat více webových stránek na jednom Ubuntu serveru
- Zajistit zabezpečenou komunikaci pomocí moderního SSL/TLS
- Zlepšit rychlost a spolehlivost stránek pomocí cache a komprese
- Rychle diagnostikovat a řešit problémy pomocí logů Apache a systémových nástrojů
✔ Doporučené další kroky
- Nainstalovat PHP a MySQL/MariaDB pro vytvoření kompletního LAMP prostředí
- Nasadit WordPress nebo jiný CMS
- Implementovat automatické zálohovací řešení
- Zvážit využití cloudových služeb (AWS, GCP, Azure, atd.)
S řádnou konfigurací a údržbou může Ubuntu webový server poskytovat dlouhodobou stabilitu a vynikající výkon.
Doufáme, že vám tento návod pomůže vybudovat spolehlivé a zabezpečené serverové prostředí.



