Konfiguracja serwera WWW (Apache/Nginx) w Debianie: Instalacja i konfiguracja serwera Apache lub Nginx
Konfiguracja serwera WWW (Apache/Nginx) w Debianie: Instalacja i konfiguracja serwera Apache lub Nginx
Wstęp
Serwery WWW są podstawą każdej aplikacji internetowej, umożliwiając światu dostęp do naszych stron i aplikacji. W systemie Debian możemy skorzystać z dwóch popularnych serwerów: Apache i Nginx. Oba serwery mają swoje unikalne cechy i zastosowania, ale oba zapewniają solidne podstawy do hostowania stron internetowych. W tym artykule omówimy, jak zainstalować i skonfigurować serwery WWW Apache oraz Nginx na systemie Debian, wskazując różnice, zalety i podstawową konfigurację.
1. Instalacja serwera Apache na Debianie
Apache to jeden z najstarszych i najbardziej popularnych serwerów WWW, który jest używany do hostowania stron internetowych. Jego główną cechą jest rozbudowany system konfiguracji oraz wsparcie dla różnych modułów, które umożliwiają dostosowanie serwera do różnych potrzeb.

1.1. Instalacja Apache
Aby zainstalować Apache na systemie Debian, wykonaj poniższe kroki:
- Zaktualizuj listę pakietów:
sudo apt update
- Zainstaluj serwer Apache:
sudo apt install apache2
- Sprawdź status serwera Apache:
Po zakończeniu instalacji serwer Apache powinien automatycznie uruchomić się i działać na porcie 80. Możesz sprawdzić jego status poleceniem:
sudo systemctl status apache2
- Sprawdź działający serwer w przeglądarce:
Aby upewnić się, że serwer działa poprawnie, otwórz przeglądarkę internetową i wejdź na adres http://localhost lub http://[adres_IP_serwera]. Powinna wyświetlić się domyślna strona powitalna Apache.
1.2. Podstawowa konfiguracja Apache
Po zainstalowaniu Apache warto skonfigurować podstawowe ustawienia serwera:
- Zmiana katalogu głównego:
Domyślnym katalogiem, w którym Apache przechowuje pliki stron internetowych, jest /var/www/html
. Aby zmienić ten katalog, edytuj plik konfiguracyjny /etc/apache2/sites-available/000-default.conf
:
sudo nano /etc/apache2/sites-available/000-default.conf
Zmieniaj ustawienie DocumentRoot na nowy katalog:
DocumentRoot /var/www/mywebsite
Po zmianie katalogu zapisz plik i zamknij edytor.
- Włączanie i wyłączanie modułów Apache:
Aby włączyć dodatkowe funkcje serwera, Apache używa modułów. Możesz włączyć moduł za pomocą polecenia a2enmod i wyłączyć go za pomocą a2dismod. Na przykład, aby włączyć obsługę PHP, użyj:
sudo a2enmod php7.4
sudo systemctl restart apache2
1.3. Zabezpieczenie serwera Apache
Aby zwiększyć bezpieczeństwo serwera Apache, warto dostosować jego konfigurację. Oto kilka zaleceń:
- Wyłączenie wyświetlania informacji o wersji:
Zanim przejdziesz do produkcji, warto wyłączyć informacje o wersji Apache w nagłówkach HTTP. Możesz to zrobić, edytując plik /etc/apache2/conf-available/security.conf
:
sudo nano /etc/apache2/conf-available/security.conf
Zmień ustawienie ServerTokens na Prod:
ServerTokens Prod
- Włączenie zapory ogniowej (Firewall):
Jeśli serwer działa na publicznym IP, warto skonfigurować zaporę ogniową, aby ograniczyć dostęp tylko do portu 80 i 443 (HTTP/HTTPS). Możesz to zrobić za pomocą ufw (Uncomplicated Firewall):
sudo ufw allow 'Apache Full'
sudo ufw enable
2. Instalacja serwera Nginx na Debianie
Nginx to lekki, szybki i bardzo wydajny serwer WWW, który zyskuje na popularności, szczególnie w przypadku aplikacji wymagających dużych zasobów. Nginx jest szczególnie skuteczny w przypadku serwisów z dużym ruchem, ponieważ może obsługiwać setki tysięcy połączeń jednocześnie, co sprawia, że jest doskonałym rozwiązaniem dla serwerów proxy i równoważenia obciążenia.
2.1. Instalacja Nginx
Aby zainstalować Nginx na Debianie, wykonaj następujące kroki:
- Zaktualizuj listę pakietów:
sudo apt update
- Zainstaluj Nginx:
sudo apt install nginx
- Sprawdź status serwera Nginx:
Po zakończeniu instalacji uruchom serwer Nginx:
sudo systemctl status nginx
- Sprawdź działający serwer w przeglądarce:
Otwórz przeglądarkę internetową i przejdź na adres http://localhost lub http://[adres_IP_serwera]. Powinna wyświetlić się strona powitalna Nginx.
2.2. Podstawowa konfiguracja Nginx
- Zmiana katalogu głównego:
Podobnie jak w Apache, w Nginx domyślny katalog do przechowywania stron znajduje się w /var/www/html
. Aby zmienić ten katalog, edytuj plik konfiguracyjny:
sudo nano /etc/nginx/sites-available/default
Zmieniaj ustawienie root na nowy katalog:
root /var/www/mywebsite;
- Zabezpieczenie serwera Nginx:
Aby zwiększyć bezpieczeństwo serwera, należy dostosować konfigurację. Oto kilka ważnych rzeczy, które warto zmienić:
- Wyłączanie wersji Nginx w nagłówkach HTTP.
- Ustawienie server_tokens off w pliku konfiguracyjnym:
server_tokens off;
- Sprawdzenie konfiguracji Nginx:
Zanim uruchomisz serwer Nginx po zmianach, sprawdź, czy konfiguracja jest poprawna:
sudo nginx -t
- Restart serwera Nginx:
Po dokonaniu zmian w konfiguracji, zrestartuj serwer:
sudo systemctl restart nginx
3. Porównanie Apache vs Nginx
Choć zarówno Apache, jak i Nginx to solidne wybory do hostowania stron WWW, istnieją pewne różnice między nimi:
Cecha | Apache | Nginx |
---|---|---|
Wydajność | Mniej wydajny przy dużym ruchu | Wysoka wydajność przy dużym ruchu |
Obsługa dynamicznych treści | Lepsza obsługa PHP i CGI | Lepsza w przypadku statycznych treści |
Modularność | Rozbudowany system modułów | Mniej modułowy |
Zarządzanie połączeniami | Mniej efektywne w przypadku dużej liczby połączeń | Efektywne przy dużej liczbie połączeń |
Łatwość konfiguracji | Łatwy w konfiguracji i zarządzaniu | Trudniejszy w konfiguracji |
4. Podsumowanie
Zarówno Apache, jak i Nginx to doskonałe wybory w zależności od wymagań projektu. Apache jest bardziej wszechstronny i lepiej radzi sobie z dynamicznymi treściami, podczas gdy Nginx jest znany z doskonałej wydajności, szczególnie przy dużym ruchu. W tym artykule omówiliśmy podstawową instalację i konfigurację obu serwerów WWW w systemie Debian. Wybór między nimi zależy od specyfiki aplikacji i jej wymagań wydajnościowych.