PepperTools Ratgeber
Technik & Server

Froxlor installieren und konfigurieren: Schritt-für-Schritt für Einsteiger (Teil 2 von 3)

Teil 2 der Serie „Eigener Server – von 0 auf sicher": Froxlor als kostenloses Server-Panel auf Debian 12 installieren – vom LAMP-Stack über die Repository-Installation und den Web-Installer bis zum Einspielen der Konfigurationen und HTTPS per Let's Encrypt. Inkl. Subkapitel zu häufigen Problemen (Cron, Let's Encrypt) mit kopierbaren Befehlen.

Froxlor installieren und konfigurieren: Schritt-für-Schritt für Einsteiger (Teil 2 von 3)

Froxlor installieren und konfigurieren: Schritt-für-Schritt für Einsteiger (Teil 2 von 3)

Serie „Eigener Server – von 0 auf sicher" · 3 Teile:

  1. Debian-vServer einrichten & absichern
  2. Froxlor installieren & konfigurierenSie sind hier
  3. E-Mail richtig einrichten: SPF, DKIM & DMARC

Diese Anleitung ist Teil 2. Sie setzt einen sicheren Server voraus, wie wir ihn in Teil 1 eingerichtet haben. Hier installieren wir Froxlor und spielen die Server-Konfigurationen ein. In Teil 3 folgt der E-Mail-Versand.

Froxlor installieren und konfigurieren

Inhalt


Froxlor ist ein kostenloses Server-Verwaltungs-Panel. Damit verwalten Sie Domains, Webseiten, SSL-Zertifikate, E-Mail-Konten und Datenbanken bequem über eine Weboberfläche – statt jede Einstellung von Hand auf der Konsole zu erledigen. Das Besondere: Froxlor schreibt die Konfigurationsdateien für Webserver, PHP, Datenbank und Mail für Sie. Genau dieses „Konfigurationen einspielen" ist der Kern dieser Anleitung.

Wir bleiben einsteigerfreundlich: jeder Schritt zum Kopieren, jede Aktion erklärt. Wir nutzen Debian 12 mit Apache als Webserver.

Tipp: Alle Befehle führen Sie als der in Teil 1 angelegte Benutzer mit sudo aus. Ersetzen Sie Platzhalter wie server.ihre-domain.de und STARKES-PASSWORT durch Ihre echten Werte.

Voraussetzungen

  • Ein abgesicherter Debian-12-Server mit sudo-Benutzer und offener Firewall für Ports 80/443 – genau das Ergebnis aus Teil 1.
  • Eine Domain, die auf die IP Ihres Servers zeigt (ein A-Record im DNS Ihres Domain-Anbieters). Für das Panel verwenden wir eine Subdomain, z. B. server.ihre-domain.de.
  • SSH-Zugang zum Server.

Schritt 1: Server vorbereiten (Hostname prüfen)

Froxlor braucht einen vollständigen Hostnamen (FQDN). Setzen Sie ihn und tragen Sie ihn in die Hosts-Datei ein. Ersetzen Sie server.ihre-domain.de und SERVER-IP:

sudo hostnamectl set-hostname server.ihre-domain.de
echo "SERVER-IP server.ihre-domain.de server" | sudo tee -a /etc/hosts

Stellen Sie sicher, dass das System aktuell ist:

sudo apt update && sudo apt full-upgrade -y

Prüfen Sie den vollständigen Namen – es sollte server.ihre-domain.de erscheinen:

hostname -f

Schritt 2: Den LAMP-Stack installieren (Webserver, Datenbank, PHP)

„LAMP" steht für Linux, Apache, MariaDB und PHP – die Basis, auf der Froxlor und Ihre Webseiten laufen. Alles in einem Befehl installieren:

sudo apt install -y apache2 mariadb-server \
  php php-fpm php-cli php-mysql php-curl php-gd php-intl php-mbstring \
  php-xml php-zip php-bcmath php-soap \
  libapache2-mod-php unzip

Datenbank-Server absichern (vergeben Sie ein Root-Passwort, alle weiteren Fragen mit Y beantworten):

sudo mysql_secure_installation

Schritt 3: Eine Datenbank für Froxlor anlegen

Froxlor speichert seine Einstellungen in einer eigenen Datenbank. Diese legt der Web-Installer in Schritt 5 normalerweise selbst an – Sie brauchen dafür nur die Zugangsdaten des Datenbank-Root-Benutzers, die Sie gerade vergeben haben. Sie können die Datenbank aber auch jetzt schon vorbereiten:

