Konfiguracja serwera WWW (Apache/Nginx) w Debianie: Instalacja i konfiguracja serwera Apache lub Nginx
Linux

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.

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

1.1. Instalacja Apache

Aby zainstalować Apache na systemie Debian, wykonaj poniższe kroki:

  1. Zaktualizuj listę pakietów:
sudo apt update
  1. Zainstaluj serwer Apache:
sudo apt install apache2
  1. 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
  1. 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:

  1. 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.

  1. Włączanie i wyłączanie modułów Apache:
Czytaj  Wirtualizacja w systemie Linux (KVM/VirtualBox)

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ń:

  1. 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
  1. 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:

  1. Zaktualizuj listę pakietów:
sudo apt update
  1. Zainstaluj Nginx:
sudo apt install nginx
  1. Sprawdź status serwera Nginx:

Po zakończeniu instalacji uruchom serwer Nginx:

sudo systemctl status nginx
  1. 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

  1. 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;
  1. Zabezpieczenie serwera Nginx:
Czytaj  Wpływ SSL na pozycjonowanie

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;
  1. Sprawdzenie konfiguracji Nginx:

Zanim uruchomisz serwer Nginx po zmianach, sprawdź, czy konfiguracja jest poprawna:

sudo nginx -t
  1. 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.

Polecane wpisy
Konfiguracja RAID (Redundant Array of Independent Disks) w systemie Linux do zwiększenia wydajności i bezpieczeństwa danych
Konfiguracja RAID (Redundant Array of Independent Disks) w systemie Linux do zwiększenia wydajności i bezpieczeństwa danych

Konfiguracja RAID (Redundant Array of Independent Disks) w systemie Linux do zwiększenia wydajności i bezpieczeństwa danych W dzisiejszych czasach przechowywanie Czytaj dalej

iptables – masquerade: Szczegółowy przewodnik dla użytkowników
iptables – masquerade: Szczegółowy przewodnik dla użytkowników

iptables – masquerade: Szczegółowy przewodnik dla użytkowników Masquerade to funkcja firewalla iptables, która umożliwia ukrywanie adresów IP komputerów w sieci Czytaj dalej