Linux-Server-Grundlagen: die ersten Handgriffe auf Debian & Co.
3 Min. LesezeitServer, Plugins & Streaming
Ein eigener Linux-Server – ob gemietet, im Keller oder auf einem Raspberry Pi – ist schnell eingerichtet. Mit einer Handvoll Befehlen verwaltest du ihn sicher, planst Aufgaben und startest Programme automatisch.

Verbinden per SSH
Server werden fast immer über SSH verwaltet, eine verschlüsselte Verbindung zur Kommandozeile. Unter Linux, macOS und aktuellen Windows-Versionen ist ein SSH-Client bereits eingebaut:
ssh benutzer@203.0.113.10
Sicherer und bequemer als Passwörter sind Schlüsselpaare. Du erzeugst sie auf deinem Rechner und kopierst den öffentlichen Teil auf den Server:
ssh-keygen -t ed25519
ssh-copy-id benutzer@203.0.113.10
Funktioniert die Anmeldung mit Schlüssel, kannst du in der Datei /etc/ssh/sshd_config die Passwortanmeldung abschalten (PasswordAuthentication no) und den Dienst neu laden. Halte dabei eine zweite Sitzung offen, damit du dich bei einem Tippfehler nicht aussperrst.
Pakete aktuell halten
Auf Debian und Ubuntu verwaltet apt die Software. Aktualisiert wird in zwei Schritten:
sudo apt update
sudo apt upgrade
Für Sicherheitsupdates ohne Handarbeit gibt es das Paket unattended-upgrades. Eine einfache Firewall wie ufw sollte nur die Ports öffnen, die wirklich gebraucht werden – etwa 22 für SSH und 80/443 für einen Webserver.
Dateien bearbeiten mit nano
Für Einsteiger ist nano der freundlichste Editor im Terminal. Mit sudo nano /etc/hosts öffnest du eine Datei; die wichtigsten Tastenkürzel stehen am unteren Rand: Strg+O speichert, Strg+X beendet, Strg+W sucht. Wer später mehr will, lernt vim – nötig ist es für den Anfang nicht.
Aufgaben planen mit Cron
Wiederkehrende Aufgaben wie Backups oder Aufräumskripte übernimmt Cron. Mit crontab -e öffnest du die persönliche Aufgabenliste. Jede Zeile beginnt mit fünf Zeitfeldern, danach folgt der Befehl:
# jeden Tag um 03:30 Uhr ein PHP-Skript ausführen
30 3 * * * /usr/bin/php /var/www/aufgaben/aufraeumen.php
# alle 15 Minuten
*/15 * * * * /home/benutzer/pruefen.sh
Cron kennt keine Umgebungsvariablen deiner Sitzung – gib Programme deshalb mit vollem Pfad an. Ausgaben kannst du mit >> /var/log/meinjob.log 2>&1 in eine Datei umleiten, um Fehler später nachzuvollziehen.
PHP-Skripte in der Konsole
PHP läuft nicht nur im Webserver. Mit php skript.php führst du ein Skript direkt aus, php -v zeigt die Version, php -m die geladenen Erweiterungen. Das ist praktisch für Wartungsaufgaben, die per Cron laufen sollen, oder zum Testen ohne Browser.
Programme beim Hochfahren starten
Früher landeten Startskripte in /etc/init.d oder in rc.local. Heute übernimmt auf Debian und Ubuntu systemd diese Aufgabe. Eine eigene Unit-Datei, zum Beispiel /etc/systemd/system/meindienst.service, sieht so aus:
[Unit]
Description=Mein Dienst
After=network.target
[Service]
User=benutzer
WorkingDirectory=/home/benutzer/dienst
ExecStart=/home/benutzer/dienst/start.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
Danach genügen sudo systemctl daemon-reload und sudo systemctl enable --now meindienst. Mit systemctl status meindienst und journalctl -u meindienst siehst du, ob alles läuft.
Nächste Schritte
Mit diesen Grundlagen kannst du Webanwendungen hosten, Datenbanken betreiben oder einen Spieleserver als systemd-Dienst laufen lassen. Wie du einen solchen Server erweiterst, zeigt die Anleitung zum eigenen Minecraft-Plugin, und wie du ihn mit einer Webseite verbindest, steht im Beitrag Bukkit Connect. Einen Vergleich der Desktop-Systeme findest du unter Betriebssysteme im Vergleich. Ausführliche offizielle Anleitungen bietet die Debian-Dokumentation.