# 🧭 Crumbpage 10: Dienste die auf Ports lauschen **Subtitle:** *Was läuft denn da? - Services verwalten* **Pfad:** 10 von 11 **Schwierigkeit:** ⭐⭐⭐ (3/5) **Zeit:** ~2 Stunden **Voraussetzungen:** Pfad 9 (Storage) > *"Ein Server ohne Dienste ist wie ein Restaurant ohne Küche. Es passiert nichts."* 🌲 --- ## 📋 Was du in diesem Pfad lernst ``` ✓ Was ist ein Service (Daemon)? ✓ systemd & systemctl (Der Chefkoch) ✓ Ports & Sockets ✓ Firewalls (Der Türsteher) ✓ Logs von Diensten (journalctl -u) ``` --- ## 🎯 Lernziele Nach diesem Pfad kannst du: - [ ] Einen Webserver (nginx) installieren und starten - [ ] Prüfen, ob er läuft und auf welchem Port - [ ] Ihn automatisch beim Booten starten lassen - [ ] Die Firewall konfigurieren, um ihn erreichbar zu machen --- ## 🌱 Grundkonzepte ### Konzept 1: Daemons (Dienste) Programme, die im Hintergrund laufen und auf Arbeit warten, nennt man **Daemons** (endet oft auf `d`, z.B. `sshd`, `httpd`). **systemd** ist das Programm, das alle anderen Daemons startet und überwacht. ### Konzept 2: Ports Wie in Pfad 6 gelernt: Dienste lauschen an Türen (Ports). Nur ein Dienst pro Port! --- ## 🔧 Praktische Befehle ### Befehl 1: `systemctl` (Der Boss) ```bash $ sudo systemctl start nginx # Starten $ sudo systemctl stop nginx # Stoppen $ sudo systemctl restart nginx # Neustarten (bei Config-Änderung) $ sudo systemctl status nginx # Wie geht's dir? $ sudo systemctl enable nginx # Autostart an $ sudo systemctl disable nginx # Autostart aus ``` ### Befehl 2: `ufw` (Uncomplicated Firewall) ```bash $ sudo ufw status $ sudo ufw allow 80/tcp # Web erlauben $ sudo ufw allow 22/tcp # SSH erlauben (WICHTIG!) $ sudo ufw enable # Firewall einschalten ``` --- ## 💡 Best Practices ### DO ✅ ```bash # 1. Status prüfen # Nach jedem start/restart: `systemctl status service` # 2. Logs lesen # Wenn er nicht startet: `journalctl -u service_name -e` ``` ### DON'T ❌ ```bash # 1. Firewall einschalten ohne SSH zu erlauben # Du sperrst dich selbst aus! 💀 # Immer erst `ufw allow ssh` machen. ``` --- ## 🎓 Hands-On Übungen ### Übung 1: Der Webserver 1. Installiere Nginx: `sudo apt install nginx` 2. Starte ihn: `sudo systemctl start nginx` 3. Prüfe Status: `sudo systemctl status nginx` 4. Rufe die IP deines Servers im Browser auf. Siehst du "Welcome to nginx"? ### Übung 2: Der Türsteher 1. Prüfe `sudo ufw status`. 2. Erlaube SSH: `sudo ufw allow ssh`. 3. Erlaube Nginx: `sudo ufw allow 'Nginx Full'`. 4. Aktiviere UFW: `sudo ufw enable`. --- ## 🦉 Crystal Owl's Weisheit > *"Ein Dienst, der nicht startet, hat meistens einen Grund. Er schreit ihn in die Logs, aber nur die Weisen hören zu."* --- **Navigation:** [← Zurück: Storage](crumbpage-09-storage.md) | [Weiter: First Access →](crumbpage-11-first-access.md)