Aby zainstalować i skonfigurować serwer WWW w systemie Linux, należy przejść przez kilka kluczowych etapów: od wyboru i instalacji systemu operacyjnego, poprzez instalację oraz konfigurację serwera WWW (najczęściej Apache lub Nginx), zabezpieczenie usługi, po udostępnienie pierwszej strony internetowej. Poniżej znajdziesz rozbudowany poradnik krok po kroku, z objaśnieniami kluczowych pojęć, przydatny zarówno dla początkujących, jak i bardziej zaawansowanych użytkowników.
1. Wybór i instalacja systemu operacyjnego Linux
Najpopularniejsze dystrybucje serwerowe to Ubuntu Server, Debian, CentOS oraz Rocky Linux. W tym poradniku wykorzystane zostanie Ubuntu Server jako przykład, jednak kroki w innych dystrybucjach wyglądają podobnie.
Etapy instalacji Ubuntu Server –
- Pobierz obraz ISO z oficjalnej strony projektu i przygotuj nośnik instalacyjny USB (np. za pomocą programu Etcher).
- Zainstaluj system na serwerze, postępując zgodnie z instrukcjami kreatora instalacji.
- Skonfiguruj podstawowe parametry (np. użytkownika administratora, sieć) podczas procesu instalacji.
2. Instalacja serwera WWW Apache
Apache HTTP Server to najpopularniejszy serwer WWW, szeroko wykorzystywany do obsługi prostych stron, aplikacji PHP i bardziej złożonych serwisów.
Krok 2.1 – Instalacja Apache
W terminalu wydaj polecenie:
sudo apt update sudo apt install apache2
Po zakończeniu instalacji uruchom i włącz usługę na stałe:
sudo systemctl start apache2 sudo systemctl enable apache2
Systemctl to narzędzie do zarządzania usługami w systemach z systemd.
Krok 2.2 – Konfiguracja zapory sieciowej
Otwórz porty używane przez Apache (HTTP/80 oraz HTTPS/443):
sudo ufw allow in "Apache Full"
Sprawdź status serwera:
sudo systemctl status apache2
Oraz czy strona startowa działa, wpisując w przeglądarce:
http://adres_IP_serwera
3. Konfiguracja serwera Apache
Krok 3.1 – Pliki konfiguracyjne
Główne pliki konfiguracyjne Apache znajdują się w katalogu /etc/apache2/
(np. apache2.conf
, katalog sites-available/
).
Krok 3.2 – Tworzenie własnej witryny (Virtual Host)
- Stwórz katalog dla swojej strony WWW:
sudo mkdir -p /var/www/mojadomena.pl/public_html
- Nadaj odpowiednie uprawnienia:
sudo chown -R $USER:$USER /var/www/mojadomena.pl/public_html
- Utwórz plik konfiguracyjny dla swojej domeny:
sudo nano /etc/apache2/sites-available/mojadomena.pl.conf
Zawartość przykładowego pliku:
<VirtualHost *:80> ServerAdmin [email protected] ServerName mojadomena.pl ServerAlias www.mojadomena.pl DocumentRoot /var/www/mojadomena.pl/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
- Aktywuj witrynę:
sudo a2ensite mojadomena.pl.conf sudo systemctl reload apache2
- Wyłącz domyślną stronę:
sudo a2dissite 000-default.conf sudo systemctl reload apache2
- Stwórz plik
index.html
i sprawdź wyświetlanie strony.
4. Instalacja serwera WWW Nginx (alternatywnie lub jako reverse proxy)
Nginx to lekki, bardzo wydajny serwer WWW, często używany jako reverse proxy przed Apache, dla statycznych treści lub wysokiego obciążenia.
sudo apt install nginx sudo systemctl start nginx sudo systemctl enable nginx
Usługa będzie nasłuchiwać na porcie 80.
Konfiguracja własnych witryn opiera się na plikach w /etc/nginx/sites-available/
, analogicznie jak w Apache. Przykład konfiguracji znaleźć możesz w dokumentacji lub innych poradnikach.
5. Weryfikacja instalacji i test
- Sprawdź czy serwer działa, wpisując adres IP w przeglądarce.
- Ustaw odpowiednie rekordy DNS dla własnej domeny, jeśli udostępniasz serwis publicznie.
- (Opcjonalnie) Testuj PHP, instalując interpreter:
bash sudo apt install php libapache2-mod-php
i dodając plikinfo.php
z zawartością:php <?php phpinfo(); ?>
6. Zabezpieczenie serwera WWW
- Ograniczaj prawa dostępu do plików na serwerze.
- Przepuszczaj ruch tylko przez niezbędne porty (najczęściej 80 i 443).
- Regularnie aktualizuj system oraz zainstalowane pakiety.
- Możesz dodać certyfikat SSL Let’s Encrypt:
bash sudo apt install certbot python3-certbot-apache sudo certbot --apache
7. Rozszerzenia i administracja
-
Zapoznaj się z logami serwera (
/var/log/apache2/
,/var/log/nginx/
). -
Poznaj podstawowe polecenia do obsługi Apache:
sudo systemctl status apache2
– sprawdzenie statususudo systemctl start/stop/restart apache2
– zarządzanie serweremsudo apache2ctl configtest
– test poprawności konfiguracji
-
W przypadku Nginx użyj odpowiednich poleceń, np.
sudo systemctl reload nginx
.
8. Przydatne pojęcia wyjaśnione
- Serwer WWW – program i usługa udostępniająca pliki w Internecie.
- Virtual Host – konfiguracja wielu stron na jednym serwerze.
- Reverse Proxy – pośrednik przyjmujący ruch dla innych serwerów.
- DocumentRoot – katalog, z którego serwer obsługuje pliki strony.
- SSL/TLS – szyfrowanie połączeń z serwerem.
Spełniając te wszystkie etapy, skonfigurujesz nowoczesny, bezpieczny serwer WWW gotowy do hostingu stron, blogów lub zaawansowanych aplikacji webowych, zarówno lokalnie, jak i w internecie.