Suche nach:
Proxmox VE installieren und mit Updates ohne Subscription-Meldung konfigurieren

Ein Virtual Environment ist was feines, auch für Zuhause. Um so besser, wenn es kostenfrei ist!
Auch den bekanntesten Hyper Visor „VMWare ESXi“ kann man kostenlos privat nutzen, dennoch mit ein paar Einschränkungen wie dem fehlenden vCenter. Zudem erfordert es einer Registrierung bei VMWare.
Proxmox hingegen kann kostenfrei verwendet werden und bietet eine Menge an Möglichkeiten. Zudem unterstützt er LXC-Container was einer schöne Alternative zu Docker-Containern ist. Zudem wird Proxmox von einem deutschen Unternehmen entwickelt und vorangetrieben.

DISCLAIMER
Alle hier vorgestellten Lösungen können auf eigene Gefahr verwendet und durchgeführt werden. Ich übernehme natürlich keine Haftung für etwaige Schäden oder Datenverluste. Also, immer vorsichtig sein und wenn etwas unklar ist, lieber nochmal nachlesen.

Installation
Für die Installation lädt man sich das passende ISO-Image des VE direkt bei Proxmox herunter:
https://www.proxmox.com/de/downloads
Für die Installation muss das Image noch entweder auf CD gebrannt werden (wer das auch immer noch tut!?!?) oder besser auf einen USB-Stick gespielt werden.
Dazu kann man die App BalenaEtcher kostenfrei herunterladen. Nach der Installation steckt man seinen USB-Stick ein, wählt das zu kopierende Image/Iso aus, wählt den USB-Stick und schon geht es los.

Nach dem alles Kopiert ist und der USB-Stick sicher entfernt wurde, kann er im Zielrechner eingesteckt werden. Damit der Rechner von USB bootet, muss eventuell im BIOS/UEFI die Option zum USB-Boot aktiviert werden. Lest dazu gerne online zu eurem Rechner nach, wenn euch der Schritt nicht klar ist.

Ansonsten werden euch während der Installation nicht viele Fragen gestellt. Die Sprachen und der Ort sind einfach nach den eigenen Wünschen zu konfigurieren. Danach folgt die Frage nach dem zu verwendeten Datenträger. Hier wählt man die SSD/HD aus, von der man später booten möchte und das System installiert wird.
Dies kann durchaus eine SD-Karte oder ein USB-Stick sein. Nach dem Bootvorgang läuft das System vollständig im RAM des Rechners. Einzig die Schreibvorgänge der Logs sollten dann ausgelagert werden damit die Datenträger lange durchhalten. Das ist besonders bei SD-Karten notwendig. USB-Sticks lassen nicht so schnell den Kopf hängen.

Nach der Auswahl werdet ihr nach dem Hostname und den IP-Adressen des Rechners, Gateways etc. befragt. Da du gerade einen Hyper-Visor installierst, gehe ich davon aus, dass dir hier klar ist, was eingestellt werden muss. Alternativ kannst du aber alles so lassen wie es ist.

Es folgt die Festlegung des Root-Passwortes und einer eMail-Adresse für eine Passwortrücksetzung.
Danach wird installiert und auch neugestartet.

Ihr landet auf einem schwarzen Screen der euch nun anweist die Konfiguration des VE auf der IP-Adresse durchzuführen:
Zum Beispiel: https://192.168.xxx.xxx:8006

Ruft man nun diese Adresse in einem Browser auf, begrüßt euch Proxmox VE auch schon mit einem Login-Fenster. Hier muss nichts angepasst werden!
Als Benutzer wählt ihr „root“ und als Passwort, euer bei der Installation vergebenes Passwort.

Nach dem Login erscheint noch eine „No Subscription“ Meldung. Um die kümmern wir uns später! Einfach mit OK bestätigen.

Löschen der LVM Konfiguration
bei der Installation wird die SSD/HD als LVM konfiguriert. Das ist an sich erstmal eine gute Sache und kann auch so bleiben, sofern man das erste Laufwerk nicht auch als Speicherort für VM´s oder sonstigem verwenden möchte denn dann wäre es schöner wenn man den gesamten Speicherplatz in dem Laufwerk zusammenhängen zur Verfügung hat.
Daher wäre hier der erste Schritt, das LVM zu löschen.
ACHTUNG: Hiermit kann man sich definitiv die Installation zerstören! Wie gesagt, auf eigene Gefahr!

