Linux im Heimnetz: Ubuntu, SSH, Freigaben, Webserver und Raspberry Pi einrichten

  Arnold Kern   Lesezeit: 13 Minuten  🗪 8 Kommentare Auf Mastodon ansehen

In diesem Tutorial wird ein kleines Linux-Heimnetz mit Ubuntu, Raspberry Pi, SSH, Samba, CUPS, Webmin und Apache eingerichtet. Der Fokus liegt auf praktischen Terminal-Befehlen, festen IP-Adressen und einem Setup, das sich im Alltag gut nachvollziehen lässt.

linux im heimnetz: ubuntu, ssh, freigaben, webserver und raspberry pi einrichten

In diesem Tutorial wird ein kleines Linux-Set-up im Heimnetz aufgebaut. Es geht um einen Linux-PC, einen Raspberry Pi, SSH, Samba-Freigaben, Webmin, einen einfachen Webserver, einen Netzwerkdrucker mit CUPS und einen kleinen Cron-Job. Der Fokus liegt bewusst auf dem Terminal, weil Klickanleitungen ungefähr so langlebig sind wie Druckertreiber mit Stimmungsschwankungen.

Als Beispiel wird ein typisches Heimnetz verwendet:

Netzwerk: 192.168.1.0/24 Router/Gateway: 192.168.1.1 DNS: 1.1.1.1, 8.8.8.8 Linux-PC: 192.168.1.20 Windows-PC: 192.168.1.10 Netzwerkdrucker: 192.168.1.50 Raspberry Pi: 192.168.1.150 WLAN-Name: HomeLab

Wer eine FRITZ!Box mit Standardnetz nutzt, kann die Beispiele einfach auf 192.168.178.x übertragen. Aus 192.168.1.20 wird dann beispielsweise 192.168.178.20.

Der Linux-PC bekommt einen Namen

Zuerst bekommt der Linux-PC einen sinnvollen Hostnamen. Das macht später SSH-Verbindungen, Netzwerkfreigaben und Logs übersichtlicher.

Terminal:

sudo hostnamectl set-hostname linux-pc hostnamectl

Danach lässt sich der Name prüfen:

Terminal:

hostname

Im Beispiel heißt der Rechner ab jetzt linux-pc.

Der Linux-PC bekommt eine feste IP-Adresse

Ein Rechner, der später per SSH, Samba oder Webmin erreichbar sein soll, sollte eine feste IP-Adresse bekommen. In diesem Beispiel nutzt der Linux-PC die Adresse 192.168.1.20.

Viele Ubuntu-Desktop-Installationen verwenden NetworkManager. Die Konfiguration läuft dabei über nmcli.

Zuerst wird der Name der aktiven Verbindung angezeigt:

Terminal:

nmcli connection show --active

Angenommen, die Verbindung heißt Wired connection 1, wird die statische Adresse so gesetzt:

Terminal:

sudo nmcli connection modify "Wired connection 1" ipv4.addresses "192.168.1.20/24" sudo nmcli connection modify "Wired connection 1" ipv4.gateway "192.168.1.1" sudo nmcli connection modify "Wired connection 1" ipv4.dns "1.1.1.1 8.8.8.8" sudo nmcli connection modify "Wired connection 1" ipv4.method manual sudo nmcli connection down "Wired connection 1" sudo nmcli connection up "Wired connection 1"

Anschließend sollte der Rechner unter 192.168.1.20 erreichbar sein.

Terminal:

ip -br addr ip route resolvectl status ping -c 4 192.168.1.1 ping -c 4 gnulinux.ch

Wenn der Router erreichbar ist, aber gnulinux.ch nicht, liegt das Problem oft bei DNS. Wenn nicht einmal der Router erreichbar ist, sollte man IP-Adresse, Gateway, Kabel, WLAN oder die Verbindung selbst prüfen. Also die üblichen Verdächtigen, nur ohne dramatische Musik.

Alternative: feste IP mit Netplan

Auf Ubuntu-Servern wird häufig Netplan verwendet. Dafür wird eine YAML-Datei unter /etc/netplan/ angelegt oder angepasst.

Zuerst wird der Name der Netzwerkkarte gesucht:

Terminal:

ip -br link

Angenommen, das Interface heißt ens33, wird eine neue Netplan-Datei erstellt:

Terminal:

sudo nano /etc/netplan/99-static.yaml

