Nginx ist ein schneller, ressourcenschonender Webserver und Reverse Proxy, der oft als Alternative zu Apache genutzt wird. Diese Anleitung zeigt, wie Nginx auf einem Ubuntu-Server installiert, konfiguriert und abgesichert wird.

Voraussetzungen

  • Ubuntu 22.04 oder neuer
  • Benutzer mit sudo-Rechten
  • Aktive Internetverbindung

1. Nginx installieren

Aktualisieren der Paketlisten und Installation von Nginx:

sudo apt update && sudo apt upgrade -y
sudo apt install nginx -y

2. Nginx-Dienst verwalten

Nginx starten, stoppen und aktivieren:

sudo systemctl start nginx    # Starten
sudo systemctl stop nginx     # Stoppen
sudo systemctl restart nginx  # Neustarten
sudo systemctl enable nginx   # Automatischen Start aktivieren

3. Firewall für Nginx konfigurieren

Falls ufw (Uncomplicated Firewall) aktiv ist:

sudo ufw allow 'Nginx Full'
sudo ufw enable
sudo ufw status

4. Nginx testen

Aufrufen der Server-IP im Browser:

http://<deine-server-ip>

Die IP kann mit folgendem Befehl ermittelt werden:

ip a | grep inet

5. Standard-Webseite anpassen

Bearbeiten der Standard-Webseite:

sudo nano /var/www/html/index.html

Ersetzen des Inhalts mit:

<!DOCTYPE html>
<html>
<head>
    <title>Mein Nginx Server</title>
</head>
<body>
    <h1>Willkommen auf meinem Nginx-Server!</h1>
</body>
</html>

Speichern mit STRG + X, Y und Enter.

6. Eigene Serverblöcke (Virtual Hosts) konfigurieren

Erstellen einer neuen Konfigurationsdatei:

sudo nano /etc/nginx/sites-available/meineseite

Einfügen folgender Konfiguration (Domain anpassen):

server {
    listen 80;
    server_name meineseite.de www.meineseite.de;

    root /var/www/meineseite;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

Speichern und das Webseitenverzeichnis erstellen:

sudo mkdir -p /var/www/meineseite
sudo chown -R www-data:www-data /var/www/meineseite
echo "<h1>Meine eigene Webseite</h1>" | sudo tee /var/www/meineseite/index.html

Konfiguration aktivieren:

sudo ln -s /etc/nginx/sites-available/meineseite /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

7. Nginx mit SSL/TLS absichern (Let’s Encrypt)

Installation von Certbot:

sudo apt install certbot python3-certbot-nginx -y

SSL-Zertifikat für die Domain anfordern:

sudo certbot --nginx -d meineseite.de -d www.meineseite.de

Automatische Zertifikatserneuerung testen:

sudo certbot renew --dry-run

Kategorien: Allgemein