Für die nächsten Schritte braucht man die Shell, die man praktischer Weise direkt im Menü anwählen kann.

1. Ein logisches Laufwerk löschen (/dev/pve/data)

lvremove /dev/pve/data

2. Die Root-Partition vergrößern

lvresize -l +100%FREE /dev/pve/root

3. Das Filesystem vergrößern

resize2fs /dev/mapper/pve-root

Mit dem Befehl „lsblk“ kann man sich nun das Ergebnis anschauen. Man sieht nun neben der SWAP-Partition nur noch eine Partition mit der vollen Größe.

Nun im Datacenter noch im Bereich „Storage“ das LVM löschen damit es nicht als Speicher angeboten wird. Im Bild habe ich das bereits erledigt.

Subscription-Meldung entfernen
Proxmox PVE ist grundsätzlich kostenlos und darf im privaten oder geschäftlichen Umfeld kostenfrei verwendet werden. Darauf werdet ihr bei einigen Aktionen per PupUp Fenster informiert:

Auf der Proxmox Webseite erfahrt ihr auch, welche Vorteile ihr durch eine Subscription genießen könnt. Grundsätzlich sind das hauptsächlich getestete Updates und Support! Dazu kommen wir aber später.
Jetzt wollen wir uns erstmal darum kümmern, dass wir nicht bei jedem Login diese Meldung erhalten.
Dazu gibt es einen zusammenhängenden Befehl den ihr auch in der Shell ausführen müsst:

sed -Ezi.bak "s/(Ext.Msg.show\(\{\s+title: gettext\('No valid sub)/void\(\{ \/\/\1/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service

Keine Sorge, dass ist vollkommen legal. Dennoch möchte ich euch bitten, Proxmox mit einer Community-Subscription zu unterstützen!

Nachdem ihr den Befehl in der Shell ausgeführt habt, passiert erstmal gar nichts. Es erscheint auch keine Bestätigung in der Shell. Alles ok!
Wartet einfach 10 Sekunden, danach loggt ihr euch aus, löscht die ganzen Browser-Cache-Daten und öffnet die Seite wieder, dann sollte die Meldung verschwunden sein. Wenn nicht, keine Sorge, es wird verschwinden. Euer Browser-Cache ist dann einfach noch nicht aktuell.

Updates
Ihr könnt das System aus dem Frontend heraus updaten. Das ist sehr praktisch. Das funktioniert aber nicht sofort denn es sind noch die Repositorys (Paketquellen) der Enterprise-Subscription hinterlegt die euch höchstens einen Fehler auswerfen und/oder kein Update anbieten solange ihr keine Enterprise-Subscription habt.

Proxmox lässt uns aber nicht im Stich. Unter dem Punkt „Repositorys“ können wir die normalen Paketquellen hinzufügen und bekommen damit auch Updates für Proxmox und unser Linux-System.
Dazu einfach auf „Add“ klicken. Es öffnet sich folgendes Fenster:

Dort wählen wir „No-Subscription“ aus und klicken auf „Add“. Jetzt müssen wir noch das Enterprise-Repository abschalten. Dazu wählt ihr es einfach aus und klickt auf „Disable“

Sobald das erledigt ist gibt Proxmox euch auch eine Warnung aus dass dieses Repository nicht für den Produktiv-Einsatz geeignet ist! Das nehmen wir so hin.
Jetzt könnt ihr wieder auf „Updates“ klicken und mit einem „Refresh“ die Updateliste neu laden. Dieses mal ohne Fehlermeldung. Es erscheint ein neues Fenster, sobald dort im Status „Task OK“ steht, kann das Fenster geschlossen werden.

Sollten nun Updates in der Liste angezeigt werden, dann startet diese einfach mit einem Klick auf „>_Upgrade“. Es kann sein das ein Shell-Fenster geöffnet wird und euch darum bittet mit einem „Y“ für „Yes“ die Installation zu bestätigen. Macht das und lasst alles erstmal durchlaufen.

FERTIG
Super, nun habt ihr Proxmox installiert, das gesamte Laufwerk verfügbar gemacht, die Subscription-Meldung abgeschaltet und es möglich gemacht, Updates für das System zu bekommen. Nun könnt ihr mit euren VM´s loslegen 🙂

Quellen:
https://www.proxmox.com/
https://www.vmware.com/
https://www.balena.io/
https://de.wikipedia.org/
https://blog.evoluso.com/proxmox-remove-lvm-local-data/
https://www.antary.de/2022/05/03/proxmox-meldung-no-valid-subscription-entfernen/