sudo mysql -e "CREATE DATABASE froxlor CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'froxlor'@'localhost' IDENTIFIED BY 'STARKES-PASSWORT';
GRANT ALL PRIVILEGES ON froxlor.* TO 'froxlor'@'localhost';
FLUSH PRIVILEGES;"

Notieren Sie sich froxlor (Datenbank & Benutzer) und Ihr STARKES-PASSWORT – die Werte brauchen Sie gleich im Web-Installer.

Schritt 4: Froxlor über das offizielle Repository installieren

Wir installieren Froxlor aus der offiziellen Paketquelle – so erhalten Sie automatisch Updates. Zuerst Hilfspakete und den Signaturschlüssel einrichten:

sudo apt install -y apt-transport-https lsb-release ca-certificates curl gnupg
sudo curl -fsSL https://deb.froxlor.org/froxlor.gpg -o /etc/apt/trusted.gpg.d/froxlor.gpg

Die Paketquelle hinzufügen und Froxlor installieren:

echo "deb https://deb.froxlor.org/debian $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/froxlor.list
sudo apt update
sudo apt install -y froxlor

Hinweis: Sollte sich die Repository-Adresse einmal ändern, finden Sie die jeweils aktuellen Befehle in der offiziellen Froxlor-Installationsdoku. Alternativ gibt es eine Installation per Tarball, falls Sie kein Repository nutzen möchten.

Froxlor liegt jetzt unter /var/www/froxlor. Damit Apache das Panel ausliefert, aktivieren wir das mitgelieferte vHost-Beispiel (oder legen einen eigenen vHost an). Für den schnellen Start genügt:

sudo a2enmod rewrite
sudo systemctl reload apache2

Schritt 5: Den Froxlor-Web-Installer durchlaufen

Jetzt geht es im Browser weiter. Rufen Sie das Panel auf (zunächst über die IP oder die Subdomain):

http://server.ihre-domain.de/froxlor

Der Einrichtungs-Assistent führt Sie durch wenige Schritte:

  1. Systemprüfung – fehlt etwas, zeigt Froxlor es rot an und nennt das nachzuinstallierende Paket.
  2. Datenbank – tragen Sie die Daten aus Schritt 3 ein (Datenbank froxlor, Benutzer froxlor, Ihr Passwort) sowie die Zugangsdaten des Datenbank-Root-Benutzers.
  3. Administrator-Konto – legen Sie Benutzername und ein starkes Passwort für Ihren Froxlor-Login fest.
  4. Abschluss – Froxlor schreibt seine Konfiguration und leitet Sie zum Login weiter.

Melden Sie sich anschließend mit Ihrem Admin-Konto an. Sie sehen jetzt das Froxlor-Dashboard.

Schritt 6: Froxlor-Konfigurationen einspielen (der wichtigste Teil)

Froxlor weiß nun, wie Ihre Webseiten und Dienste konfiguriert sein sollen – aber es muss diese Konfiguration noch auf den Server schreiben. Das passiert an zwei Stellen.

6.1 Dienste auswählen. Im Froxlor-Menü unter System → Einstellungen wählen Sie, welche Software Sie nutzen: als Webserver Apache 2.4, dazu PHP-FPM (für schnelle, getrennte PHP-Ausführung) sowie optional E-Mail-Dienste (Postfix/Dovecot, dazu mehr in Teil 3). Aktivieren Sie mindestens „Apache" und „PHP-FPM" und speichern Sie.

6.2 Die Konfigurationsbefehle übernehmen. Im Menü System → Konfiguration zeigt Froxlor Ihnen – passend zu Ihrer Distribution und den gewählten Diensten – die exakten Befehle und Konfigurationsschnipsel, die Sie einmalig auf dem Server ausführen müssen (z. B. Apache-Module aktivieren, PHP-FPM-Pools einrichten). Arbeiten Sie diese Liste von oben nach unten ab und kopieren Sie jeden Befehl in Ihre SSH-Sitzung. Die offizielle Doku beschreibt diesen Schritt ausführlich unter Froxlor – Configuration.

6.3 Den Froxlor-Cron einrichten. Damit Froxlor künftig automatisch die Konfigurationen schreibt (sobald Sie z. B. eine neue Domain anlegen) und SSL-Zertifikate erneuert, richten wir seinen Hintergrund-Dienst ein. Führen Sie den Cron einmalig manuell aus, um zu testen (-f erzwingt das Neuschreiben der Configs, -d zeigt eine ausführliche Debug-Ausgabe):

