Co to jest Apache?

Autor: Opublikowano

W skrócie: Apache HTTP Server to bezpłatne oprogramowanie serwera WWW, które odbiera żądania przeglądarki i odsyła treść stron, pliki lub odpowiedzi aplikacji. Może udostępniać proste strony HTML, obsługiwać witryny WordPress we współpracy z PHP oraz przekazywać ruch do innych aplikacji. Apache nie jest domeną ani hostingiem — jest jednym z programów, które mogą działać na serwerze hostingowym.

Do czego służy Apache i jak działa?

Serwer WWW to program obsługujący komunikację przez HTTP lub HTTPS, czyli protokoły używane do przesyłania stron internetowych. Słowo „serwer” może również oznaczać komputer, ale Apache jest oprogramowaniem, a nie urządzeniem. Projekt Apache HTTP Server jest rozwijany w ramach Apache Software Foundation i ma otwarty kod źródłowy.

Gdy wpisujesz adres strony w przeglądarce, system DNS pomaga ustalić adres serwera dla danej domeny. Następnie przeglądarka łączy się z serwerem i wysyła żądanie, na przykład pobrania strony głównej. Apache rozpoznaje witrynę i ścieżkę, stosuje reguły konfiguracji, a potem zwraca odpowiedź.

Sposób przygotowania tej odpowiedzi zależy od zasobu:

Apache zwraca też kody stanu HTTP, takie jak 404, gdy zasób nie został znaleziony. Sam kod błędu nie przesądza jednak o jego przyczynie: odpowiedź może pochodzić również z aplikacji działającej za Apache.

Apache, domena, hosting i PHP — różne zadania

Domena jest nazwą używaną w adresie witryny, a hosting zapewnia zasoby potrzebne do jej utrzymania. Apache obsługuje ruch WWW na tych zasobach. PHP to język programowania i środowisko wykonujące kod, natomiast baza danych przechowuje informacje wykorzystywane przez aplikację.

Przykładowo sklep oparty na WordPressie może korzystać z domeny sklep.example, konta hostingowego, Apache, PHP i bazy MariaDB. Przeglądarka prosi o stronę produktu, Apache kieruje żądanie do obsługi PHP, a WordPress pobiera dane produktu z bazy. Do klienta trafia wygenerowany HTML, nie kod PHP ani bezpośrednia zawartość bazy.

Te elementy nie są ze sobą nierozerwalnie związane. WordPress może działać również z innym serwerem WWW, a Apache może udostępniać zwykłą stronę HTML bez PHP i bazy danych. Dlatego informacja „hosting obsługuje Apache” nie opisuje jeszcze całego środowiska potrzebnego konkretnej witrynie.

Najważniejsze możliwości Apache

Apache może obsługiwać wiele witryn na jednej maszynie dzięki konfiguracji VirtualHost. Definiuje ona ustawienia dla konkretnej witryny, między innymi jej nazwę domenową, katalog z plikami oraz lokalizację dzienników. Sama rejestracja domeny nie tworzy takiej konfiguracji — na hostingu zwykle robi to panel po dodaniu domeny.

Funkcje serwera rozszerzają moduły. Przykładowo mod_rewrite pozwala przekształcać adresy i kierować żądania według reguł, a mod_ssl zapewnia obsługę TLS, czyli szyfrowania wykorzystywanego przez HTTPS. Uruchomienie HTTPS wymaga również prawidłowej konfiguracji i certyfikatu dla domeny.

Apache zapisuje dzienniki, nazywane też logami. Dziennik dostępu rejestruje obsłużone żądania, a dziennik błędów pomaga szukać problemów z konfiguracją i działaniem serwera. Przy awarii strony logi są zwykle bardziej użyteczne niż sam komunikat widoczny w przeglądarce.

Czym jest plik .htaccess i kiedy go używać?

.htaccess to plik umożliwiający zmianę części ustawień Apache dla wybranego katalogu i jego podkatalogów. Działa tylko w zakresie dopuszczonym przez administratora serwera. Na hostingu współdzielonym bywa sposobem ustawiania przekierowań, reguł adresów lub ograniczeń dostępu bez edycji głównej konfiguracji.

Przykładem są reguły WordPressa, które kierują żądania czytelnych adresów wpisów do pliku obsługującego aplikację. Usunięcie lub błędna zmiana tych reguł może sprawić, że strona główna nadal działa, lecz podstrony zwracają błędy 404.

Przed edycją .htaccess zapisz jego kopię, wprowadzaj pojedyncze zmiany i sprawdzaj kilka adresów witryny. Niedozwolona dyrektywa lub błąd składni może spowodować odpowiedź 500, oznaczającą wewnętrzny błąd serwera. Jeśli zarządzasz całym serwerem, ustawienia zwykle lepiej umieścić w głównej konfiguracji: ułatwia to kontrolę i eliminuje potrzebę dodatkowego odczytywania plików .htaccess.

Czy potrzebujesz Apache na swojej stronie?

Przy hostingu współdzielonym lub zarządzanym zwykle nie instalujesz Apache samodzielnie. Dostawca wybiera i utrzymuje serwer WWW, a ty konfigurujesz domenę oraz aplikację. Dokumentacja hostingu powinna potwierdzać, jakie oprogramowanie działa w usłudze, czy obsługuje .htaccess i jakie dyrektywy dopuszcza.

Przy własnym VPS, czyli wirtualnym serwerze, wybór i utrzymanie oprogramowania mogą należeć do ciebie. Apache jest sensownym wyborem, gdy aplikacja lub sposób administracji korzysta z jego modułów i reguł. Alternatywą jest między innymi Nginx, który nie odczytuje plików .htaccess; migracja wymaga więc przeniesienia odpowiednich reguł do jego konfiguracji.

Nie ma uniwersalnej zasady, że jeden z tych serwerów zawsze będzie szybszy. Znaczenie mają konfiguracja, aplikacja, pamięć podręczna i dostępne zasoby. Przed wyborem hostingu sprawdź przede wszystkim wymagania swojej aplikacji oraz to, kto odpowiada za aktualizacje i konfigurację serwera WWW.

Zobacz też: Co to jest 2FA?

Przeczytaj także

Dowiedz się, jak PHP-FPM obsługuje żądania PHP, czym różni się od serwera WWW i jak dobrać ustawienia procesów do ruchu oraz zasobów hostingu.
Poznaj BIND, otwarte oprogramowanie serwera DNS: sprawdź, jak obsługuje domeny, czym różnią się jego role i kiedy warto samodzielnie go wdrożyć.
Poznaj najważniejsze Security Headers, ich rolę w ochronie strony oraz sposób sprawdzania i wdrażania nagłówków bez blokowania potrzebnych funkcji.