Node-Red mit Passwort absichern

In der Standardinstallation ist das Node-Red Webinterface für jeden erreichbar. Das das nicht gerne gewünscht ist, ist klar. Es gibt aber eine einfache Möglichkeit das ganze abzusichern.

Node-Red verwendet den Hash-Wert eines Passwortes, den kann man mit dem Paket node-red-admin der Node-Red installation erzeugen. Aber erstmal das Paket installieren:

sudo npm install -g node-red-admin

Jetzt den Hash eures Passwortes erzeugen

sudo node-red-admin hash-pw

Nun werdet ihr nach eurem Passwort gefragt. Nach der Bestätigung, wird euch der Hash-Wert angezeigt, den kopiert ihr am besten gleich raus.

Jetzt muss die Datei „settings.js“ zum editieren geöffnet werden. Ich verwende dafür VIM. Nano oder jeder andere Editor geht aber natürlich auch. Die Datei sollte im Installationsverzeichnis sein. Ich habe das ganze im Docker laufen, daher ist sie für mich einfach im /config Ordner.

Ist die Datei geöffnet, findet ihr schon auskommentiert folgende Zeilen:

[code]
adminAuth: {
type: "credentials",
users: [{
username: "admin",
password: "your hash",
permissions: "*"
}]
},
[/code]

Dort nun einfach euren gewünschten Benutzernamen eintragen und den Hash-Wert einfügen. Das ganze bleibt in den Anführungszeichen.

Nun noch Node-Red Neustarten. Entweder den Docker-Container oder eben mit „sudo service nodered restart“. Und schon bekommt ihr ein Login-Fenster und eure Installation ist sicher 🙂

Portforwarding (DNAT) auf einer Juniper SRX Firewall an einem DSL Anschluß mit dynamischer IP

Diese Anleitung ist absolut Quick&Dirty. Ich habe so lange gesucht bis ich verstanden hatte, wie es geht und es dann auch zum Laufen zu bringen. Aber wenn man sich grob an diese Liste hält, sollte es hinkommen.
Wenn ich Zeit finde, werde ich die Schritte nochmal einzeln erklären


Steps:

Network->NAT->Destination NAT
Rule-Set erstellen. From Zone „Internal“

Bei Destination Address „0.0.0.0/0“ eingeben. Das sagt, dass jede IP aus jedem Subnetz erlaubt ist. Hier auch dringend den Port eingeben um den es geht.

Dann einen Destinatination NAT Pool erstellen in dem man auf das „+“ klickt.

Dann zu „Security Policies & Objects -> Services“ und eine neue Aplikation erstellen

Dann zu „Security Policies & Objects -> Zone Addresses“ und die Zielsysteme einstellen:

Dann zu „Security Policies & Objects -> Security Policy“
Dort eine neue Internet to Internal Regel erstellen:

Dann die Zielsysteme und Applikationen einstellen.

Tutorial für die Installation von Docker und Portainer auf einem RaspberryPi sowie Grafana

Bei meiner Recherche bin ich auf einen wirklich guten Autoren gestoßen der sehr gut erklärt, wie man Docker mit passender GUI „Portainer“ installiert.
In einem weiteren Tutorial zeigt er, wie man dazu noch Grafana mit InfluxDB und Telegraf als Docker einbindet.

Meiner Meinung nach, die bisher besten Tutorials zu Docker die ich gelesen habe! Schaut mal rein:

https://darkwolfcave.de/raspberry-pi-docker-ohne-probleme-installieren/

https://darkwolfcave.de/raspberry-pi-monitoring-grafana-installieren/

SVN (Subversion) Server auf Linux installieren

Eine Versionsverwaltung ist das A und O eines Entwicklers. Wenn man alleine Arbeitet ist einem ein GIT vielleicht zu groß, hier kommt SVN ins Spiel. Es ist ein zentrales Versionsverwaltungstool welches man sehr einfach installieren und betreiben kann. Hier die Schritte um einen RaspberryPi oder eine andere Linux-Maschine in einen SVN Server zu verwandeln.

Schritt 1: Apache Webserver installieren

Der SVN Server läuft auf einem Apache Web-Server. Der ist mit APT schnell installiert.

sudo apt update
sudo apt -y install apache2 apache2-utils

Schritt 2: Apache SVN mit allen nötigen Tools installieren

sudo apt -y install vim tree subversion libsvn-dev libapache2-mod-svn subversion-tools