Inhalt der Datei:

network:   version: 2   renderer: networkd   ethernets:     ens33:       addresses:         - 192.168.1.20/24       routes:         - to: default           via: 192.168.1.1       nameservers:         addresses:           - 1.1.1.1           - 8.8.8.8

Die Konfiguration wird zuerst getestet:

Terminal:

sudo netplan try

Wenn die Verbindung danach noch funktioniert, wird sie übernommen:

Terminal:

sudo netplan apply

Ein kurzer Test:

Terminal:

ip -br addr ip route ping -c 4 192.168.1.1 ping -c 4 gnulinux.ch

SSH für den Fernzugriff einrichten

SSH ist der wichtigste Fernzugriff auf ein Linux-System. Damit landet man direkt in einer Terminal-Sitzung auf dem Zielrechner.

Auf dem Linux-PC wird der SSH-Server installiert und aktiviert:

Terminal:

sudo apt update sudo apt install -y openssh-server sudo systemctl enable --now ssh sudo systemctl status ssh --no-pager

Von einem anderen Rechner im Heimnetz verbindet man sich anschließend so:

Terminal:

ssh BENUTZERNAME@192.168.1.20

BENUTZERNAME ist der Benutzer, der auf dem Linux-PC existiert. Wenn der Benutzer zum Beispiel alex heißt, lautet der Befehl:

Terminal:

ssh alex@192.168.1.20

Falls UFW aktiv ist, wird der SSH-Port freigegeben:

Terminal:

sudo ufw allow 22/tcp sudo ufw status

Eine Windows-Freigabe unter Linux einbinden

In diesem Beispiel gibt es auf dem Windows-PC eine Freigabe namens data. Der Windows-PC hat die Adresse 192.168.1.10.

Auf Linux wird dafür cifs-utils installiert:

Terminal:

sudo apt update sudo apt install -y cifs-utils

Der Ordner, unter dem die Freigabe erscheinen soll, wird angelegt:

Terminal:

sudo mkdir -p /mnt/netz

Die Zugangsdaten werden in eine eigene Datei geschrieben:

Terminal:

sudo tee /root/.smb-data-credentials >/dev/null password=WINDOWS_PASSWORD domain=WORKGROUP EOF sudo chmod 600 /root/.smb-data-credentials

Jetzt wird die Freigabe eingebunden:

Terminal:

sudo mount -t cifs //192.168.1.10/data /mnt/netz -o credentials=/root/.smb-data-credentials,uid=$(id -u),gid=$(id -g),iocharset=utf8,vers=3.0

Ein kurzer Schreibtest:

Terminal:

touch /mnt/netz/linux_test.txt ls -l /mnt/netz

Damit die Freigabe später automatisch eingebunden wird:

Terminal:

USER_UID=$(id -u) USER_GID=$(id -g) echo "//192.168.1.10/data /mnt/netz cifs credentials=/root/.smb-data-credentials,uid=${USER_UID},gid=${USER_GID},iocharset=utf8,vers=3.0,nofail,x-systemd.automount 0 0" | sudo tee -a /etc/fstab sudo systemctl daemon-reload sudo mount -a

Kontrolle:

Terminal:

mount | grep /mnt/netz ls -l /mnt/netz

Einen Linux-Ordner für Windows freigeben

Jetzt stellt der Linux-PC selbst einen Ordner im Netzwerk bereit. Dafür wird Samba verwendet.

Samba und ein SMB-Client werden installiert:

Terminal:

sudo apt update sudo apt install -y samba smbclient

Der Freigabeordner wird angelegt:

Terminal:

mkdir -p "$HOME/data" chmod 775 "$HOME/data"

Die bestehende Samba-Konfiguration wird gesichert:

Terminal:

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak.$(date +%F-%H%M%S)

Die Freigabe wird am Ende der Samba-Konfiguration ergänzt:

Terminal:

cat [data]    path = $HOME/data    browseable = yes    read only = no    valid users = $USER    create mask = 0664    directory mask = 0775 EOF

Für Samba benötigt der Benutzer ein eigenes Samba-Passwort:

Terminal:

sudo smbpasswd -a "$USER"

Danach wird die Konfiguration getestet und Samba neu gestartet:

Terminal:

testparm -s sudo systemctl restart smbd sudo systemctl enable smbd sudo systemctl status smbd --no-pager

