Linux Server Setup: Der komplette Leitfaden für Einsteiger und Admins

Ein Linux-Server bildet die Grundlage für zahlreiche IT-Dienste, von Webservern über Datenbanken bis hin zu Netzwerk- und Sicherheitsdiensten. Dieser Leitfaden richtet sich an Einsteiger sowie Administratoren und erklärt Schritt für Schritt, wie ein Linux-Server eingerichtet, konfiguriert und abgesichert wird. Der Fokus liegt auf praxisnahen Anleitungen, CLI-Befehlen und Best Practices.

Installation und Grundkonfiguration

Bevor der Server produktiv genutzt wird, muss das Betriebssystem installiert und grundlegende Einstellungen vorgenommen werden.

Schritte der Installation

  • ISO-Image herunterladen (z. B. Ubuntu Server, CentOS, Rocky Linux)
  • Boot-Medium erstellen (USB oder PXE-Boot)
  • Basisinstallation auswählen: Minimal oder Standard
  • Partitionierung definieren: /, /home, /var, /swap
  • Netzwerk konfigurieren: statische IP oder DHCP
  • Root-Passwort festlegen und Benutzer anlegen

Beispiel CLI für Grundkonfiguration

sudo passwd root
sudo adduser adminuser
sudo usermod -aG sudo adminuser
ip addr show
nmcli device status

Netzwerkkonfiguration

Ein korrekt konfiguriertes Netzwerk ist entscheidend für die Erreichbarkeit des Servers und den Betrieb von Diensten.

Statische IP und DNS

  • Netzwerkinterface bearbeiten: /etc/netplan/01-netcfg.yaml (Ubuntu)
  • IP-Adresse, Gateway und Nameserver definieren
  • Netzwerkdienst neu starten
sudo nano /etc/netplan/01-netcfg.yaml
network:
  version: 2
  ethernets:
    ens33:
      dhcp4: no
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8,8.8.4.4]
sudo netplan apply

Netzwerk testen

ping -c 4 8.8.8.8
ping -c 4 google.com
ip route show

Benutzer- und Berechtigungsmanagement

Die Sicherheit eines Linux-Servers hängt wesentlich von korrekt eingerichteten Benutzern und Berechtigungen ab.

Best Practices

  • Root-Zugang nur für Notfälle erlauben
  • Admin-Benutzer mit sudo Rechte anlegen
  • SSH-Schlüssel statt Passwort verwenden
  • Gruppen für Rollen und Dienste definieren
  • Minimalberechtigungen nach dem Prinzip “Least Privilege”

Beispiel CLI

sudo adduser devuser
sudo usermod -aG sudo devuser
mkdir -p /home/devuser/.ssh
chmod 700 /home/devuser/.ssh
nano /home/devuser/.ssh/authorized_keys
chmod 600 /home/devuser/.ssh/authorized_keys
chown -R devuser:devuser /home/devuser/.ssh

SSH & Remote Access absichern

SSH ist der wichtigste Zugang für Administratoren. Sichere Konfiguration verhindert unbefugte Zugriffe.

Sichere Einstellungen

  • Root-Login deaktivieren: /etc/ssh/sshd_config
  • Passwort-Authentifizierung deaktivieren
  • Nur SSH-Schlüssel erlauben
  • Port und Protokoll optional anpassen
  • Fail2Ban für Brute-Force-Schutz nutzen
sudo nano /etc/ssh/sshd_config
PermitRootLogin no
PasswordAuthentication no
Port 2222
sudo systemctl restart sshd
sudo apt install fail2ban
sudo systemctl enable fail2ban

Firewall & Netzwerk-Security

Firewalls kontrollieren eingehenden und ausgehenden Traffic und schützen vor Angriffen.

UFW (Uncomplicated Firewall) konfigurieren

  • Standardregeln setzen
  • Nur benötigte Ports öffnen
  • Logging aktivieren
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status verbose

Software-Installation & Paketmanagement

Pakete und Dienste sollten sauber verwaltet werden, um Stabilität und Security zu gewährleisten.

Grundlegende Pakete installieren

sudo apt update
sudo apt upgrade -y
sudo apt install vim git curl wget htop -y

Optional: Web- und Datenbankdienste

  • Apache/Nginx
  • MySQL/MariaDB oder PostgreSQL
  • PHP/Python/Node.js Laufzeit
  • Firewall-Ports entsprechend anpassen

Monitoring & Logging

Kontinuierliche Überwachung und Protokollierung helfen, Probleme frühzeitig zu erkennen.

Wichtige Logs

  • /var/log/syslog
  • /var/log/auth.log
  • /var/log/kern.log
  • /var/log/apt/history.log
  • Optional: Journalctl für Systemd

Beispiel CLI

sudo tail -f /var/log/syslog
sudo journalctl -xe
sudo tail -f /var/log/auth.log

Backup & Wiederherstellung

Regelmäßige Backups sichern Konfigurationen und Daten gegen Ausfälle.

Backup Best Practices

  • Konfigurationsdateien separat sichern
  • Home-Verzeichnisse regelmäßig sichern
  • Datenbanken exportieren (mysqldump, pg_dump)
  • Backups versionieren und außerhalb speichern
  • Test der Wiederherstellung regelmäßig durchführen

Beispiel CLI

sudo tar -czvf /backup/etc-backup-$(date +%F).tar.gz /etc
sudo rsync -avz /home/ /backup/home/
mysqldump -u root -p database_name > /backup/db_backup_$(date +%F).sql

Sicherheitshärtung

Linux-Server sollten gehärtet werden, um bekannte Angriffsvektoren zu reduzieren.

Maßnahmen

  • Unnötige Dienste deaktivieren
  • Systemupdates regelmäßig durchführen
  • SSH und Firewall restriktiv konfigurieren
  • Fail2Ban oder ähnliche Tools einsetzen
  • AppArmor/SELinux aktivieren und konfigurieren
  • Regelmäßige Security Audits durchführen

Automatisierung & Maintenance

Automatisierte Tasks und Skripte vereinfachen Administration und erhöhen Konsistenz.

Beispiele

  • Crontab für regelmäßige Updates und Backups
  • Automatisierte Log-Rotation konfigurieren
  • Skripte für Health Checks und Monitoring
  • Versionierung von Konfigurationsdateien mit Git

Crontab-Beispiel

sudo crontab -e
0 2 * * * /usr/bin/apt update && /usr/bin/apt upgrade -y
0 3 * * * /usr/bin/rsync -avz /home/ /backup/home/

Zusammenfassung

Ein Linux-Server erfordert sorgfältige Planung, Installation und Absicherung. Durch die Kombination von Netzwerk- und Benutzerkonfiguration, Monitoring, Backup-Strategien und Security-Härtung entsteht eine stabile und sichere Plattform. Die hier beschriebenen CLI-Befehle, Best Practices und Strukturen bilden eine solide Grundlage für Einsteiger und Administratoren im professionellen Betrieb.

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

  • Professionelle Konfiguration von Routern und Switches

  • Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen

  • Erstellung von Topologien und Simulationen in Cisco Packet Tracer

  • Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG

  • Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible

  • Erstellung von Skripten für wiederkehrende Netzwerkaufgaben

  • Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege

  • Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Related Articles