sudo -u www-data php /var/www/froxlor/bin/froxlor-cli froxlor:cron -f -d

Damit das regelmäßig läuft, aktivieren Sie den mitgelieferten systemd-Timer (oder tragen einen Cronjob ein). Mit Timer:

sudo systemctl enable --now froxlor.timer 2>/dev/null || \
( echo "* * * * * www-data /usr/bin/php /var/www/froxlor/bin/froxlor-cli froxlor:cron" | sudo tee /etc/cron.d/froxlor )

Ab jetzt setzt Froxlor Ihre Änderungen aus dem Panel selbstständig auf dem Server um. Den genauen Pfad und aktuelle Cron-Befehle finden Sie in der Froxlor-Doku zum Cronjob.

Schritt 7: HTTPS mit Let's Encrypt aktivieren

Ihr Panel und Ihre Webseiten sollen verschlüsselt (per HTTPS) erreichbar sein. Froxlor bringt dafür eine Let's-Encrypt-Anbindung mit. Aktivieren Sie sie unter System → Einstellungen → SSL/Let's Encrypt: tragen Sie eine Kontakt-E-Mail ein und schalten Sie „Let's Encrypt aktivieren" ein.

Anschließend können Sie bei jeder Domain in Froxlor das Häkchen „Let's Encrypt" setzen – das Zertifikat wird automatisch erstellt und durch den Cron aus Schritt 6 erneuert. Hintergründe zu Let's Encrypt finden Sie bei Let's Encrypt selbst und zum Standard-Tool bei Certbot.

Schritt 8: Erste Domain und ersten Kunden anlegen

Zum Schluss legen wir eine Webseite an. In Froxlor läuft das so:

  1. Kunde anlegen: Menü Kunden → Neu. Auch wenn Sie nur sich selbst verwalten, brauchen Sie einen „Kunden" als Besitzer der Domains.
  2. Domain hinzufügen: Menü Domains → Neu, Domain eintragen (z. B. ihre-domain.de), dem Kunden zuweisen, PHP-Version und – falls gewünscht – „Let's Encrypt" und „Weiterleitung auf HTTPS" aktivieren.
  3. Warten Sie kurz, bis der Froxlor-Cron (Schritt 6) gelaufen ist – dann ist die Domain live.

Die Dateien Ihrer Webseite legen Sie anschließend im Verzeichnis des Kunden ab (Froxlor zeigt den Pfad an). Damit ist Ihr Server ein vollwertiges, über die Oberfläche verwaltbares Hosting-System.

Häufige Probleme und ihre Lösung

Froxlor ist mächtig, zickt aber gelegentlich. Hier die häufigsten Stolperstellen aus der Praxis – jeweils mit kopierbaren Befehlen. Alle Befehle führen Sie als der sudo-Benutzer per SSH aus. (Der Pfad zu Froxlor ist bei der Repository-Installation /var/www/froxlor; bei manchen Setups /var/www/html/froxlor – passen Sie ihn ggf. an.)

Froxlor übernimmt Änderungen nicht (Cron läuft nicht)

Wenn neue Domains, vHosts oder Einstellungen nicht auf dem Server ankommen, hängt es fast immer am Cron. Führen Sie ihn manuell aus und erzwingen Sie das Neuschreiben aller Konfigurationen (-f) mit Debug-Ausgabe (-d):

sudo -u www-data php /var/www/froxlor/bin/froxlor-cli froxlor:cron -f -d

Nur die Webserver-/Dienst-Konfigurationen neu erzeugen (Task 1):

sudo -u www-data php /var/www/froxlor/bin/froxlor-cli froxlor:cron -r 1 -f -d

Falls der automatische Lauf ganz fehlt, lassen Sie Froxlor die Cron-Datei neu schreiben (Task 99) und prüfen Sie den Timer/Cronjob:

sudo -u www-data php /var/www/froxlor/bin/froxlor-cli froxlor:cron -r 99
systemctl status froxlor.timer
cat /etc/cron.d/froxlor

Älteres Froxlor (v0.10): Dort heißt der Befehl php -q /var/www/froxlor/scripts/froxlor_master_cronjob.php --force --debug. Alle CLI-Optionen stehen in der offiziellen CLI-Doku.

