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 mit Tools wie z.B. Linux Live USB Creator, Universal-USB-Installer oder UNetbootin auf einen USB Stick übertragen werden.
Diese Komplettanleitung wurde auf einer virtuellen Maschine unter VMWare mit einem Debian bullseye 11.3 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. 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
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 <ip_des_servers>
.ssh <ip_des_servers>
.<ip_des_servers>
ersetzen durch die IP Adresse oder den
Namen des neuen SmartHomeNG Servers.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-get update
sudo apt-get 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
Wenn 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.
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 www-data und sudo Gruppe hinzufügen:
sudo usermod -aG www-data,sudo smarthome
Auch wenn der Benutzer smarthome schon existiert muss er in die Gruppe www-data mit folgendem Befehl eingetragen werden.
sudo usermod -aG www-data smarthome
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 ..'
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