Ein lokaler Test:

Terminal:

smbclient //localhost/data -U "$USER" -c 'ls'

Unter Windows wird die Freigabe so geöffnet:

\192.168.1.20\data

Falls UFW aktiv ist:

Terminal:

sudo ufw allow samba sudo ufw status

Remote Desktop mit xRDP einrichten

SSH ist für Administration meistens besser. Eine grafische Remote-Sitzung ist aber praktisch, wenn wirklich eine Desktop-Oberfläche gebraucht wird.

xRDP wird installiert und gestartet:

Terminal:

sudo apt update sudo apt install -y xrdp sudo adduser xrdp ssl-cert sudo systemctl enable --now xrdp sudo systemctl status xrdp --no-pager

Falls UFW aktiv ist, wird der RDP-Port freigegeben:

Terminal:

sudo ufw allow 3389/tcp sudo ufw status

Die Verbindung erfolgt dann per RDP-Client auf:

192.168.1.20

Bei manchen Desktop-Umgebungen sollte man sich lokal abmelden, bevor man sich per xRDP mit demselben Benutzer anmeldet. Sonst benehmen sich Desktop-Sitzungen gern wie zwei Drucker im selben Raum: keiner fühlt sich zuständig.

Einen Netzwerkdrucker mit CUPS einrichten

Der Netzwerkdrucker hat im Beispiel die Adresse 192.168.1.50. Unter Linux wird die Druckerverwaltung über CUPS erledigt.

CUPS wird installiert und gestartet:

Terminal:

sudo apt update sudo apt install -y cups cups-client sudo systemctl enable --now cups

Der eigene Benutzer wird zur Drucker-Admin-Gruppe hinzugefügt:

Terminal:

sudo usermod -aG lpadmin "$USER"

Ein IPP-Drucker wird hinzugefügt:

Terminal:

sudo lpadmin -p Office_Printer -E -v "ipp://192.168.1.50/ipp/print" -m everywhere lpoptions -d Office_Printer

Der Status wird angezeigt:

Terminal:

lpstat -t

Ein Testdruck:

Terminal:

echo "Linux printer test" | lp -d Office_Printer

Die CUPS-Weboberfläche ist lokal erreichbar unter:

http://localhost:631

Wenn -m everywhere nicht funktioniert, unterstützt der Drucker vermutlich kein IPP Everywhere oder nutzt eine andere URI. Drucker sind kleine Netzwerkgeräte mit dem Temperament antiker Orakel.

Webmin als Weboberfläche installieren

Webmin bietet eine Browseroberfläche für viele Verwaltungsaufgaben: Dienste, Updates, Speicher, Benutzer, Cron-Jobs und mehr.

Webmin wird über das offizielle Repository-Script eingerichtet:

Terminal:

sudo apt update sudo apt install -y curl curl -o webmin-setup-repo.sh https://raw.githubusercontent.com/webmin/webmin/master/webmin-setup-repo.sh sudo sh webmin-setup-repo.sh sudo apt-get install -y webmin --install-recommends sudo systemctl enable --now webmin

Der Dienst wird geprüft:

Terminal:

sudo systemctl status webmin --no-pager curl -kI https://localhost:10000/

Webmin wird im Browser geöffnet:

https://192.168.1.20:10000

Interessante Bereiche für den Einstieg:

Dashboard System Speicher Paket-Updates Geplante Cron-Jobs Dienste

Einen kleinen Cron-Job anlegen

Cron eignet sich für wiederkehrende Aufgaben. In diesem Beispiel schreibt das System jede Minute eine Zeile in eine Logdatei auf der eingebundenen Freigabe.

Cron wird installiert und aktiviert:

Terminal:

sudo apt update sudo apt install -y cron sudo systemctl enable --now cron

Das Skript wird angelegt:

Terminal:

sudo tee /usr/local/bin/online-log.sh >/dev/null set -euo pipefail

LOG_FILE="/mnt/netz/uptimelog.txt"

if mountpoint -q /mnt/netz; then     echo "$(date '+%Y-%m-%d %H:%M:%S') - system online" >> "$LOG_FILE" fi EOF sudo chmod +x /usr/local/bin/online-log.sh

Das Script wird manuell getestet:

Terminal:

/usr/local/bin/online-log.sh tail /mnt/netz/uptimelog.txt

Der Cron-Job wird eingetragen:

Terminal:

