Aby strona internetowa była dostępna w Internecie, potrzebny jest specjalny serwer dla jej zawartości. Aby był on stale dostępny, serwer ten musi być stale online. Podczas gdy większość operatorów stron internetowych korzysta w tym celu z centrów danych dostawców Internetu, duże firmy i organizacje posiadają często własne serwery internetowe, na których umieszczają swoje treści intranetowe i internetowe. W tym artykule dowiesz się , jak działa serwer internetowy, jakie różne rozwiązania są dostępne i na co zdecydowanie powinieneś zwrócić uwagę w kwestii bezpieczeństwa.
Spis treści
Serwer WWW jest przede wszystkim odpowiedzialny za niezawodne dostarczanie statycznych i dynamicznych treści do żądających klientów.
Tak, ale zastosowane oprogramowanie serwerowe musi być zawsze zgodne z systemem operacyjnym hosta.
Możesz na przykład przekształcić komputer jednopłytkowy Raspberry Pi w serwer WWW na bazie nginx. Wyjaśniamy, jak to działa w ostatniej części artykułu.
1. Co to jest serwer internetowy?

Z definicji termin „serwer internetowy“ odnosi się do dwóch całkiem różnych rzeczy: z jednej strony odnosi się do usługi internetowej, która dostarcza komponenty i informacje strony internetowej i przekazuje je klientowi za pośrednictwem przeglądarki internetowej (np. Firefox lub Chrome) . W tym przypadku serwer internetowy to oprogramowanie, które jest obsługiwane na odpowiednio wyposażonym komputerze lub produkcie hostingowym.
Termin ten jest jednak często używany jako synonim rzeczywistego sprzętu (tzw. hosta). Jest to o tyle błędne, że w zależności od zainstalowanego oprogramowania może on być również wykorzystywany jako serwer plików, serwer FTP lub do zupełnie innych celów.
Serwer WWW może być wykorzystywany zarówno lokalnie, jak i w sieciach korporacyjnych, co oznacza, że dane treści są dostępne zarówno decentralnie, jak i na całym świecie, w zależności od wybranego celu. W Internecie natomiast jest on wykorzystywany głównie jako usługa WWW. Każdy serwer WWW jest również w stanie dostarczyć treść jednocześnie do kilku różnych komputerów.
Jak działa serwer WWW?
Serwer internetowy działa jako „pośrednik“ między zawartością strony internetowej a klientem, który ją wywołuje. Jeśli wpiszemy w przeglądarce adres internetowy (np. www.wintotal.de), wysyła on żądanie do serwera nazw, który z kolei na podstawie nazwy domeny wyznacza odpowiadający jej adres IP .
Klient HTTP przeglądarki nawiązuje następnie połączenie z serwerem internetowym poprzez TCP (lub sporadycznie poprzez UDP) i wysyła do niego żądanie strony internetowej. Ponieważ kompletne strony internetowe składają się z różnych elementów HTML, grafiki, zdjęć i filmów, dla każdego pliku należy wykonać osobne żądanie, na które serwer WWW odpowiada, przesyłając odpowiednią zawartość. W tym celu serwer HTTP wysyła żądane pliki do klienta HTTP, który za pomocą interpretera wyświetla je na ekranie. Gdy klient otrzyma kompletną stronę internetową, połączenie TCP zostaje ponownie zamknięte.
Dobrze wiedzieć: Serwery internetowe są w stanie równolegle dostarczać zawartość strony internetowej do wielu różnych komputerów lub przeglądarek. To, ile żądań użytkowników może zostać przetworzonych w jakim czasie, zależy między innymi od zastosowanego sprzętu i obciążenia hosta.
Zwracana strona HTML może być przechowywana statycznie na serwerze WWW lub generowana dynamicznie na żądanie. Oznacza to, że przed odpowiedzią serwer WWW musi wykonać odpowiedni kod programu (np. Java, Python lub PHP). Dynamiczne strony internetowe wymagają zazwyczaj więcej zasobów niż treści statyczne.
3 Porównanie różnych rozwiązań
Eksperci posiadający odpowiednią wiedzę techniczną zazwyczaj sami konfigurują swoje serwery i pracują w różnych technologiach. Warunkiem jest oczywiście zgodność używanego oprogramowania serwerowego z systemem operacyjnym hosta. Jeśli nie chcesz zajmować się szczegółowo konfiguracją, możesz alternatywnie wynająć wstępnie skonfigurowany serwer WWW od dostawcy w Internecie.

