Czy serwer WWW Apache to najlepsze rozwiązanie na rynku? Sprawdzamy, jak działa, kto powinien z niego skorzystać i jak wypada na tle Nginx i LiteSpeed.
Spis treściApache to oprogramowanie, którego rolą jest umożliwienie obsługi stron WWW przez użytkowników. W praktyce sprawia on, że komputer może bezproblemowo pełnić funkcję serwera i da się korzystać z jego funkcji. W środowisku programistów i administratorów Apache jest prawdziwą legendą sieci internet. Działa od lat i stanowi synonim niezawodności oraz wysokiego standardu.
Na głównej stronie serwera możemy przeczytać, że jest to projekt typu open source. Jego zadaniem jest utrzymywanie serwera HTTP w nowoczesnych systemach operacyjnych. Zgodnie z założeniami, usługi oferowane przez to rozwiązanie mają być bezpieczne oraz wydajne. Ponadto zwracana jest uwaga na aktualność i zgodność z aktualnymi standardami HTTP.
Apache jest jednym z najczęściej stosowanych serwerów na świecie. Działa od 1995 roku, a odpowiada za niego The Apache Software Foundation. Czym się natomiast charakteryzuje i jakie są wobec niego alternatywy? Sprawdźmy, czy rzeczywiście jest to najlepsze rozwiązanie dostępne na rynku.
Co to jest Apache? Definicja
Apache to otwarty i darmowe oprogramowanie serwera HTTP. Jest powszechnie stosowany w internecie i korzysta z niego wielu najpopularniejszych hostingodawców na świecie. Cechuje go dostępność dla rozmaitych systemów operacyjnych. Jest też polecany przez wiele renomowanych systemów zarządzania treścią (CMS).
Serwis Netcafr oszacował, że serwery Apache HTTP w maju 2020 roku zajmowały 25,45% rynku. Oznacza to, że były wykorzystywane w ponad 315 milionach przypadków. Nie brak natomiast również źródeł podających jeszcze bardziej imponujące dane. Według nich tego rozwiązania może używać nawet połowa stron na całym świecie.
Doceniany jest przede wszystkim za swoją wiarygodność. Jego open source’owy charakter i poleganie na otwartym kodzie źródłowym sprawiły, że powstała wokół niego ogromna społeczność. Dzięki niej jest on bezustannie rozwijany i udoskonalany. Stanowi też jeden z elementów tzw. LAMP. To pakiet oprogramowania, które stworzone zostało do rozwijania aplikacji webowych.
Nie bez znaczenia jest jego imponująca funkcjonalność. Podstawowa konfiguracja serwera nie pozwala na zbyt wiele. Mowa natomiast o bardzo długiej liście modułów dodatkowych. Powstały specjalnie po to, by zapewniać jego niezawodność i uniwersalność. Dzięki nim jest w stanie dostosować się do praktycznie każdego żądania i sprostać wszystkim potrzebom użytkownika.
Do czego służy serwer WWW Apache?
Serwer WWW Apache HTTP pomaga użytkownikom, którzy chcą wejść na daną stronę internetową. Jednocześnie przesyła też plik między nimi, opierając się na strukturze klient-serwer. Działa w tle na komputerze pełniącym funkcję serwera. „Obserwuje” adresy IP witryn, a gdy na któryś z nich przyjdzie zapytanie, szuka odpowiedzi na nie w pliku konfiguracyjnym. Obsługuje dwa rodzaje zapytań:
- statyczne (w postaci adresu URL witryn internetowych) — odpowiada na nie konkretnym plikiem, znajdującym się na dysku lokalnym. Wysyła go użytkownikowi (np. w postaci przeglądarki internetowej). Dzięki temu możliwe jest wyświetlenie zawartości danej domeny;
- dynamiczne — uruchamia odpowiedni program z informacjami przesłanymi. Po jego wykonaniu output wysyłany jest do nadawcy zapytania.
Zdarzają się też sytuacje, gdy serwer nie jest w stanie „przerobić” otrzymanego zapytania. Powodem może być np. brak żądanego pliku. W takiej sytuacji użytkownik otrzymuje odpowiednie komunikaty błędów.
Jakie możliwości ma serwer HTTP Apache?
Apache jest najczęściej stosowanym serwerem dzięki swojej uniwersalności. Mnogość dostępnych i ładowanych modułów sprawia, że łatwo dostosować go do swoich wymagań. Dotyczy to bardzo zróżnicowanych aspektów jego działalności. Wymienić tu można np.:
- konfigurowalne komunikaty o błędach,
- XML (Extensible Markup Language),
- SSL (Secure Socket Layer),
- HTTP/2,
- tryb umożliwiający przetwarzanie wielu żądań,
- .htaccess,
- .htapsswd,
- WebDAV,
- CGI (Common Gateway Interface),
- ograniczanie przepustowości,
- IPv6,
- SSI (Server Side Includes)
- bycie serwerem proxy,
- uwierzytelnianie certyfikatami cyfrowymi i hasłem,
- i wiele innych.
Na tym cechy serwera Apache HTTP się nie kończą. To rozwiązanie uniwersalne i trudno jest znaleźć ludzi, którzy poznali wszystkie jego funkcje. W sieci natomiast jest bardzo wiele grup i forów dotyczących problemów i wyzwań pojawiających się na tym serwerze. Dzięki temu na pewno bez najmniejszego problemu znajdziesz odpowiedzi na wszystkie swoje pytania.
Oczywiście wszystko to nie sprawia, że serwer Apache jest bez wad. Ma jeden i to dość duży minus. W porównaniu z alternatywnymi rozwiązaniami, problemem jest jego wydajność. Konkurencja jest w stanie działać i przesyłać pliki o wiele szybciej i w większych ilościach. Co to oznacza w praktyce? Udostępnianie stron w internecie przy użyciu tego serwera może trwać dość długo. Konsekwencją tego mogą być:
- problemy z widocznością strony w wyszukiwarce,
- niska konwersja witryny,
- problem z promowaniem strony,
- irytacja użytkowników.
Jaki system operacyjny działa z serwerem Apache HTTP?
Instalacja serwera Apache możliwa jest możliwa na systemie:
- Linux,
- Microsoft Windows,
- macOS.
Ponadto ten serwer WWW współpracuje również z mniej popularnymi systemami operacyjnymi. Sprawdzi się dzięki temu w konfiguracji np. z OpenVMS, NetWare czy BSD (UNIX).
Jak korzystać z serwera Apache HTTP krok po kroku?
Co zrobić, aby móc korzystać z Apache? Przede wszystkim musisz go zainstalować na komputerze, który ma zostać serwerem. Pierwszym krokiem jest więc pobranie aktualnej wersji oprogramowania z oficjalnej strony internetowej Apache.org, zakładka „Download!„.
Po pobraniu pliku uruchamiamy go na komputerze. Ekrany instalacyjne przeprowadzą Cię przez całą procedurę. Wszystko zostało na nich dokładnie opisane. Wystarczy więc tylko, że będziesz naciskać przycisk „Dalej„.
Instalator zapyta Cię też o przykładowe dane instalowanego serwera. Możesz użyć tam zwyczajowego „localhost„. Następnie wybierasz miejsce instalacji. Gdy proces dobiegnie końca, sprawdź, czy wszystko się udało. Wystarczy, że w przeglądarce posłużysz się adresem http://localhost. Po wpisaniu go i zatwierdzeniu powinna ukazać Ci się strona potwierdzająca, że serwer działa.
Jeśli chcesz, następnie możesz zmienić domyślne ścieżki dostępu do katalogów. Będą w nich przechowywane pliki interpretera PHP, bazy danych MySQL czy projekty php. Jeśli wszystko przebiegnie poprawnie, skonfigurowany i sprawny serwer może być wykorzystywany na wiele różnych sposobów, np.:
- do testowania aplikacji webowych,
- jako serwer WWW w Intranecie przedsiębiorstwa,
- jako serwer strony internetowej.
Zobacz też: XAMPP: lokalny serwer Apache na komputerze
Instalacja Apache w Linux Ubuntu
Nieco inaczej będzie wyglądała instalacja serwera Apache w systemie Linux Ubuntu (np. na serwerze dedykowanym czy VPS). W tym przypadku pierwszym krokiem jest zainstalowanie najnowszych, dostępnych aktualizacji. Zrobisz to za pomocą poleceń:
sudo apt-get update
sudo apt-get upgrade
Oprogramowanie pobiera się ze scentralizowanego repozytorium. Tam dostępne są tzw. pakiety, które instaluje się przy użyciu prostych poleceń. Musisz zastosować więc te, które umożliwiają wgranie serwera. Mowa tu o:
sudo apt-get install apache2
sudo apt-get install php
sudo apt-get install libapache2-mod-php
Tylko tyle wystarczy, aby z repozytorium pobrać i zainstalować najnowsze wersje kolejno:
- serwera Apache HTTP,
- silnika PHP,
- modułu rozszerzającego PHP dla Apache.
Wady i zalety serwera Apache
Zalety Apache HTTP:
- bezpieczeństwo (obsługa szyfrowania SSL/TLS oraz moduły uwierzytelniania, autoryzacji itp.),
- brak kosztów,
- powszechna dostępność kodu,
- integralność z systemem Linux, Windows, macOS,
- współpraca z mniej znanymi systemami operacyjnymi,
- duża i pomocna społeczność,
- łatwość instalacji i konfiguracji serwerów,
- mnogość autorskich rozwiązań i możliwość dostosowania modułu do własnych oczekiwań i potrzeb,
- wsparcie przez najpopularniejsze CMS-y, takie jak WordPress czy PrestaShop.
Wady serwera Apache HTTP:
- niska wydajność w porównaniu z konkurencją.
Apache, Nginx czy LiteSpeed? Porównanie
Na stronie serwera LiteSpeed dostępne jest dość czytelne porównanie serwerów:
Dotyczy ono odpowiedzi na zapytanie w skrypcie WordPress oraz Magento. Jak widać, autor zestawienia pozostawił konkurentów daleko w tyle.
W obu przypadkach Apache wypada dość blado. Potwierdza to jego nie najlepszą wydajność. Dotyczy to zarówno porównania z LiteSpeed, jak i Nginx. W przypadku zapytań statycznych opisywany przez nas serwer również nie wypada najlepiej. Jest nawet do 10 razy wolniejszy od LiteSpeed.
Jakie jeszcze są trzy różnice między tymi rozwiązaniami? Hosting LiteSpeed: czym się różni od Apache i Nginx? LiteSpeed jako pierwszy wysyła odpowiedzi do serwera i obsługuje najwięcej zapytań na minutę. Wiele testów potwierdza, że jest obecnie najszybszym rozwiązaniem dostępnym na rynku. Oferuje go też wielu popularnych hostingodawców. Jego zaletą jest ponadto atrakcyjna cena.
LiteSpeed mimo wszystko jednak ma swoje wady. Przede wszystkim nie jest w pełni kompatybilny z Apache. Nie można na nim też zainstalować wszystkich popularnych modułów, takich jak np. PageSpeed od Google. Nie cieszy się specjalną popularnością na świecie, przez co nie jest brany pod uwagę w wielu rankingach. Zwykle korzystają z niego strony mniej popularne niż z Apache czy Nginx. Obrazuje to dobrze wykres stworzony przez W3Techs.com.
Ambitnym konkurentem Apache jest Nginx. To rozwiązanie cieszy się poważaniem i szacunkiem w środowisku. W wielu rankingach chwali się wyższą wydajnością i prędkością działania. Jego architektura opiera się na zdarzeniach. Wykorzystuje stałe i małe ilości pamięci pod obciążeniem. Dzięki temu świetnie sprawdza się w przypadku stron:
- o sporadycznych, nagłych i dużych skokach ruchu,
- o stałym, dużym natężeniu ruchu.
Czy i kiedy warto skorzystać z serwera Apache?
Dlaczego administrator serwera powinien zdecydować się na serwer Apache? Przede wszystkim jest to synonim bezpieczeństwa. Działa od lat i zdążył przez ten czas wypracować szereg zabezpieczeń. Jest też uniwersalny i działa od Windows aż po macOS. Dzięki temu zadba o treści na Twojej stronie WWW praktycznie na każdym komputerze, na jakim go zainstalujesz.
Choć jego podstawowa wersja nie jest specjalnie rozbudowana, jest na to rozwiązanie. Bez problemu znajdziesz moduł wprowadzający wszelkie zmiany, których będziesz potrzebować. Przez lata użytkownicy wymyślili już rozwiązania praktycznie wszystkich problemów, które mogłyby stanąć na Twojej drodze. Na branżowych czatach i forach znajdziesz każdą odpowiedź, której będziesz potrzebować.
Nie oznacza to natomiast, że Apache jest bez skazy. Prędkość jego działania pozostawia wiele do życzenia. Nowoczesna konkurencja w postaci np. LiteSpeed zostawiła go daleko z tyłu. W XXI wieku wysoka wydajność to podstawa. Użytkownicy błyskawicznie znajdują sprawniej działające alternatywy. Warto więc dokładnie rozważyć, czy Apache poradzi sobie z wyzwaniami, które przed nim postawisz.