( crontab -l 2>/dev/null | grep -v '/usr/local/bin/online-log.sh' ; echo ' * /usr/local/bin/online-log.sh' ) | crontab -

Kontrolle:

Terminal:

crontab -l

Nach ein bis zwei Minuten sollte die Datei Einträge enthalten:

Terminal:

tail /mnt/netz/uptimelog.txt

Raspberry Pi ins Heimnetz bringen

Der Raspberry Pi bekommt im Beispiel die Adresse 192.168.1.150 und hängt im selben Netz wie der Linux-PC.

Raspberry Pi: 192.168.1.150 Router: 192.168.1.1 WLAN: HomeLab

Am saubersten ist oft eine DHCP-Reservierung im Router. Dann bleibt der Pi auf derselben Adresse, ohne dass man die IP direkt am Pi fest verdrahten muss. Wenn die feste IP direkt am Pi gesetzt werden soll, geht das ebenfalls mit NetworkManager.

Raspberry Pi mit dem WLAN verbinden

WLAN wird eingeschaltet:

Terminal:

sudo nmcli radio wifi on

Verfügbare WLANs werden angezeigt:

Terminal:

nmcli device wifi list

Die Verbindung zum WLAN wird aufgebaut:

Terminal:

sudo nmcli device wifi connect "HomeLab" password "WLAN_PASSWORT"

Die Verbindung wird geprüft:

Terminal:

nmcli connection show --active ip -br addr ip route ping -c 4 192.168.1.1 ping -c 4 gnulinux.ch

Dem Raspberry Pi eine feste IP geben

Zuerst wird der Name der aktiven Verbindung angezeigt:

Terminal:

nmcli -t -f NAME,DEVICE connection show --active

Wenn die Verbindung HomeLab heißt:

Terminal:

sudo nmcli connection modify "HomeLab" ipv4.addresses "192.168.1.150/24" sudo nmcli connection modify "HomeLab" ipv4.gateway "192.168.1.1" sudo nmcli connection modify "HomeLab" ipv4.dns "1.1.1.1 8.8.8.8" sudo nmcli connection modify "HomeLab" ipv4.method manual sudo nmcli connection down "HomeLab" sudo nmcli connection up "HomeLab"

Prüfen:

Terminal:

ip -br addr ip route ping -c 4 192.168.1.1 ping -c 4 gnulinux.ch

Hostname und Uhrzeit setzen

Der Pi bekommt einen Namen:

Terminal:

sudo hostnamectl set-hostname pi-server hostnamectl

Die Zeitzone wird gesetzt:

Terminal:

sudo timedatectl set-timezone Europe/Vienna sudo timedatectl set-ntp true timedatectl

Falls kein Internet verfügbar ist, kann die Uhrzeit manuell gesetzt werden:

Terminal:

sudo timedatectl set-ntp false sudo timedatectl set-time "2026-01-01 12:00:00" timedatectl

Danach wird neu gestartet:

Terminal:

sudo reboot

SSH auf dem Raspberry Pi aktivieren

SSH wird installiert und aktiviert:

Terminal:

sudo apt update sudo apt install -y openssh-server sudo systemctl enable --now ssh sudo systemctl status ssh --no-pager

Vom PC aus verbindet man sich so:

Terminal:

ssh BENUTZERNAME@192.168.1.150

Auf älteren Raspberry-Pi-Installationen oder selbst eingerichteten Systemen kann der Benutzer auch pi heißen:

Terminal:

ssh pi@192.168.1.150

Dateien per SFTP übertragen

SFTP läuft über SSH und ist deshalb für Dateiübertragung meistens sinnvoller als klassisches FTP.

Terminal:

sftp BENUTZERNAME@192.168.1.150

Im SFTP-Prompt:

mkdir upload_test put testdatei.txt ls bye

Einen FTP-Server mit vsftpd einrichten

FTP ist für lokale Tests möglich, sollte aber nicht die erste Wahl sein, wenn SFTP verfügbar ist. Klassisches FTP ist ohne Zusatzschutz nicht verschlüsselt.

vsftpd wird installiert:

Terminal:

sudo apt update sudo apt install -y vsftpd sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak.$(date +%F-%H%M%S)

Lokale Benutzer und Schreibzugriff werden aktiviert:

Terminal:

