Konfiguracja serwera Apache Web
ServBay umożliwia wygodne zarządzanie i konfigurację wbudowanego pakietu oprogramowania serwera Apache Web. Dzięki graficznemu interfejsowi użytkownika ServBay możesz łatwo dostosować kluczowe ustawienia Apache, aby sprostać wymaganiom różnych projektów deweloperskich.
Dostęp do konfiguracji Apache
- Otwórz aplikację ServBay.
- W lewym pasku nawigacyjnym kliknij
Web Serwer
. - Wybierz zakładkę
Apache
.
Zobaczysz interfejs konfiguracji Apache, jak na poniższym obrazku:
Opis głównych opcji konfiguracyjnych
Poniżej przedstawiamy szczegółowe wyjaśnienie poszczególnych parametrów w interfejsie konfiguracji Apache:
Podstawowe ustawienia
- HTTP Port: Port, na którym Apache nasłuchuje protokołu HTTP, domyślnie
80
. - HTTPS Port: Port, na którym Apache nasłuchuje protokołu HTTPS, domyślnie
443
. - Server Name: Nazwa i port serwera służące jego identyfikacji. Domyślnie
127.0.0.1
, zwykle dla dostępu lokalnego. - Server Root: Katalog główny instalacji pakietu Apache. Uwaga: To nie jest katalog, w którym przechowywane są pliki Twojej strony (katalog root strony jest ustawiany oddzielnie podczas dodawania strony), tylko ścieżka do plików wykonywalnych Apache. Zazwyczaj domyślnie
/Applications/ServBay/package/apache/current
.
Strojenie wydajności (Performance Tuning)
- Timeout: Maksymalna liczba sekund, jaką serwer czeka przed porzuceniem operacji I/O. Domyślnie
300
sekund. - Max KeepAlive Requests: Maksymalna liczba żądań dozwolonych na jednym połączeniu utrzymywanym.
1000
oznacza, że wiele żądań może być obsłużonych na tym samym połączeniu,0
oznacza brak ograniczenia. - KeepAlive Timeout: Maksymalny czas oczekiwania (w sekundach) na kolejne żądanie przed zamknięciem połączenia utrzymywanego. Domyślnie
60
sekund. - Keep Alive: Czy włączyć obsługę połączeń utrzymywanych (KeepAlive). Zalecane
On
dla lepszej wydajności. - MPM StartServers: Liczba procesów podrzędnych tworzonych podczas uruchamiania serwera.
- MPM MaxSpareThreads: Maksymalna liczba nieużywanych wątków. Kontroluje pulę gotowych wątków do obsługi nagłych żądań.
- MPM MaxConnectionsPerChild (wcześniej MaxRequestsPerChild): Maksymalna liczba połączeń, jaką każdy proces podrzędny może obsłużyć w swoim cyklu życia.
0
oznacza brak limitu. Pomaga ograniczyć skutki wycieków pamięci. - MPM MaxRequestWorkers (wcześniej MaxClients): Maksymalna liczba równocześnie obsługiwanych żądań (łącznie dla wszystkich procesów podrzędnych). Kluczowe ustawienie dla wydajności Apache.
- MPM ThreadsPerChild: Stała liczba wątków tworzonych przez każdy proces podrzędny (dotyczy trybu MPM
worker
lubevent
).
Funkcje i właściwości (Features & Characteristics)
- Access File Name: Dyrektywa określająca nazwę pliku konfiguracyjnego, zwykle
.htaccess
. Pozwala włączyć lub zablokować możliwość nadpisania głównej konfiguracji serwera za pomocą pliku.htaccess
. - Use Canonical Name: Kontroluje sposób, w jaki Apache tworzy adresy URL odwołujące się do siebie.
Off
zapewnia większą elastyczność. - Server Signature: Dodaje linię z informacją o wersji serwera i nazwie hosta na dole stron generowanych przez serwer (np. stron błędów). Ze względów bezpieczeństwa zaleca się ustawienie
Off
na środowiskach produkcyjnych. - Hostname Lookups: Określa, czy adres IP klienta wymagającego obsługi zostanie przetłumaczony na nazwę hosta przez DNS.
Off
zwiększa wydajność, ponieważ zapytania DNS mogą być czasochłonne. - Server Tokens: Kontrolują szczegółowość informacji wyświetlanych w nagłówku odpowiedzi serwera (
Server:
).Minor
(np. Apache/2.4) jest bezpieczniejsze niżFull
(np. Apache/2.4.58 (Unix) PHP/8.3.1). OpcjaProd
pokazuje jedynieApache
.
Administracja i logowanie (Admin & Logging)
- Server Admin: Adres e-mail administratora wyświetlany w komunikatach o błędach zwracanych klientowi.
- Log Level: Kontroluje szczegółowość komunikatów zapisywanych do dziennika błędów (
error_log
).warn
jest popularnym poziomem, zapisuje ostrzeżenia oraz wszelkie poważniejsze błędy. Inne poziomy to:debug
,info
,notice
,error
,crit
,alert
,emerg
.
Moduły (Modules)
Ta sekcja przedstawia dostępne moduły Apache. Możesz zaznaczyć odpowiednie pola, aby włączyć wybrane moduły lub odznaczyć, by je wyłączyć. Do popularnych modułów należą:
mod_rewrite
: Obsługa przepisywania URL.mod_ssl
: Zapewnia obsługę SSL/TLS (HTTPS).mod_deflate
: Kompresja przesyłanych treści.mod_expires
: Kontrola nagłówków pamięci podręcznej.mod_proxy
i pokrewne moduły: Obsługa proxy/reverse proxy.mod_auth_basic
,mod_auth_digest
: Autoryzacja podstawowa lub przy użyciu skrótu.
Po włączeniu lub wyłączeniu modułu należy zapisać konfigurację; może być również konieczne ponowne uruchomienie usługi Apache, aby zmiany odniosły skutek.
Indeks katalogu (Directory Index)
- Directory Index: Lista plików, których Apache szuka w katalogu, gdy adres URL wskazuje na katalog. Serwer przeszukuje pliki w zadanej kolejności i zwraca ten, który znajdzie jako pierwszy. Domyślnie najczęściej jest to
index.html index.htm index.php
.
Ustawienia SSL/TLS
Ustawienia te służą konfiguracji funkcji HTTPS w Apache.
- SSLCipherSuite / TLSCipherSuite: Określa dozwolone pakiety szyfrujące na serwerze. Użycie silnych i nowoczesnych szyfrów jest kluczowe dla bezpieczeństwa. ServBay udostępnia domyślne, rekomendowane ustawienia.
- SSLProxyCipherSuite: Określa pakiety szyfrów dla połączeń SSL, gdy Apache działa jako reverse proxy.
- SSLHonorCipherOrder:
On
wymusza, by serwer wybierał preferowane przez siebie szyfry, zamiast tych proponowanych przez klienta. Zaleca się pozostawienieOn
. - SSLStrictSNIVHostCheck:
On
oznacza, że połączenie zostanie odrzucone, jeśli żądany przez klienta (przy użyciu SNI) host nie pasuje do skonfigurowanego wirtualnego hosta. Zwiększa to bezpieczeństwo. - ProtocolHonorOrder: Podobne do
SSLHonorCipherOrder
, lecz dotyczy negocjacji wersji protokołu. - SSLProtocol: Określa dozwolone wersje protokołu SSL/TLS. Przykład:
all -SSLv2 -SSLv3
dopuszcza wszystkie nowoczesne protokoły, z wyłączeniem znanych jako niebezpieczne SSLv2 i SSLv3. - SSLProxyProtocol: Dla połączeń SSL proxy określa dozwolone wersje protokołów.
- Protocols: Określa kolejność negocjacji obsługiwanych protokołów, np. aktywacja HTTP/2.
h2 h2c http/1.1
oznacza preferencję dla HTTP/2 (szyfrowanyh2
lub nieszyfrowanyh2c
), następnie HTTP/1.1.
Zapisywanie i resetowanie
- Reset: Kliknięcie tego przycisku przywróci wszystkie ustawienia Apache do domyślnych wartości ServBay.
- Save: Kliknij ten przycisk, aby zapisać wszystkie zmiany w konfiguracji Apache. Po zapisaniu zmiany są zazwyczaj automatycznie stosowane przez ServBay. Jeśli Apache jest już uruchomiony, może być konieczne jego szybkie ponowne uruchomienie, by zmiany odniosły skutek.
Ważne wskazówki
- Zmiany w tej sekcji dotyczą globalnej konfiguracji Apache. Ustawienia specyficzne dla danej strony (wirtualnego hosta), takie jak
DocumentRoot
czy konkretneRewriteRule
, konfigurowane są zazwyczaj przy dodawaniu lub edycji zakładkiStrony
(Websites). - Jeśli na górze interfejsu konfiguracji pojawi się komunikat „Service Apache is not enabled”, oznacza to, że serwer Apache nie jest obecnie uruchomiony. Nadal możesz modyfikować i zapisywać konfigurację, ale zmiany zostaną zastosowane dopiero po następnym uruchomieniu Apache. Możesz uruchomić Apache z głównego panelu ServBay lub z menu
Pakiety
(Packages).
Podsumowanie
ServBay oferuje intuicyjny interfejs do zarządzania kluczową konfiguracją serwera Apache Web. Znajomość dostępnych opcji pozwala dopasować działanie, wydajność i bezpieczeństwo Apache do indywidualnych wymagań projektu, zapewniając maksymalne wykorzystanie ServBay jako środowiska deweloperskiego na Twoim komputerze.