Kategorien
Allgemein

openmediavault: ssh Zugang

Heute wollen wir uns einen ssh Zugang zu unserem System verschaffen. Diesen können wir nutzen, um mit dem System zu arbeiten, ohne Tastatur und Monitor anschließen zu müssen. In einem gesicherten, lokalen Netzwerk wäre wahrscheinlich ein ungesicherter Zugang in Ordnung. Da ich aber das System später aus dem Internet erreichen will (z.B. Nextcloud), sichere ich es lieber ordentlich ab und nutze ssh mit einer Zertifikatauthentifizierung.

Folgende Anleitung setzt ein Linux Terminal am eigenen PC voraus. Windows 10 Nutzern empfehle ich dazu z.B. Ubuntu aus dem Microsoft Store zu installieren.

Wer noch kein ssh Zertifikat hat, kann das zunächst selbst erzeugen:

ssh-keygen -t ed25519 -a 100 -C "$(whoami)@$(uname -n)-$(date -I)"

Durch die Optionen wird dabei das moderne ed25519 Verfahren genutzt, das verwendete Password 100 mal durch die „key derivation function“ gejagt und mit einem Kommentar versehen, der den aktuellen Benutzernamen, Rechnernamen und Datum beinhaltet.

Damit ich mir nicht die IP des Systems merken oder ständig ssh root@virtomv4 eingeben muss, erstelle ich einen alias Eintrag in der ~/.ssh/config Datei:

Host omv
        HostName virtomv4
        User root

Dadurch kann ich das System in allen ssh Befehlen (wie ssh selbst, aber auch scp oder rsync) unter dem Alias „omv“ erreichen. Alternativ kann statt dem hostname (hier virtomv4) auch die IP Adresse angegeben werden.

Als nächstes wird das ssh Zertifikat auf den openmediavault Rechner kopiert. Dies geschieht mittels ssh-copy-id omv. Ab sofort kann ich mich mit ssh omv mit dem System verbinden und beliebige Befehle ausführen.

Eigentlich ist damit die Einrichtung des ssh Zugangs abgeschlossen, ich möchte diesen aber noch etwas aufmotzen. Bei einer neuen ssh Verbindung möchte ich, dass automatisch byobu gestartet wird. Dieses Programm erleichtert es mir, ein zweites Terminal zu öffnen und die Verbindung zwischendurch zu trennen und später einfach wieder fortzusetzen. Zunächst muss byobu mittels apt install byobu installiert und kann dann durch byobu-enable aktiviert werden (die Fehlermeldung am Ende der Installation ignorieren wir zunächst). Beim nächsten login wird dann automatisch byobu statt der normalen shell gestartet. Um trotzdem die „motd“ zu sehen (diese „message of the day“ zeigt einige Systemparameter beim login an) füge ich noch ein paar Codezeilen der ~/.bashrc Datei hinzu (Quelle: https://askubuntu.com/questions/473131/show-login-text-with-byobu)

if [ -z "$_motd_listed" ]; then
  case "$TMUX_PANE" in
    %1) cat /run/motd.dynamic
        export _motd_listed=yes
        ;;
    *)  ;;
  esac
fi

Zum Schluss wollen wir uns noch um den Fehlermeldung kümmern, die sonst am Ende jedes Installationsvorgangs angezeigt wird:

Exception ignored in: <function WeakValueDictionary.__init__.<locals>.remove at 0x7f262c7b07b8>
Traceback (most recent call last):
  File "/usr/lib/python3.5/weakref.py", line 117, in remove
TypeError: 'NoneType' object is not callable