sudo sed -i 's/^#?anonymous_enable=./anonymous_enable=NO/' /etc/vsftpd.conf sudo sed -i 's/^#?local_enable=./local_enable=YES/' /etc/vsftpd.conf sudo sed -i 's/^#?write_enable=./write_enable=YES/' /etc/vsftpd.conf grep -q '^chroot_local_user=' /etc/vsftpd.conf && sudo sed -i 's/^#?chroot_local_user=./chroot_local_user=YES/' /etc/vsftpd.conf || echo 'chroot_local_user=YES' | sudo tee -a /etc/vsftpd.conf grep -q '^allow_writeable_chroot=' /etc/vsftpd.conf && sudo sed -i 's/^#?allow_writeable_chroot=.*/allow_writeable_chroot=YES/' /etc/vsftpd.conf || echo 'allow_writeable_chroot=YES' | sudo tee -a /etc/vsftpd.conf

Der Dienst wird gestartet:

Terminal:

sudo systemctl enable --now vsftpd sudo systemctl restart vsftpd sudo systemctl status vsftpd --no-pager

Vom Client aus wird getestet:

Terminal:

ftp 192.168.1.150

Falls ftp fehlt:

Terminal:

sudo apt install -y ftp

Apache und PHP auf dem Raspberry Pi installieren

Der Pi kann auch als kleiner Webserver dienen.

Apache und PHP werden installiert:

Terminal:

sudo apt update sudo apt install -y apache2 php libapache2-mod-php sudo systemctl enable --now apache2 sudo systemctl restart apache2

Eine einfache Startseite wird erstellt:

Terminal:

echo "Apache is running on the Raspberry Pi" | sudo tee /var/www/html/index.html

Eine PHP-Testseite wird erstellt:

Terminal:

echo '' | sudo tee /var/www/html/info.php >/dev/null

Lokal wird getestet:

Terminal:

curl -I http://localhost/ curl -I http://localhost/info.php

Vom PC aus im Browser:

http://192.168.1.150/ http://192.168.1.150/info.php

Die PHP-Info-Seite sollte danach wieder gelöscht werden, weil sie unnötig viele Systemdetails zeigt:

Terminal:

sudo rm /var/www/html/info.php

Grafische Fernwartung auf dem Raspberry Pi

Wenn auf dem Raspberry Pi eine Desktop-Oberfläche installiert ist, kann xRDP verwendet werden.

xRDP wird installiert und aktiviert:

Terminal:

sudo apt update sudo apt install -y xrdp sudo systemctl enable --now xrdp sudo systemctl status xrdp --no-pager

Falls UFW aktiv ist:

Terminal:

sudo ufw allow 3389/tcp sudo ufw status

Per RDP verbindet man sich mit:

192.168.1.150

Auf Raspberry Pi OS Lite gibt es keine grafische Oberfläche. In dem Fall ist SSH die bessere Wahl.

Die wichtigsten Grundlagen

NAT

NAT übersetzt private Adressen aus dem Heimnetz nach außen. Der Raspberry Pi hat etwa intern 192.168.1.150, geht aber über den Router 192.168.1.1 ins Internet.

Raspberry Pi 192.168.1.150 -> Router 192.168.1.1 -> Internet

So können mehrere Geräte im Heimnetz über dieselbe Internetverbindung arbeiten.

DHCP

DHCP verteilt automatisch IP-Adresse, Gateway und DNS-Server. Für normale Clients ist das bequem. Für Server, Drucker und Raspberry Pis ist eine feste Adresse oder DHCP-Reservierung praktischer.

SSH

SSH ist der wichtigste Remote-Zugriff für Linux:

Terminal:

ssh BENUTZERNAME@192.168.1.150

Damit lassen sich Pakete installieren, Dienste prüfen, Logs lesen und Konfigurationsdateien bearbeiten.

FTP und SFTP

FTP ist alt und ohne Zusatzschutz nicht verschlüsselt. SFTP läuft über SSH und ist in den meisten Fällen die bessere Wahl:

Terminal:

sftp BENUTZERNAME@192.168.1.150

RDP und SSH

SSH ist schnell, stabil und ideal für Administration. RDP ist hilfreich, wenn eine grafische Oberfläche gebraucht wird, verbraucht aber mehr Ressourcen.

SSH: Terminal, schnell, sparsam RDP: Desktop, grafisch, schwerfälliger

Nützliche Befehle für Fehlersuche

Terminal:

