====== 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}}//