Dies können wir einfach durch Aufruf von (Quelle: https://forum.openmediavault.org/index.php?thread/19658-upgrade-debian-9-and-4-x/&postID=196631#post196631)

wget -O /usr/lib/python3.5/weakref.py https://raw.githubusercontent.com/python/cpython/9cd7e17640a49635d1c1f8c2989578a8fc2c1de6/Lib/weakref.py

beheben.

Im nächsten Beitrag werde ich dann den neuen ssh Zugang nutzen, um das omv-extras.org Plugin zu installieren. Dieses bringt weitere Plugins mit, die ich zum Teil installieren und einrichten werde.

Kategorien
Allgemein

openmediavault: Installation

Als Erstes müssen wir natürlich openmediavault installieren. Als ich mein System aufgesetzt habe, war Version 4 aktuell. Sie basiert auf Debian Stretch und wird daher noch immer mit Updates versorgt. Derzeit ist openmediavault 5, basierend auf Debian Buster, aktuell. Für openmediavault 4 existiert ein Installationsimage für den Odroid-XU4, das einfach auf eine SD- oder eMMC-Karte kopiert wird. Beim ersten Hochfahren des Odroid wird das Betriebssystem dann initialisiert. Will man Openmediavault 5 installieren, so muss man zunächst Armbian installieren und in einem zweiten Schritt openmediavault 5 hinzufügen. Für x86 Hardware gibt es für beide aktuellen openmediavault Versionen iso-Dateien, mit denen man das Betriebssystem installieren kann.

Da ich mein derzeitiges System nicht gefährden möchte, installiere ich openmediavault 4 zunächst auf einer virtuellen Maschine. Diese hatte ich schon zuvor angelegt: https://dheinrich.net/2020/06/05/virtuelle-hardware/. Ich füge das iso-Image als Abbild für das optische Laufwerk aus und boote die Maschine. Im bootloader wähle ich „install“ und lasse mich vom Menü durch den restlichen Installationsvorgang führen. Dabei kann man eigentlich gar nichts falsch machen. Als Rechnernamen wähle ich „virtomv4“ und als Domain-Namen „fritz.box“, da dies die Standarddomain in meiner FRITZ!Box ist. Ich lege ein root-Passwort fest, da ich dies in meinem Odroid-XU4 auch getan hatte und ich die virtuelle Maschine so ähnlich wie möglich aufsetzen will. Bei einer Neuinstallation würde ich allerdings überlegen, dass root-Passwort nicht zu setzen und den root Zugang somit zu deaktivieren. Stattdessen würde das erste angelegte Benutzerkonto mittels sudo root-Rechte bekommen. Nach Abschluss der Installation bootet man die virtuelle Maschine neu und ruft sodann das openmediavault control panel in einem beliebigen Browser auf. Dafür gibt man die IP des Systems in die Adresszeile ein. Diese findet man zum Beispiel auf dem Startbildschirm. Es empfiehlt sich dafür kurz einen Monitor oder Fernseher an den Odroid-XU4 anzuschließen, um die IP herauszufinden.

Wir loggen uns nun mit dem Benutznamen „admin“ und dem Passwort „openmediavault“ ein, dass wir aber im Folgenden ändern werden. Ich gehe nun die einzelnen Menüpunkte durch und beschreibe kurz die Änderungen, die ich an der Konfiguration durchgeführt habe. Zu Beachten ist, dass man meist auf „Save“ klicken muss, um die Konfiguration zu speichern, danach aber noch auf „Apply“ um die Änderungen auch anzuwenden.

System

  • General Settings
    • Unter dem Tab „Web Administrator Password“ ändere ich als erstes eben dieses
  • Date & Time
    • Ich aktiviere „Use NTP server“ und wähle de.pool.ntp.org als Adresse für den Zeitserver
  • Network
    • Hier ändere ich nichts, aber mir ist aufgefallen, dass auf meinem Odroid unter dem Tab „Interfaces“ kein Netzwerk konfiguriert ist, auf der virtuellen Maschine allerdings schon
  • Notification
    • Ich aktiviere diese und gebe meine Zugangsdaten eines beliebigen E-Mail-Kontos ein
  • Certificates
    • In einem zukünftigen Beitrag werde ich beschreiben, wie und warum ich ein SSL-Zertifikat hinzugefügt habe
  • Update Management
    • Das System wurde von einem schon etwas älteren Abbild installiert, deshalb wähle ich alle Aktualisierungen aus und installiere diese. Diesen Schritt sollte man in regelmäßigen Abständen wiederholen.
  • Plugins
    • Auch meine installierten Plugins werde ich ein andermal beschreiben

Die übrige Konfiguration muss sich noch etwas gedulden, im nächsten Beitrag werde ich zunächst die sogenannten OMV-Extras und danach eine Reihe Plugins installieren. Auch die Konfiguration einer externen Festplatte und einer SD-Karte werde ich in einem zukünftigen Beitrag beschreiben.

Kategorien
Allgemein

Software: Überblick

Nachdem ich letzte Woche etwas über die Hardware geschrieben habe, die ich verwenden werde, möchte ich heute Näheres über die Software berichten.

Derzeit läuft auf dem Odroid die NAS Software Openmediavault (OMV), welche Debian Stretch mit einem Armbian Kernel als Basis verwendet. Manche Dienste laufen dabei nativ unter OMV, manche aber auch in einem Docker container. Bis jetzt war das für mich in Ordnug, falls aber die Hardware ausfallen sollte, wird ein Umzug recht aufwändig werden. Daher möchte ich bei Zeiten das System auf docker compose umstellen. Davon verspreche ich mir, relativ schnell und einfach die Hardware und gegebenenfalls auch die Linux Distribution wechseln zu können.

Folgende Tabelle listet die derzeit verwendete Software sowie meine Pläne für zukünftig verwendete Software auf:

DienstSoftware IstSoftware Soll
BetriebssystemOMV4 (Armbian Stretch)beliebiges Linux mit Docker
Reverse Proxynginx (nativ)traefik (docker)
ManagementOMV webguiOMV webgui / portainer (docker)
DNS Serverpihole (docker)keine Änderung
Cloudnextcloud (docker)keine Änderung
Gitbare git reposevt. gitea (docker)
Datenbankmariadb (nativ)mariadb (docker)
Backupduplicati nach S3duplicati (docker) nach S3
Updateswatchtower (docker)docker compose
Blogwordpress (docker)
E-Mailmail server (docker)

Soweit so gut, in den nächsten Beiträgen möchte ich euch zeigen, wie ich die einzelnen Programme eingerichtet und konfiguriert habe.

Kategorien
Allgemein

Virtuelle Hardware

Wie schon erwähnt läuft mein System schon seit über einem Jahr und ist seit dem auch produktiv in Verwendung. Daher kann ich mich natürlich nicht an alle Schritte die ich bei der Einrichtung und Konfiguration durchgeführt habe erinnern. Einerseits möchte ich sicherstellen, dass ich keinen wichtigen Schritt vergesse, andererseits aber auch das System nicht gefährden indem ich es neu aufsetze. Daher habe ich mich entschieden, jeden Schritt wenigstens in einer virtuellen Maschine nachzuvollziehen und so zu versuchen, das System möglichst vollständig, wenn auch virtuell zu duplizieren.

Die Virtualisierung übernimmt VirtualBox. Als Gasthardware habe ich ein x86/64 System gewählt, da es mir nach kurzer Recherche zu kompliziert erschien, ARM Hardware zu emulieren. Wie der Odroid-XU4 bekommt der virtuelle Rechner 2 GB RAM. 2 CPU Kerne sollten außerdem ausreichen, für das Netzwerk genügt mir erst mal ein einfaches NAT. Als nächstes werde ich das Betriebssystem auf einer 16 GB großen virtuellen Festplatte installieren und in einem weiteren Beitrag berichten, welche Software ich derzeit einsetze und zukünftig verwenden möchte.

Kategorien
Allgemein

Hardware

Nachdem ich mich dazu entschlossen hatte, das alte Netbook einzumotten und auf modernere Hardware umzusteigen, begab ich mich auf die Suche nach geeigneten Systemen. Damals (Juni 2018) entschied ich mich für einen Odroid-XU4 von Hardkernel, ich glaube aufgrund des Gigabit-Netzwerkanschlusses, zweier USB 3.0 Anschlüsse und 2 GB RAM.

Im Großen und Ganzen bin ich bisher Zufrieden mit dem auf ARM Kernen basierenden XU4, einzig mit manchen externen Festplatten hatte ich kürzlich ein paar Probleme, dazu später mehr. Mit dem Wissen von heute würde ich zu einem System mit mindestens einem SATA Anschluss und großer Nutzerbasis greifen. Ersteres, um nicht auf USB 3 auf SATA Konverter von Drittherstellern angewiesen zu sein, letzteres um sicherzugehen, dass Softwarebugs möglichst schnell behoben werden. Ein Bekannter führt zur Zeit ein ähnliches Projekt auf Basis des neueren Odroid-N2 durch. Er hatte dabei das Problem, dass Armbian diesen bis vor Kurzem nicht vollständig unterstützt hatte und er deswegen auf das mitgelieferte Ubuntu ausweichen musste.

Hier also meine genutzte Hardware:

  • Odroid-XU4
  • 16 GB eMMC Modul
  • passendes Gehäuse und Netzteil
  • Western Digital WD Elements portable
  • 32 GB SD Karte (genaues Modell wird später nachgereicht)

Vor der WD Elements hatte ich eine eine ebenfalls externe 2,5″ USB 3.0 Festplatte von Toshiba verwendet. Diese funktionierte auch problemlos, bis eines Tages der USB – SATA Konverter (ein VIA Lab’s VL701) kaputt ging. Ich glaube bis dahin drehte sich die Festplatte über ein Jahr lang ununterbrochen, was möglicherweise zu dem Ausfall führte. Die Festplatte selbst funktioniert heute noch und dient in einem einfachen externen Gehäuse als Backupfestplatte. Der Konverter des neuen Gehäuses (Innostor Technology Corporation IS888, USB Kennung 1f75:0888) macht jedoch ebenso wie der einer Icy Box IB-RD3621U3 (JMicron JMS562, USB Kennung 152d:0562) nach ca. einem Tag Laufzeit Probleme, sodass ich den XU4 jeweils neu booten musste. Diese ließen sich selbst mit einem Eintrag von z.B. usbstoragequirks=152d:0562:u in die /boot/armbianEnv.txt nicht beheben.

Kategorien
Allgemein

Ziele

Ich möchte einen kleinen Server aufsetzen, auf dem ich z.B. einen privaten Cloud-Dienst laufen lassen kann. Dieser Server soll

  • rund um die Uhr laufen
  • sicher aus dem Internet erreichbar sein
  • erweiterbaren Speicherplatz haben
  • Mediendateien im lokalen Netzwerk bereitstellen

Ich hatte bisher FreeNAS auf einem alten Netbook laufen lassen. Da dessen Speicher aber praktisch nicht erweiterbar war (u.a. mangels USB3) und ich auch mit der Leistung unzufrieden war, möchte ich auf ein anderes System umsteigen.

In den folgenden Beiträgen möchte ich beschreiben, für welche Hard- und Software ich mich entschieden habe und wie ich alles eingerichtet und konfiguriert habe. Mir ist bewusst, dass es bereits zahlreiche derartige Blogs und Tutorials, auch deutschsprachige, im Internet gibt. Zunächst soll dieser Blog daher mir selbst als Dokumentation und auch Linksammlung dienen, mal schauen, was später noch daraus wird.

Zunächst also werde ich den status quo beschreiben. Da das System schon eine ganze Weile läuft, muss ich einiges aus dem Gedächtnis kramen. Ich will aber versuchen, keine Schritte auszulassen und werde den Softwareteil von Null an auf einer virtuellen Maschine einrichten. Das Ergebnis sollte sehr Nah an mein tatsächliches System herankommen.

Später dann möchte ich einige Veränderungen am System durchführen, mit dem Ziel, bei Problemen das System möglichst schnell neu aufsetzen oder bei einem Hardwareausfall unkompliziert auf neue Hardware umziehen zu können. Doch dazu mehr, wenn es soweit ist.

Kategorien
Allgemein

Hallo Welt!

Willkommen auf daniel’s tech blog. Dieser blog richtet sich in erster Linie an mich selbst und soll dazu dienen, meine Heim-IT zu dokumentieren. Möglicherweise hilft es aber auch dem ein oder der anderen dabei, das eigene System zu konfigurieren. Viel Spaß beim lesen!