Debian Linux installieren
Die genaue Schritt für Schritt Installation des Betriebsystems wird hier nicht beschrieben, das hier ist der falsche Ort dafür. Jedoch werden als Referenz die Paketauswahlen während der Installation hier beschrieben.
Am kompaktesten ist die Netinstall ISO-Datei. Zur Installation auf einem externen Rechner (z.B. NUC o.ä.) kann die ISO-Datei am einfachsten mit dem Tool Balena Etcher auf einen USB-Stick übertragen werden.
Es können auch andere Tools wie z.B. Linux Live USB Creator, Universal-USB-Installer oder UNetbootin dazu genutzt werden.
Diese Komplettanleitung wurde auf einer virtuellen Maschine unter VMWare mit einem Debian bullseye 11.3 und Debian Bookworm 12.4 getestet.
Andere Linux Derivate können abweichen, man sollte dann mit den Unterschieden umgehen können.
Bemerkung
Die Installation auf einem Raspberry Pi kann idealerweise über ein fertiges Image erfolgen bei dem fast alles vorbereitet ist. Ansonsten beginnt man am besten mit dem aktuellsten Raspbian Image von der raspberrypi.org Seite. Dieses Image kann mittels Etcher oder Win32Diskimager auf eine SD-Karte übertragen werden. Die unten stehenden Schritte bis Einloggen via SSH entfallen. Es ist allerdings notwendig, sich beim ersten Start direkt am Raspberry Pi einzuloggen (User: pi, Passwort: raspberry - Achtung, englische Tastatur!) und mittels
sudo systemctl start ssh
sudo systemctl enable ssh
den SSH Server jetzt und bei zukünftigen Neustarts automatisch zu zu starten.
Im Allgemeinen braucht ein Server keine grafische Benutzeroberfläche, also ganz normale Installation wählen. Statt (oder zusätzlich zu) einer graphischen Oberfläche sollten die Optionen SSH Server und Webserver ausgewählt werden, wenn diese Optionen (wie z.B. unter Debian 12 - Bookworm) zur Verfügung stehen.
Einige Einstellungen die jetzt vorgenommen werden sind:
Sprache, Tastaturlayout
Rechnername z.B. sh, shmuc, smarthome23, …
Das root Passwort bitte leer lassen
Benutzer smarthome anlegen (bitte gerade am Raspi ein Passwort vergeben, sonst wird SSH für den Benutzer nicht aktiviert)
Festplatte geführt partitionieren und gesamten Speicherbereich verwenden, nicht vergessen die Änderungen auch auf die Platten zu schreiben
Jetzt erfolgt die Grundinstallation des Systems aus dem Basispaket. Anschließend wird aufgrund der Landesauswahl der Spiegelserver für die weiteren Dateien festgelegt. Nach der Festlegung konfiguriert das System apt und lädt Pakete aus dem Spiegelserver nach. Das ist die Gelegenheit sich ein Heiß- oder Kaltgetränk nach Wahl zu holen da der Vorgang je nach Hardware und Netzwerkgeschwindigkeit zwischen 4 und 8 Minuten dauert. Die Rückmeldung des Systems an die Entwicklung darf abgelehnt werden.
Softwareauswahl
Wenn keine grafische Benutzeroberfläche gebraucht wird, dann bitte abwählen:
Debian Desktop Environment
ansonsten sind KDE und Gnome sehr mächtig aber es tut vielleicht ein LXDE auch.
auswählen:
Web Server (Apache2)
SSH Server (wird für SSH z.B. via PuTTY oder Bitvise SSH Client benötigt)
Standard-Systemwerkzeuge (falls diese Auswahlmöglichkeit besteht)
Nun ist es Zeit für das nächste Getränk, das Nachladen der zu installierenden Pakete dauert jetzt wiederum 5 bis 20 Minuten. Die angebotene Installation von GRUB sollte akzeptiert und anschließend ein Reboot durchgeführt werden.
Einloggen via SSH oder an der Konsole
ssh smarthome@<ip_des_servers>
.ssh smarthome@<ip_des_servers>
.<ip_des_servers>
ersetzen durch die IP Adresse oder den
Namen des neuen SmartHomeNG Servers. smarthome ist der Username mit dem man sich anmelden möchte.Oder alternativ (z.B. bei einer virtuellen Maschine) direkt an der Konsole anmelden.
Benutzer zum Anmelden ist smarthome und das weiter oben erstellte Passwort für diesen User. Wurde kein Passwort angegeben und möchte man SSH so konfigurieren, dass man sich mit einem leeren Passwort einloggen kann, sind folgende Operationen notwendig:
sudo sed -i -e 's/#PermitEmptyPasswords no/PermitEmptyPasswords yes/g' /etc/ssh/sshd_config
sudo sed -i -e '/console/s/.*/&\nssh/' /etc/securetty
sudo systemctl restart sshd
Generell wird aber empfohlen, den SSH-Zugang mit Zertifikaten abzusichern und ein Einloggen mittels Username/Passwort zu unterbinden. Informationen zum Erstellen von Zertifikaten gibt es z.B. bei Thomas Krenn.
Systemaktualisierung
Nach der Anmeldung ist zunächst mit
sudo apt update
sudo apt upgrade
das frisch installierte System mit den neuesten Systemupdates zu versorgen. Eigentlich sollte dabei nix zu installieren sein aber sicher ist sicher.
Hinweis
Für den Fall das SmartHomeNG in einer virtuellen Maschine installiert wird,
ist jetzt eine gute Gelegenheit diese herunterzufahren mit sudo poweroff
um einen Snapshot zu erstellen. Falls im weiteren etwas nicht so funktioniert
wie erwartet, kann so neu angesetzt werden ohne alles erneut herunterladen
zu müssen.
Alternativ kann der Snapshot natürlich auch nach Abschluss der Restarbeiten
weiter unten ausgeführt werden.
Wenn die Installation in einer virtuellen Maschine unter VMWare erfolgt ist, so werden für Debian bullseye 11.3 bereits die open-vm-tools mitinstalliert.
Für bereits existierende Systeme können die Tools nachinstalliert werden:
Servervariante
sudo apt-get install open-vm-tools
Grafische Benutzeroberfläche
sudo apt-get install open-vm-tools-desktop
Die automatische Anpassung der Bildschirmgröße funktioniert erst nach einem Neustart.
Um die Gästeerweiterungen zu installieren zuerst unter Geräte -> Gästeerweiterungen einlegen anklicken. Diese nun via Terminal/Shell ausführen und den Anweisungen folgen:
sudo sh /media/cdrom/VBoxLinuxAdditions.run
Nach einem Neustart passt sich nun bspw. bei Verwendung einer GUI die Auflösung dynamisch an.
Restarbeiten am System
sudo für User smarthome
Falls kein Passwort für root vergeben wurde, dann wird der bei der Installation erstellte User (hier: smarthome) automatisch in die Gruppe für sudo aufgenommen. Dann ist hier nichts weiter zu tun.
Falls man einen anderen Benutzernamen bei der Installation gewählt hat, muss man den User smarthome zunächst erstellen:
sudo adduser smarthome --disabled-password --gecos "First Last,RoomNumber,WorkPhone,HomePhone"
Den Benutzer smarthome in die sudo Gruppe hinzufügen:
sudo usermod -aG sudo smarthome
Standby/Energiesparmodus abschalten
Standardmäßig gehen Debian Installationen nach einiger Zeit in den Energiesparmodus. Zur Nutzung für SmartHomeNG
ist das natürlich wenig hilfreich. Durch Editieren der Datei /etc/systemd/sleep.conf
können der Sleep- und der
Hybernate Moduls abgeschaltet werden:
[Sleep]
AllowSuspend=no
AllowHibernation=no
AllowSuspendThenHibernate=no
AllowHybridSleep=no
Damit diese Änderung wirksam wird, muss das System neu gestartet werden.
Anpassung für die smartVISU
Auch wenn der Benutzer smarthome schon existiert muss er für die Nutzung der smartVISU in die Gruppe www-data mit folgendem Befehl eingetragen werden.
sudo usermod -aG www-data smarthome
Anpassung der Userumgebung
Vor dem Neustart wird jetzt noch die Datei .bashrc
bearbeitet um einige Befehle auf der Shell
(Kommandozeile bzw. Konsole) abzukürzen:
cd ~
nano .bashrc
Dort an am Ende anfügen oder wenn bereits vorhanden das Kommentarzeichen #
am Zeilenanfang entfernen:
alias la='ls -A'
alias ll='ls -l'
alias ..='cd ..'
System abschalten
Der Benutzer smarthome muß nun abgemeldet und neu angemeldet werden, damit die Rechte neu eingelesen werden. Dies ist eine gute Gelegenheit um einen alternativen Snapshot zu erstellen. Dazu dann wiederum das System ausschalten mit:
sudo poweroff