hostnamectl ip -br addr ip route resolvectl status ping -c 4 192.168.1.1 ping -c 4 1.1.1.1 ping -c 4 gnulinux.ch systemctl --failed journalctl -xe

Dienste prüfen:

Terminal:

systemctl status ssh --no-pager systemctl status smbd --no-pager systemctl status apache2 --no-pager systemctl status cups --no-pager systemctl status cron --no-pager systemctl status xrdp --no-pager

Offene Ports anzeigen:

Terminal:

ss -tulpn

Live-Logs ansehen:

Terminal:

sudo journalctl -f

Fazit

Mit wenigen Diensten lässt sich ein Linux-System gut ins Heimnetz integrieren: SSH für Fernzugriff, Samba für Freigaben, CUPS für Drucker, Webmin für eine Weboberfläche und Apache/PHP für einfache Webtests. Der Raspberry Pi ergänzt das Set-up als kleiner Server, der per SSH, SFTP oder Webbrowser erreichbar ist. Wäre schön zu wissen, falls das jemand nützlich gefunden hat.

Quellen:
Ubuntu Server Dokumentation: Netzwerkkonfiguration mit Netplan
https://ubuntu.com/server/docs/explanation/networking/configuring-networks/

Netplan Dokumentation: Statische IP-Adressen
https://netplan.readthedocs.io/en/stable/using-static-ip-addresses/

Ubuntu Tutorial: Samba installieren und konfigurieren
https://ubuntu.com/tutorials/install-and-configure-samba

Samba mount.cifs Manpage
https://www.samba.org/samba/docs/3.4/man-html/mount.cifs.8.html

Raspberry Pi Dokumentation: Konfiguration und Remote Access
https://www.raspberrypi.com/documentation/computers/configuration.html

Webmin Dokumentation: Downloading and Installing
https://webmin.com/download/

CUPS Dokumentation: Administration und Kommandozeilenoptionen
https://www.cups.org/doc/admin.html
https://www.cups.org/doc/options.html

Linux man-pages: crontab
https://man7.org/linux/man-pages/man5/crontab.5.html

Tags

Linux, Ubuntu, Raspberry Pi, Netzwerk, SSH

shh
Geschrieben von shh am 24. Juni 2026 um 12:12

Leider funktionieren etliche Kommandozeilenbefehle nicht, weil da der Strichpunkt oder && vergessen (oder rausgefiltert) wurde. :(

Frank B
Geschrieben von Frank B am 24. Juni 2026 um 12:55

Schöner Artikel, leider sind die Zeilenvorschübe durch Leerstellen ersetzt. Das macht das Nachvollziehen schwierig. MfG Frank

Alex
Geschrieben von Alex am 24. Juni 2026 um 14:14

Danke für den Artikel. Ganz in Deinem Stil einige kurze ad hoc Anmerkungen dazu:

a) Alpine Linux statt Raspberry Pi OS nutzen, weil Alpine sicherer und sparsamer bei den Ressourcen ist (damit kann man selbst einen Raspberry Pi 2 noch sinnvoll einsetzen, weil eine Standard-Installation von Alpine mit OpenSSH-Server und einigen Tools ohne grafische Oberfläche gerade einmal 225 MB auf dem Massenspeicher benötigt. Wichtiger ist aber der RAM-Bedarf: Ein solches System verwendet im laufenden Betrieb unter 30 MB RAM).

b) die Sicherheit bei den Konfigurationen ist stark verbesserungswürdig (-> Protokolle und Zugriffsbeschränkungen bei Samba nutzen, Sandbox bei den Systemd-Diensten verwenden, kritische PHP-Funktionen deaktivieren, keine Anmeldung per Password am SSH-Server, keine Zugriffe von überall bei UFW erlauben etc.)

c) Webmin würde ich aus Sicherheitsgründen nicht nutzen. Es ist einfach keine gute Idee, eine komplexe Webanwendung für die Systemkonfiguration zu verwenden. Hinzu kommt die Tatsache, dass Webmin bestehende Konfigurationsdateien bei Änderungen häufig umschreibt und so bsp. Kommentare verloren gehen, die man manuell hinterlegt hat.

d) NGinx statt Apache2 verwenden

e) eigenen DNS-Server nutzen oder wenigstens auf die DNS-Server von den Datenkranken Google und Cloudflare verzichten (auch beim Systemd-Fallback)