Większość programów do obsługi serwerów internetowych oparta jest na systemie Unix lub Linux, ale może też pracować pod kontrolą systemu Windows. Jedynym wyjątkiem jest Microsoft IIS, który działa wyłącznie na serwerach Windows. Najbardziej znanymi dostawcami oprogramowania serwerów internetowych są:
- Apache HTTP server (open source, może być używany na wszystkich platformach).
- ApacheTomcat (open source, może być zintegrowany z innymi serwerami WWW, np. serwerem HTTP Apache lub IIS)
- Microsoft IIS (może być używany tylko na serwerach Windows)
- nginx (darmowy, może być również używany jako reverse proxy)
- LiteSpeed Web Server (dla Linuksa i Uniksa, dostępny jako open source lub wersja enterprise)
Administracja serwerem WWW odbywa się zazwyczaj poprzez zdalny dostęp z innego komputera. Komputer ten nie musi być wyposażony w ten sam system operacyjny co sam serwer. Najwygodniej jest skorzystać z oprogramowania do zdalnej obsługi technicznej, z których jednym z najbardziej znanych jest Plesk firmy Obsidian. Dzięki niemu serwerem WWW można zarządzać zarówno z komputera z systemem Windows, jak i Linux czy Unix.
4. Serwery internetowe i kwestia bezpieczeństwa
Jeśli prowadzisz serwer, musisz również pomyśleć o bezpieczeństwie, ponieważ w Internecie istnieją dla niego takie same zagrożenia jak dla „zwykłego“ komputera. Oprócz wyboru bezpiecznego systemu operacyjnego istnieje szereg innych podstawowych środków, które powinieneś podjąć w każdym przypadku:
- Dbaj o aktualnośćswojego serwera WWW i zawsze instaluj najnowsze aktualizacje. Przestarzałe serwery oferują powierzchnie do ataku dla hakerów i cyberprzestępców, którzy w najgorszym wypadku mogą przejąć kontrolę nad całym systemem. W przypadku hostingu współdzielonego i zarządzanego zadanie to jest zazwyczaj przejmowane przez danego dostawcę.
- Zainstaluj minimalną wersję systemu operacyjnego i tylko takie oprogramowanie, którego naprawdę potrzebujesz. Zatrzymaj zbędne usługi i zamknij wszystkie nieużywane porty, jeśli to możliwe.
- Przydziel tylko minimalne prawa dla użytkowników i aplikacji.
- Wybierz hasła maksymalnie bezpieczne i włącz zaporę sieciową.
- Zainstaluj certyfikat SSL. Jest to zapis cyfrowy, który wiąże klucz kryptograficzny z danymi organizacji i potwierdza autentyczność osób i obiektów (np. podczas logowania).
- Sprawdzać w regularnych odstępach czasu, czy nie wprowadzono zmian w programach lub usługach.
- Zapisywać i stale sprawdzać pliki dziennika i logów.
- Tworzyć regularne kopie zapasowe, aby w razie awarii móc przywrócić system bez luk.
5 Raspberry Pi jako serwer WWW
5.1 Skonfiguruj nginx
Jeśli masz Raspberry Pi, możesz również samodzielnie zbudować serwer WWW. Istnieją różne możliwe rozwiązania lub programy do tworzenia serwerów internetowych, ale ze względu na stabilność wybierzemy do tego przykładu nginx. W celu instalacji postępuj w następujący sposób:
- Najpierw zaktualizuj swoje Raspberry Pi do najnowszej wersji. Aby to zrobić, wykonaj następujące polecenia:
sudo apt-get update
sudo apt-get upgrade
- Następnie zainstaluj pakiet serwera WWW poprzez
sudo apt-get install nginx
- Uruchom serwer za pomocą polecenia
sudo /etc/init.d/nginx start
- Możesz teraz wywołać stronę testową wygenerowaną przez nginx. W tym celu należy otworzyć przeglądarkę internetową na swoim Raspberry Pi i wpisać
http://localhost/
i wpisz
Wskazówka: Aby uzyskać dostęp do strony testowej z innego komputera w sieci, wpisz w przeglądarce adres http://IP-Adresse-des-Raspberry/. Adres IP swojego Raspi możesz poznać za pośrednictwem konsoli, używając polecenia „hostname -l“.
5.2 Zainstaluj PHP
Aby Twój serwer WWW mógł udostępniać dynamiczne strony internetowe, musisz w następnym kroku zainstalować PHP:
- Zainstaluj pakiet PHP za pomocą polecenia.
sudo apt-get install php5-fpm
- Teraz należy aktywować PHP w nginxie. W tym celu przejdź do katalogu nginx i otwórz stronę konfiguracyjną w edytorze NANO:
cd /etc/nginx
sudo nano sites-enabled/default
- Zastąp w dokumencie
index index.html index.htm
na
index.php index.html index.htm
- W dalszej części pliku należy poszukać wpisu
# przekaż skrypty PHP do serwera FastCGI nasłuchującego na 127.0.0.1:9000
i usuń hash z kolejnych sześciu linii:
location ~ .php$ {
fastcgi_split_path_info ^(.+.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
- Zapisz konfigurację i zrestartuj nginx:
sudo /etc/init.d/nginx reload
- Przejdź do folderu z domyślną stroną internetową wpisując w konsoli
cd /usr/share/nginx/www/
i zamień istniejący „index.html“ na „index.php“. Następnie możesz wypełnić ten ostatni pożądaną treścią.