Let's Encrypt zickt: kein Zertifikat oder Erneuerung schlägt fehl

Zuerst die häufigsten Ursachen ausschließen: php-curl muss installiert sein, Port 80 muss offen sein (Let's Encrypt prüft darüber), der A-Record der Domain muss auf den Server zeigen, und es darf kein Wildcard/kein Alias verwendet werden.

sudo apt install -y php-curl
sudo ufw allow 80/tcp

Den Zertifikatslauf mit Debug-Ausgabe anstoßen – so sehen Sie die genaue Fehlermeldung:

sudo -u www-data php /var/www/froxlor/bin/froxlor-cli froxlor:cron -d

Wurden Pfade (DocumentRoot/ACME-Verzeichnis) geändert, reparieren Sie die acme.sh-Konfiguration:

sudo -u www-data php /var/www/froxlor/bin/froxlor-cli froxlor:validate-acme-webroot -A

Wenn das Zertifikat partout nicht erneuert wird, erzwingen Sie die Erneuerung direkt über acme.sh (Domain ersetzen; bei ECDSA-Zertifikaten zusätzlich --ecc anhängen):

sudo bash /root/.acme.sh/acme.sh --renew -d ihre-domain.de --force

Älteres Froxlor (v0.10): Der Let's-Encrypt-Lauf wird dort separat angestoßen mit php -q /var/www/froxlor/scripts/froxlor_master_cronjob.php --letsencrypt --debug.

„500 Internal Server Error" direkt nach dem Anlegen einer Domain

Meist ist PHP-FPM noch nicht aktiviert oder die Konfiguration nicht geschrieben. Configs neu erzeugen und Dienste neu starten:

sudo -u www-data php /var/www/froxlor/bin/froxlor-cli froxlor:cron -r 1 -f
sudo systemctl restart php8.3-fpm apache2

Aus dem Froxlor-Panel ausgesperrt (zu viele Fehlversuche)

Froxlor sperrt Konten nach mehreren Fehlversuchen. Den Admin wieder entsperren:

sudo -u www-data php /var/www/froxlor/bin/froxlor-cli froxlor:user -u admin

Panel oder Webseite nicht erreichbar

Erst die Firewall, dann Apache prüfen:

sudo ufw allow 80,443/tcp
sudo systemctl status apache2
sudo tail -n 50 /var/log/apache2/error.log

SSL funktioniert nicht: Port 443 fehlt

Damit Froxlor HTTPS-vHosts schreiben kann, muss in Ressourcen → IPs & Ports ein Eintrag mit Port 443 und aktivierter SSL-Option existieren. Legen Sie ihn an und lassen Sie danach den Cron mit -f laufen (siehe oben).

Checkliste

  • [ ] Hostname/FQDN gesetzt, hostname -f korrekt
  • [ ] LAMP-Stack installiert, Datenbank abgesichert
  • [ ] Froxlor über Repository installiert, Web-Installer abgeschlossen
  • [ ] Dienste (Apache, PHP-FPM) ausgewählt und Konfiguration eingespielt
  • [ ] Froxlor-Cron läuft (Timer/Cronjob aktiv)
  • [ ] HTTPS/Let's Encrypt aktiviert
  • [ ] Erster Kunde + erste Domain angelegt und erreichbar

Wie geht es weiter?

Ihr Server kann jetzt Webseiten hosten. Im letzten Teil sorgen wir dafür, dass auch der E-Mail-Versand funktioniert – und zwar so, dass Ihre Nachrichten nicht im Spam landen. Dafür richten wir SPF, DKIM und DMARC ein:

👉 Teil 3: E-Mail richtig einrichten: SPF, DKIM & DMARC

Den Ausgangspunkt – den abgesicherten Server – beschreibt Teil 1: Debian-vServer einrichten & absichern.

Sie brauchen ein individuelles Plugin, eine Schnittstelle oder eine maßgeschneiderte Web-Lösung? PepperTools entwickelt das für Sie – melden Sie sich übers Kontaktformular.

Quellen

Stand: Juni 2026. Befehle, Pfade und Repository-Adressen können sich mit neuen Versionen ändern – maßgeblich ist die offizielle Froxlor-Dokumentation.

Rechnungen einfacher erledigen

Easy Invoice bündelt Angebote, Rechnungen und Kundenverwaltung in der Cloud.

Easy Invoice testen

Sprachversionen