====== Apache na Linuxu: Instalace a správa ======
Nasazení **Apache HTTP Serveru** na systému [[it:sw:linux|Linux]] je standardním postupem pro hostování webových aplikací. Díky otevřenosti obou projektů nabízí toto spojení vysoký výkon, bezpečnost a téměř nekonečné možnosti konfigurace.
===== 1. Instalace na hlavních distribucích =====
V Linuxu se Apache instaluje pomocí správce balíčků. Název balíčku se liší podle rodiny distribucí:
* **Debian / Ubuntu:**
sudo apt update && sudo apt install apache2
* **RHEL / CentOS / Fedora / AlmaLinux:**
sudo dnf install httpd
---
===== 2. Správa služby (systemd) =====
Moderní linuxové distribuce používají pro správu služeb systém ''systemd''. K ovládání Apache slouží příkaz ''systemctl'':
sudo systemctl start apache2 # Spuštění serveru
sudo systemctl stop apache2 # Zastavení serveru
sudo systemctl restart apache2 # Restart (při velkých změnách)
sudo systemctl reload apache2 # Znovunačtení konfigurace bez výpadku
sudo systemctl status apache2 # Kontrola stavu a chyb
---
===== 3. Struktura konfiguračních souborů =====
V Linuxu je konfigurace Apache rozdělena do logických celků (zejména na systémech Debian/Ubuntu):
* **/etc/apache2/apache2.conf:** Hlavní konfigurační soubor.
* **/etc/apache2/sites-available/:** Definice jednotlivých webů (Virtual Hosts).
* **/etc/apache2/sites-enabled/:** Symlinky na weby, které jsou aktuálně aktivní.
* **/var/www/html/:** Výchozí kořenový adresář, kde jsou uloženy HTML/PHP soubory webu.
---
===== 4. Virtuální hostitelé (Virtual Hosts) =====
Virtuální hostitelé umožňují na jednom Linuxovém serveru (jedné IP adrese) provozovat více domén najednou. Apache pozná, který web zobrazit, podle hlavičky v HTTP požadavku.
ServerName www.priklad.cz
DocumentRoot /var/www/priklad
ErrorLog ${APACHE_LOG_DIR}/error.log
---
===== 5. Moduly a rozšíření =====
Síla Apache na Linuxu spočívá v jeho modularitě. Moduly lze snadno aktivovat pomocí nástrojů jako ''a2enmod'':
* **mod_rewrite:** Pro hezké URL a přesměrování (vyžadováno např. WordPressem).
* **mod_ssl:** Pro zabezpečený protokol HTTPS.
* **mod_proxy:** Pro využití Apache jako reverzní proxy (např. před aplikaci v [[it:sw:node_js|Node.js]]).
sudo a2enmod rewrite
sudo systemctl restart apache2
---
===== 6. Bezpečnostní aspekty na Linuxu =====
Při provozu Apache na Linuxu je nutné dbát na několik bezpečnostních pravidel:
* **Firewall:** Povolení portů 80 (HTTP) a 443 (HTTPS) pomocí ''ufw'' nebo ''firewalld''.
* **Oprávnění:** Apache by měl běžet pod vlastním neprivilegovaným uživatelem (typicky ''www-data'' nebo ''apache'').
* **SELinux:** Na distribucích jako RHEL/CentOS je třeba správně nastavit politiky SELinux, aby mohl Apache přistupovat k souborům.
----
//Související články://
* [[it:sw:linux_basics|Základy systému Linux]]
* [[it:sw:apache|Přehled projektů Apache]]
* [[it:sw:security_web|Zabezpečení webových serverů]]
//Tagy: {{tag>it linux apache webserver sysadmin lamp infrastructure}}//