122 lines
2.8 KiB
Markdown
122 lines
2.8 KiB
Markdown
# 🧭 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)
|