Ich selber Hoste, Warte und Pflege Webhosting Server seit über 15 Jahren und bin nun auf das meiner Meinung nach besten kostenfreien Software dafür gestoßen und zwar das CloudPanel.io.

Wer Webseiten sauber im Internet präsentiere möchte, der braucht einen Webserver. Bestenfalls mit ein oder mehreren Datenbanken, optimiert für PHP, Node.js und Python Programmiersprachen. Die Anforderungsliste wird immer länger und gute Produkte damit immer weniger.

Aber jetzt habe ich ein Produkt gefunden, was meinen Anforderungen absolut gerecht wird und dabei auch noch super Lightweight ist. Alle Funktionen welche ICH benötige bringt Cloudpanel.io direkt mit und installiert keinen zusätzlichen Datenmüll.

Was macht Cloudpanel.io wirklich aus?

Aus meiner Sicht in Erster Linie positiv zu erwähnen ist das Topic “Lightweight”. Das Gilt für das Cloud Dashboard, sowie zur Installation im Backend. Es wird nur das installiert, was wirklich benötigt wird. Das Thema wie Mailserver wird direkt ignoriert und garnicht erst installiert. Super.

Das gesamte Cloud Dashboard von Cloudpanel ist super einfach zu verstehen und stellt wirklich nur das dar, was Otto-Normalverbrauch wirklich braucht.

Was bringt CloudPanel technisch so mit?

Achtung jetzt wird es technisch und einfach voll mit Fakten.

Cloudpanel installiert als Webserver den NGINX und haut direkt eine individuelle Konfig auf die Kiste drauf. Die Konfig ist Zeitgemäß und beinhaltet alle zunächst wichtigen und relevanten Security Features in der Konfiguration.

Bei der Installation hast DU die Wahl welche Datenbank du installiert haben möchtest, MySQL direkt oder MariaDB. Alle gängigen PHP Versionen werden direkt mit installiert. In jedem Projekt kann frei entschieden werden, welche Version benutzt werden soll. Von PHP 7.4 bis PHP8.3 aktuell ist alles dabei.

Zurück zum Security Aspekt. Das Cloudpanel bringt auch gängige und normal anwendbare Firewall Funktionen mit, welche nicht überladen und mit hunderten Optionen einstellbar sind. Nein, einfach ein Port auf – zu IPv4 – IPv6 und fertig. Super gelöst.

Die wichtigsten PHP Optionen können direkt in jedem Webprojekt / Site eingestellt werden, ohne in der PHP.ini fummeln zu müssen. Pagespeed und Varnish Cache sind ebenfalls beide direkt an Board und können mit einem Klick sehr einfach aktiviert werden.

Let’s Encrypt Zertifikate werden ebenfalls mit einem einzigen Klick ausgerollt, jedenfalls über die übliche HTTP-Challenge.

Cloudpanel in der Hetzner Cloud

Cloudpanel hat scheinbar so wie ich selber einen guten Draht zu Hetzner. Die Cloud von Hetzner kann direkt eingebunden werden. Zumindest was Snapshots betrifft.

Wer das Thema Cloudpanel mal ausprobieren will, dem empfehle ich ohnehin das in der Cloud zu tun oder eben bei sich Zuhause in einer virtuellen Maschine. Doch wenn es um eine Produktive Maschine im Internet gehen soll, dann natürlich ab direkt in die Cloud. Bei Hetzner bekommt Ihr über meinen Link noch direkt 20€ Cloud-Guthaben dazu geschenkt. Hier geht es zum Angebot.

Backup Script für Cloudpanel.io

#!/bin/bash

# Konfiguration
SOURCE_FOLDER="/home"
EXCLUDE_FOLDER=("mysql")
BACKUP_FOLDER="/pfad/zum/backup/ordner"
MYSQL_USER="dein_mysql_benutzer"
MYSQL_PASSWORD="dein_mysql_passwort"

# Erstelle das Backup-Verzeichnis, wenn es nicht existiert
mkdir -p $BACKUP_FOLDER

# Erstelle einen Dateinamen mit dem aktuellen Datum und Uhrzeit
DATE=$(date +"%Y%m%d_%H%M%S")

# Sichere den /home-Ordner und schließe /home/mysql aus
tar --exclude=$SOURCE_FOLDER/${EXCLUDE_FOLDER[0]} -czf $BACKUP_FOLDER/backup_$DATE.tar.gz $SOURCE_FOLDER

# Sichere alle MySQL-Datenbanken
DATABASES=$(mysql -u $MYSQL_USER -p$MYSQL_PASSWORD -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema|mysql)")
for DB in $DATABASES
do
    mysqldump -u $MYSQL_USER -p$MYSQL_PASSWORD --databases $DB > $BACKUP_FOLDER/db_backup_${DATE}_${DB}.sql
done

# Lösche Backups, die älter als 10 Tage sind
find $BACKUP_FOLDER -type f -name "backup_*" -mtime +10 -exec rm {} \;

# Lösche SQL-Backups, die älter als 10 Tage sind
find $BACKUP_FOLDER -type f -name "db_backup_*" -mtime +10 -exec rm {} \;