f) eine Lösung für die tägliche automatische Aktualisierung des Systems umsetzen

...

spriggins
Geschrieben von spriggins am 24. Juni 2026 um 14:45

> Am saubersten ist oft eine DHCP-Reservierung im Router.

Ja und dort kann man auch den Namen des Gerätes als Alias im Netz unabhängig vom hostname auf dem Rechner vergeben. Der Vorteil liegt darin, dass man an einer zentralen Stelle eine Liste pflegt statt jedes Gerät einzeln zu konfigurieren. Voraussetzung ist dass der Rechner seine MAC-Adresse nicht verwürfelt und erkennbar ist

> ssh BENUTZERNAME@192.168.1.150

mit oben wird dann ssh BENUTZERNAME@raspi draus oder als Alias definiert z.B. sshraspi

dazu als Ergänzung https://checkmk.com/de/linux-wissen/ssh-anmeldung-ohne-passwort

> Apache und PHP auf dem Raspberry Pi installieren

Als Alternative lohnt es sich lighthhp zu testen. Ein Raspi ist i.d.R. kein beanspruchter Server im Netz, der viele Zugriffe gleichzeitig bewältigen muss und es läuft relativ viel auf diesem Server. Dietpi bringt die Scripte zur Installation mit: https://dietpi.com/docs/software/webserver_stack/

Eine Alternative für SSH ist auch das leichtgewichtige Dropbear (https://dietpi.com/docs/software/ssh/#dropbear), das zwar kein SCP kann aber natürlich „Poor Man's SCP“ (Tunneln über Standard-SSH-Pipe)

# Datei hochladen:
cat lokale_datei | ssh user@raspberry "cat > ziel_datei"

# Datei herunterladen:
ssh user@raspberry "cat remote_datei" > lokale_datei

> SSH ist schnell, stabil und ideal für Administration. RDP ist hilfreich, wenn eine grafische Oberfläche gebraucht wird, verbraucht aber mehr Ressourcen.

:D dazu: > Der Fokus liegt bewusst auf dem Terminal, weil Klickanleitungen ungefähr so langlebig sind wie Druckertreiber mit Stimmungsschwankungen.

Klaus
Geschrieben von Klaus am 25. Juni 2026 um 09:30

Danke, Arnold, für die kompakte Darstellung der Einrichtung eines Heimnetzes.

Nick
Geschrieben von Nick am 25. Juni 2026 um 11:29

OT: Netzwerkdrucker über WLAN Router:

Neuerdings habe ich das Problem, wenn es gilt in der Debian GUI nach Druckern im WLAN zu suchen, die am jeweils erneuerten WLAN Router des Internetproviders hängen (in DE Telekom und O2, bei meinen Eltern und mir selbst), dass eine Anmeldemaske erscheint (mit mir als User auf dem PC und der Standard "Arbeitsgruppe").

Die scheinbare Lösung wäre, auf dem Router (wie es im Falle des Telekom Routers so ungefähr auch im Handbuch steht, nur stellen die doof), einen passen Nutzer mit erzeugtem Passwort –auf dem WLAN Router!– anzulegen, und den dann bei der Druckereinrichtung von den Clients aus zu verwenden.

FRAGE: Kennt das so in ähnlicher Form jemand? ...Die Telekom, auch wenn es so ähnlich im HB steht, offenbar nicht! 🤪️


Hinweis: Beide Drucker waren vorher in beiden LANs mit den alten WLAN Routern problemlos gefunden worden, und es hat auch jahrelang problemlos funktioniert (Linux, und bei meiner Mutter noch immer ein gammeliges MacOS).

werschreibt
Geschrieben von werschreibt am 25. Juni 2026 um 21:43
Markus
Geschrieben von Markus am 28. Juni 2026 um 03:47

Schöner HowTo... Aber wo liegt der Vorteil von Ubuntu gegenüber einem Debian oder Rocky etc? Und wieso WebMin? Cockpit läuft auch unter Debian, ist Modular, verbraucht massiv weniger Ressourcen und ist übersichtlicher. Und vieles der Netzwerkfummelei kann man mit der Erweiterung 45drives sich ersparen, und der Rest erledigt dann Tailscale. Was den Vorteil mitbringt von überall auf die Geräte zugreifen zu können. Mit einem definierten Exitnode hat man sogar eine vollwertige VPN ...