Schritt 3: Die nötigen Module für SVN aktivieren und den Apache Server neustarten

sudo a2enmod dav dav_svn
sudo systemctl restart apache2

Schritt 4: Apache SVN Konfiguration anpassen (/etc/apache2/mods-enabled/dav_svn.conf)

Alias /svn1 /media/svnNAS
<Location /svn>

   DAV svn
   SVNParentPath /media/svnNAS

   AuthType Basic
   AuthName "Subversion Repository"
   AuthUserFile /etc/apache2/svn_user/dav_svn.passwd
   Require valid-user
</Location>

Mein SVN Verzeichnis auf dem Server ist „/media/svnNAS“.
Der Link bzw. der Alias ist „/svn“ (http://deinedomainoderip/svn/.

Das AuthFile haben ich unter „/etc/apache2/svn_user/dav_svn.passwd“ abgelegt.

Schritt 5: Apache Server neustarten

sudo systemctl restart apache2

Schritt 6: Benutzer für den SVN Server erstellen

Das ganze muss natürlich sicher sein, dafür legt man eine eigene Datei an die den Benutzernamen und das Passwort (verschlüsselt) speichert. Wie oben bereits beschrieben, habe ich das File in „/etc/apache2/svn_user/dav_svn.passwd“ abgelegt.

htpasswd -cm /etc/apache2/svn_user/dav_svn.passwd admin

Nach der Eingabe wird zugleich das Passwort abgefragt welches der Benutzer haben soll

New password: (PASSWORT)
Re-type new password: (PASSWORTBESTÄTIGEN)
Adding password for user admin

Wir verwenden bei dem Befehl zwei Optionen. Zum einen „c“ welches angibt, dass wir eine neue Datei erstellen wollen. Dieses brauchen wir für neue User danach nicht mehr. Und „m“ welches angibt, dass das eingegebene Passwort per MD5 verschlüsselt wird.

Für neue Benutzer ist der Befehl dann wie folgt:

htpasswd -m /etc/apache2/svn_user/dav_svn.passwd NeuerBenutzer

Schritt 7: Das erste Repository mit „svnadmin“ anlegen

Wie man in der Konfiguration gesehen hat, habe ich meinen Repository-Speicher auf „/media/svnNAS“ abgelegt. Der Ordner „svnNAS“ muss also erst angelegt werden.

mkdir /media/svnNAS

Wenn das erledigt ist, können wir mittels „svnadmin“ unser erstes Repository anlegen

svnadmin create /media/svnNAS/(repo-name)

(repo-name) müsst ihr durch den Namen eures ersten Repositorys ändern!
Dieser Befehl erstellt nun automatisch die passende Ordner und Dateistruktur die benötigt wird,

Schritt 8: Rechte für den Apache

Da der SVN Server auf einem Apache läuft, hat auch nur der Apache die Möglichkeit das Repository aufzurufen. Daher muss das Repository dem Benutzer des Apache zugewiesen sein. In der Regel ist das „www-data“ mit der gleichnamigen Gruppe.

chown -R www-data:www-data  /media/svnNAS

Zusätzlich benötigt der Server die passenden Lese und Schreibrechte

chmod -R 775 /media/svnNAS

Mit der Option „-R“ werden auch Unterordner und Dateien mit diesen Rechten ausgestattet.

Schritt 9: FINALE – Der Test eures SVN Servers

Der Server ist fertig. Das praktisch, man kann euer erstes Repository nun direkt im Browser aufrufen.
Gehen wir davon aus, ihr habt das Repository „MyRepo“ genannt, dann könnt ihr mit folgendem Link das ganze aufrufen:

http://serveripodername/svn/MyRepo

Jetzt solltet ihr aufgefordert werden, euren Benutzernamen und Passwort einzugeben. Danach erscheint euer erster Repository!

Abschließende Wort

Subversion ist in der Regel nicht die erste Wahl, ein GIT hat viele Vorteile. Ich mag Subversion aber für mich Zuhause lieber. Im Falle eines Server-Ausfalls, habe ich aber keinen Zugriff mehr auf meine Daten. Da ist GIT praktischer. Dennoch, für meine privaten Arbeiten, mein bevorzugtes Tool.

Als Tool auf meinem Mac nutze ich Versions. Ein praktisches Tool für die Arbeiten mit einem Subversion-Server.

Und nun, viel Spass damit! Bei Fragen, gerne kommentieren.