Apache HTTP Server to najstarszy i jeden z najważniejszych serwerów www w historii internetu. Od ponad 25 lat obsługuje miliony stron internetowych na całym świecie, stanowiąc fundament World Wide Web. Choć jego dominacja została osłabiona przez pojawienie się Nginx i innych nowoczesnych serwerów, Apache pozostaje niezwykle popularnym i wszechstronnym rozwiązaniem. W tym artykule poznasz historię, architekturę, zalety i wady Apache oraz dowiesz się, kiedy jest najlepszym wyborem.
Czym jest Apache HTTP Server?
Apache HTTP Server (znany też jako Apache httpd lub po prostu Apache) to otwarto-źródłowy, wieloplatformowy serwer HTTP opracowywany przez Apache Software Foundation. Jest darmowy, dostępny na licencji Apache 2.0 i działa na systemach Linux, Windows Server, macOS, FreeBSD i wielu innych.
Nazwa „Apache" ma podwójne znaczenie — nawiązuje zarówno do rdzennych Amerykanów (plemię Apaczów), jak i do gry słów „a patchy server" (łatany serwer), ponieważ oryginalna wersja z 1995 roku powstawała jako zbiór poprawek (patches) do serwera NCSA HTTPd.
Krótka historia Apache
Apache powstał w 1995 roku z inicjatywy grupy webmasterów, którzy kontynuowali rozwój porzuconego serwera NCSA HTTPd. W 1999 roku utworzono Apache Software Foundation, która do dziś zarządza projektem. W szczytowym okresie (2005–2012) Apache obsługiwał ponad 70% wszystkich stron internetowych — rekord, który żaden inny serwer nie pobił.
Mimo spadku udziału rynkowego na rzecz Nginx, Apache w 2026 roku nadal obsługuje ok. 25–30% witryn i jest domyślnym serwerem w wielu dystrybucjach Linuxa oraz na większości serwerów hostingowych.
Architektura Apache — Multi-Processing Modules (MPM)
Apache oferuje kilka modułów przetwarzania (MPM — Multi-Processing Modules), które determinują sposób obsługi żądań:
prefork MPM
Klasyczny model procesowy — dla każdego połączenia tworzony jest osobny proces. Bezpieczny (izolacja procesów), ale zasobożerny. Wymagany przez mod_php. Jeden proces na połączenie oznacza, że 1000 jednoczesnych połączeń wymaga 1000 procesów, co przy ~2,5 MB na proces daje ~2,5 GB pamięci RAM.
worker MPM
Model hybrydowy — kilka procesów, z których każdy obsługuje wiele wątków. Bardziej wydajny niż prefork, ale wymaga aplikacji thread-safe. Wątek zużywa mniej zasobów niż cały proces, co pozwala obsłużyć więcej jednoczesnych połączeń.
event MPM
Najnowocześniejszy model — podobny do worker, ale z lepszą obsługą keep-alive. Dedykowany wątek nasłuchuje na istniejących połączeniach keep-alive, uwalniając wątki worker do obsługi nowych żądań. To znacząca poprawa wydajności przy dużym ruchu. Od Apache 2.4 event jest domyślnym MPM.
| MPM | Model | Pamięć na połączenie | Thread-safe wymagane? | Zastosowanie |
|---|
| prefork | 1 proces = 1 połączenie | ~2,5 MB | Nie | Kompatybilność (mod_php) |
| worker | Procesy + wiele wątków | ~256 KB | Tak | Większa wydajność |
| event | Worker + async keep-alive | ~256 KB + dedykowane keep-alive | Tak | Wysokie obciążenia (domyślny) |
Kluczowe cechy Apache
Pliki .htaccess — konfiguracja per-directory
Unikalna cecha Apache to obsługa plików .htaccess, które pozwalają na zmianę konfiguracji na poziomie pojedynczego katalogu bez restartu serwera. To kluczowa funkcja w hostingach współdzielonych, gdzie użytkownicy nie mają dostępu do głównego pliku konfiguracyjnego. Pliki .htaccess umożliwiają m.in. przekierowania URL, ochronę hasłem, reguły rewrite i kontrolę dostępu.
Wada .htaccess: Apache musi sprawdzać plik w każdym katalogu ścieżki dla każdego żądania, co wpływa na wydajność. Dlatego Nginx zrezygnował z tego mechanizmu na rzecz centralnej konfiguracji.
Moduły dynamiczne
Apache posiada jeden z najbogatszych ekosystemów modułów wśród serwerów www. Moduły można ładować i odładowywać dynamicznie (bez rekompilacji). Najważniejsze moduły:
- mod_rewrite — zaawansowane przepisywanie URL (reguły SEO-friendly)
- mod_ssl — obsługa HTTPS/TLS
- mod_php — natywna obsługa PHP (wbudowana w proces Apache)
- mod_proxy — reverse proxy i load balancing
- mod_security — Web Application Firewall (WAF)
- mod_deflate — kompresja Gzip
- mod_cache — buforowanie odpowiedzi
- mod_evasive — ochrona przed atakami DDoS
Virtual Hosts
Apache obsługuje wirtualne hosty (Virtual Hosts) — mechanizm pozwalający na serwowanie wielu stron internetowych z jednego serwera. Hosty mogą być rozróżniane na podstawie nazwy domeny (name-based) lub adresu IP (IP-based). To standard w hostingach współdzielonych.
Wsparcie dla .htpasswd i Basic Auth
Apache natywnie obsługuje proste uwierzytelnianie HTTP Basic przez pliki .htpasswd. Choć nie jest to bezpieczna metoda (hasła przesyłane w formie base64), w połączeniu z HTTPS jest wystarczająca do ochrony paneli administracyjnych i środowisk deweloperskich.
Apache a PHP — stos LAMP
Apache jest integralną częścią stosu LAMP (Linux, Apache, MySQL, PHP) — jednego z najstarszych i najpopularniejszych stosów technologicznych w historii web developmentu. Większość systemów CMS (WordPress, Joomla, Drupal, PrestaShop, Magento) została zaprojektowana z myślą o Apache.
mod_php vs PHP-FPM
Tradycyjnie Apache obsługiwał PHP przez moduł mod_php, który ładował interpreter PHP bezpośrednio do procesu Apache. Zaletą był prosty setup i dobra wydajność. Wadą — każdy proces Apache zużywał pamięć na interpreter PHP, nawet obsługując żądania statycznych plików.
Nowoczesnym podejściem jest PHP-FPM (FastCGI Process Manager) — osobny demon PHP obsługiwany przez Apache jako reverse proxy. PHP-FPM oferuje lepsze zarządzanie zasobami, izolację procesów i możliwość uruchamiania wielu wersji PHP jednocześnie. To samo rozwiązanie, którego używa Nginx.
Bezpieczeństwo Apache
Apache oferuje rozbudowane mechanizmy bezpieczeństwa:
mod_security — Web Application Firewall
ModSecurity to potężny moduł WAF dla Apache, który analizuje ruch HTTP i blokuje znane ataki: SQL injection, cross-site scripting (XSS), path traversal i inne. Zestawy reguł OWASP CRS (Core Rule Set) zapewniają ochronę out-of-the-box.
Hardening konfiguracji
Podstawowe kroki zabezpieczenia Apache obejmują:
- Wyłączenie listowania katalogów (
Options -Indexes) - Ukrycie wersji serwera (
ServerTokens Prod) - Ograniczenie metod HTTP (wyłączenie TRACE, OPTIONS)
- Konfiguracja nagłówków bezpieczeństwa (HSTS, X-Frame-Options, CSP)
- Wyłączenie zbędnych modułów
- Regularne aktualizacje — Apache wydaje poprawki bezpieczeństwa kilka razy w roku
SSL/TLS
Moduł mod_ssl obsługuje szyfrowanie HTTPS. Apache wspiera wszystkie nowoczesne protokoły (TLS 1.2, TLS 1.3) i algorytmy szyfrowania. Certyfikaty SSL można uzyskać bezpłatnie z Let's Encrypt — narzędzie Certbot automatycznie konfiguruje Apache.
Apache vs Nginx vs LiteSpeed — porównanie
Trzy najpopularniejsze serwery www różnią się podejściem, wydajnością i zastosowaniem:
| Aspekt | Apache | Nginx | LiteSpeed |
|---|
| Model obsługi | Procesowy/wątkowy (MPM) | Asynchroniczny zdarzeniowy | Asynchroniczny zdarzeniowy |
| Pliki .htaccess | Pełna obsługa | Brak | Pełna obsługa |
| Statyczne pliki | Dobra wydajność | Doskonała wydajność | Doskonała wydajność |
| PHP | mod_php / PHP-FPM | Tylko PHP-FPM | Natywny LSAPI (najszybszy) |
| Cena | Darmowy (Apache 2.0) | Darmowy (BSD) | Darmowy (Open) / komercyjny |
| Ekosystem modułów | Największy | Mniejszy | Kompatybilność z Apache |
| Użycie pamięci | Wysokie (prefork) | Niskie | Niskie |
Kiedy wybrać Apache?
Apache jest najlepszym wyborem, gdy: potrzebujesz obsługi .htaccess (hosting współdzielony), korzystasz z mod_php lub mod_security, masz istniejącą konfigurację Apache (migracja kosztuje), lub potrzebujesz specyficznych modułów dostępnych tylko dla Apache.
Kiedy wybrać Nginx?
Nginx sprawdza się lepiej jako reverse proxy, load balancer, serwer statycznych plików i w scenariuszach z bardzo dużą liczbą jednoczesnych połączeń. Więcej o Nginx dowiesz się z artykułu Nginx — co to jest i jak działa?
Instalacja Apache na serwerze
Instalacja Apache jest prosta i dobrze udokumentowana na wszystkich popularnych systemach:
Linux (Ubuntu/Debian)
Na serwerach Ubuntu: sudo apt install apache2. Apache uruchomi się automatycznie i zacznie serwować domyślną stronę na porcie 80. Zarządzanie usługą odbywa się przez systemctl: start, stop, restart, reload, enable.
Linux (CentOS/RHEL)
Na serwerach CentOS/RHEL: sudo yum install httpd (lub dnf install httpd na nowszych wersjach). Pakiet nosi nazwę httpd, nie apache2.
Windows Server
Apache jest dostępny dla Windows Server — dystrybucje Apache Lounge i XAMPP oferują gotowe paczki instalacyjne. Na Windows Apache działa jako usługa systemowa i może być zarządzany przez Services.msc.
Weryfikacja instalacji
Po instalacji sprawdź wersję (apache2 -v lub httpd -v), status usługi (systemctl status apache2) i otwórz przeglądarkę pod adresem IP serwera — powinna pojawić się domyślna strona Apache. Testuj konfigurację przed restartem: apache2ctl configtest.
Apache w środowiskach produkcyjnych — optymalizacja wydajności
Choć Apache nie jest najszybszym serwerem www, odpowiednia konfiguracja może znacząco poprawić jego wydajność:
Wybór odpowiedniego MPM
Dla nowoczesnych aplikacji PHP z PHP-FPM (zamiast mod_php) należy używać event MPM — oferuje najlepszą wydajność przy dużej liczbie jednoczesnych połączeń. Prefork MPM powinien być stosowany tylko wtedy, gdy wymaga tego mod_php lub inne moduły non-thread-safe.
Wyłączenie AllowOverride
Jeśli nie potrzebujesz plików .htaccess, wyłączenie AllowOverride None eliminuje koszty wydajnościowe — Apache nie musi sprawdzać każdego katalogu w ścieżce. Zamiast tego przenieś reguły bezpośrednio do konfiguracji VirtualHosta.
Włączenie kompresji i cache
Moduły mod_deflate (kompresja Gzip) i mod_expires (nagłówki cache HTTP) zmniejszają transfer danych i liczbę żądań. Kompresja HTML, CSS i JavaScript zmniejsza rozmiar transferu o 60–80%. Odpowiednie nagłówki Expires i Cache-Control pozwalają przeglądarkom buforować statyczne zasoby.
Keep-Alive i TimeOut
Włączenie KeepAlive On pozwala na wielokrotne żądania przez jedno połączenie TCP — zmniejsza latencję ładowania stron z wieloma zasobami. Jednocześnie należy ustawić rozsądny KeepAliveTimeout (2–5 sekund), aby nie blokować procesów worker na bezczynnych połączeniach.
Monitorowanie wydajności
Moduł mod_status udostępnia stronę statusu Apache z informacjami o aktywnych połączeniach, obciążeniu procesów worker i statystykach żądań. Narzędzia jak apachectl fullstatus i zewnętrzne systemy monitoringu (Prometheus, Grafana, Datadog) pozwalają na ciągłe śledzenie wydajności serwera z Windows Server 2022 lub Linuxem.
FAQ — najczęściej zadawane pytania o Apache
Czy Apache jest nadal używany w 2026 roku?
Tak. Apache obsługuje ok. 25–30% stron internetowych i jest domyślnym serwerem w wielu hostingach. Choć traci udział rynkowy na rzecz Nginx, jest nadal aktywnie rozwijany i powszechnie stosowany, szczególnie w ekosystemie PHP (WordPress, Joomla, PrestaShop).
Apache czy Nginx — co jest lepsze?
Nie ma jednoznacznej odpowiedzi. Apache oferuje większą elastyczność (.htaccess, moduły), Nginx lepszą wydajność przy dużym ruchu. Najczęstsze rozwiązanie produkcyjne to Nginx jako reverse proxy przed Apache — łączy zalety obu serwerów.
Jak sprawdzić, czy na serwerze działa Apache?
Na Linuxie: systemctl status apache2 (lub httpd). Możesz też sprawdzić nagłówki HTTP odpowiedzi — nagłówek Server zwykle zawiera „Apache". W przeglądarce otwórz narzędzia deweloperskie (F12) → zakładka Network → nagłówki odpowiedzi.
Co to jest stos LAMP?
LAMP to akronim od Linux, Apache, MySQL (lub MariaDB), PHP (lub Python/Perl). To klasyczny stos technologiczny do budowy dynamicznych stron internetowych. Większość systemów CMS (WordPress, PrestaShop, Magento) działa na stosie LAMP.
Jak zabezpieczyć Apache?
Kluczowe kroki: włącz HTTPS z TLS 1.2+ (mod_ssl + Let's Encrypt), zainstaluj ModSecurity z regułami OWASP CRS, wyłącz listowanie katalogów, ukryj wersję serwera, ogranicz metody HTTP, skonfiguruj nagłówki bezpieczeństwa (HSTS, CSP, X-Frame-Options) i regularnie aktualizuj serwer.
Podsumowanie
Apache HTTP Server to legenda internetu — serwer, który pomógł zbudować World Wide Web takim, jakim go znamy. Mimo rosnącej konkurencji ze strony Nginx i LiteSpeed, Apache pozostaje solidnym, wszechstronnym i dobrze udokumentowanym rozwiązaniem, szczególnie w ekosystemie PHP i na hostingach współdzielonych.
Niezależnie od tego, który serwer www wybierzesz, potrzebujesz odpowiedniego systemu operacyjnego. W KluczeSoft znajdziesz Windows Server 2022 Standard z natychmiastową dostawą klucza licencyjnego. Przeczytaj też, jak dobór procesora CPU i pamięci RAM wpływa na wydajność serwera www.
Najczesciej zadawane pytania
Gdzie kupić tanie licencje Microsoft?
W KluczeSoft.pl — oryginalne klucze Windows i Office od 149 zł z natychmiastową dostawą e-mailem.
Czy dostawa klucza jest natychmiastowa?
Tak, klucz produktu jest wysyłany automatycznie e-mailem w ciągu 5 minut od zaksięgowania płatności.
Czy mogę zwrócić zakupiony klucz?
Tak, oferujemy 14-dniowe prawo zwrotu zgodnie z prawem konsumenckim UE — bez podawania przyczyny.
Dodaj komentarz