🖥️

Domowy serwer Linux z Ubuntu – od zera

📅 20 lipca 2025 ⏱ 13 min czytania 🏷️ Komputery i Linux 👁 2 odsłon
← Komputery i Linux
← Komputery i Linux

Stary laptop lub miniPC z Ubuntu Server to potężny serwer domowy. Nginx + certbot dają prawdziwy HTTPS, SSH z kluczem to bezpieczny dostęp zdalny, a automatyczne aktualizacje eliminują konieczność ręcznej administracji.

Instalacja Ubuntu Server 24.04 LTS

  1. Pobierz ISO Ubuntu Server 24.04 LTS z ubuntu.com
  2. Nagraj na USB przez Balena Etcher i zainstaluj na docelowym sprzęcie
  3. Podczas instalacji: zaznacz "Install OpenSSH server", nie instaluj snap-ów
  4. Po instalacji zaloguj się do terminala

Konfiguracja po instalacji

sudo apt update && sudo apt upgrade -y
sudo apt install -y ufw fail2ban unattended-upgrades

# Firewall – zezwól tylko na SSH i HTTP/HTTPS
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp   # SSH
sudo ufw allow 80/tcp   # HTTP
sudo ufw allow 443/tcp  # HTTPS
sudo ufw enable

SSH z kluczem (bez hasła)

# Na lokalnym komputerze
ssh-keygen -t ed25519 -C "home-server"
ssh-copy-id uzytkownik@IP-SERWERA

# Na serwerze – wyłącz logowanie hasłem
sudo nano /etc/ssh/sshd_config
# zmień:
PasswordAuthentication no
PubkeyAuthentication yes
sudo systemctl restart sshd

Nginx + certbot SSL

sudo apt install -y nginx certbot python3-certbot-nginx

# Konfiguracja vhosta
sudo nano /etc/nginx/sites-available/twojadomena.pl
# wklej:
server {
    listen 80;
    server_name twojadomena.pl www.twojadomena.pl;
    root /var/www/twojadomena;
    index index.html index.php;
}

sudo ln -s /etc/nginx/sites-available/twojadomena.pl /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

# Certbot – darmowy certyfikat SSL
sudo certbot --nginx -d twojadomena.pl -d www.twojadomena.pl

Automatyczne aktualizacje

sudo dpkg-reconfigure -plow unattended-upgrades
# Wybierz "Tak" – system będzie aktualizował się sam w nocy

Monitorowanie

sudo apt install -y htop iotop nethogs
htop          # procesy
iotop         # I/O dysku
nethogs eth0  # ruch sieciowy per proces
✅ Dynamiczne IP? Użyj DuckDNS (duckdns.org) – darmowy DDNS, aktualizuje rekord A przez prosty cron co 5 minut. Działa z certbotem.
💡 Fail2ban domyślnie chroni SSH – po 5 nieudanych próbach blokuje IP na 10 minut. Sprawdź status: sudo fail2ban-client status sshd.