PepperTools Gids
Techniek & servers

Froxlor installeren en configureren: stap-voor-stap voor beginners (Deel 2 van 3)

Deel 2 van de serie „Eigen server – van 0 naar veilig": Froxlor als gratis serverpaneel op Debian 12 installeren – van de LAMP-stack via de repository-installatie en de webinstaller tot het toepassen van de configuraties en HTTPS via Let's Encrypt. Incl. subhoofdstukken over veelvoorkomende problemen (cron, Let's Encrypt) met commando's om te kopiëren.

Froxlor installeren en configureren: stap-voor-stap voor beginners (Deel 2 van 3)

Froxlor installeren en configureren: stap-voor-stap voor beginners (Deel 2 van 3)

Serie „Eigen server – van 0 naar veilig" · 3 delen:

  1. Een Debian-vServer instellen & beveiligen
  2. Froxlor installeren & configurerenJe bent hier
  3. E-mail goed instellen: SPF, DKIM & DMARC

Dit is Deel 2. Het gaat uit van een veilige server zoals we die in Deel 1 hebben ingericht. Hier installeren we Froxlor en passen we de serverconfiguraties toe. E-mail volgt in Deel 3.

Froxlor installieren und konfigurieren

Inhoud


Froxlor is een gratis serverbeheerpaneel. Daarmee beheer je domeinen, websites, SSL-certificaten, e-mailaccounts en databases gemakkelijk via een webinterface – in plaats van elke instelling met de hand op de console te doen. Het bijzondere: Froxlor schrijft de configuratiebestanden voor webserver, PHP, database en mail voor je. Precies dit „configuraties toepassen" is de kern van deze gids.

We blijven beginnersvriendelijk: elke stap om te kopiëren, elke actie uitgelegd. We gebruiken Debian 12 met Apache als webserver.

Tip: Voer alle commando's uit als de in Deel 1 aangemaakte gebruiker met sudo. Vervang plaatshouders als server.jouw-domein.nl en STERK-WACHTWOORD door je echte waarden.

Vereisten

  • Een beveiligde Debian 12-server met sudo-gebruiker en open firewall voor poorten 80/443 – precies het resultaat uit Deel 1.
  • Een domein dat naar het IP van je server wijst (een A-record in de DNS van je domeinaanbieder). Voor het paneel gebruiken we een subdomein, bijv. server.jouw-domein.nl.
  • SSH-toegang tot de server.

Stap 1: De server voorbereiden (hostnaam controleren)

Froxlor heeft een volledige hostnaam (FQDN) nodig. Stel hem in en voeg hem toe aan het hosts-bestand. Vervang server.jouw-domein.nl en SERVER-IP:

sudo hostnamectl set-hostname server.jouw-domein.nl
echo "SERVER-IP server.jouw-domein.nl server" | sudo tee -a /etc/hosts

Zorg dat het systeem actueel is:

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

Controleer de volledige naam – er zou server.jouw-domein.nl moeten verschijnen:

hostname -f

Stap 2: De LAMP-stack installeren (webserver, database, PHP)

„LAMP" staat voor Linux, Apache, MariaDB en PHP – de basis waarop Froxlor en je websites draaien. Alles in één commando installeren:

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

Databaseserver beveiligen (geef een root-wachtwoord, alle verdere vragen met Y beantwoorden):

sudo mysql_secure_installation

Stap 3: Een database voor Froxlor aanmaken

Froxlor bewaart zijn instellingen in een eigen database. De webinstaller in Stap 5 maakt die normaal zelf aan – daarvoor heb je alleen de inloggegevens van de database-root-gebruiker nodig die je net hebt ingesteld. Je kunt de database echter ook nu al voorbereiden:

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

Noteer froxlor (database & gebruiker) en je STERK-WACHTWOORD – die waarden heb je zo nodig in de webinstaller.

Stap 4: Froxlor via de officiële repository installeren

We installeren Froxlor uit de officiële pakketbron – zo krijg je automatisch updates. Eerst hulppakketten en de ondertekensleutel inrichten:

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

De pakketbron toevoegen en Froxlor installeren:

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

Let op: Mocht het repository-adres ooit veranderen, dan vind je de actuele commando's in de officiële Froxlor-installatiedocumentatie. Als alternatief is er een installatie via tarball, als je geen repository wilt gebruiken.

Froxlor staat nu in /var/www/froxlor. Opdat Apache het paneel uitlevert, activeren we de meegeleverde voorbeeld-vHost (of maken een eigen). Voor een snelle start volstaat:

sudo a2enmod rewrite
sudo systemctl reload apache2

Stap 5: De Froxlor-webinstaller doorlopen

Nu gaat het verder in de browser. Roep het paneel op (eerst via het IP of het subdomein):

http://server.jouw-domein.nl/froxlor

De installatie-assistent leidt je door een paar stappen:

  1. Systeemcontrole – ontbreekt er iets, dan toont Froxlor het rood en noemt het na te installeren pakket.
  2. Database – vul de gegevens uit Stap 3 in (database froxlor, gebruiker froxlor, je wachtwoord) en de inloggegevens van de database-root-gebruiker.
  3. Administratoraccount – stel een gebruikersnaam en een sterk wachtwoord in voor je Froxlor-login.
  4. Afsluiting – Froxlor schrijft zijn configuratie en leidt je naar de login.

Meld je daarna aan met je adminaccount. Je ziet nu het Froxlor-dashboard.

Stap 6: Froxlor-configuraties toepassen (het belangrijkste deel)

Froxlor weet nu hoe je websites en diensten geconfigureerd moeten zijn – maar het moet die configuratie nog naar de server schrijven. Dat gebeurt op twee plaatsen.

6.1 Diensten kiezen. In het Froxlor-menu onder Systeem → Instellingen kies je welke software je gebruikt: als webserver Apache 2.4, plus PHP-FPM (voor snelle, gescheiden PHP-uitvoering) en optioneel e-maildiensten (Postfix/Dovecot, meer daarover in Deel 3). Activeer minstens „Apache" en „PHP-FPM" en sla op.

6.2 De configuratiecommando's overnemen. In het menu Systeem → Configuratie toont Froxlor je – passend bij je distributie en de gekozen diensten – de exacte commando's en configuratiefragmenten die je eenmalig op de server moet uitvoeren (bijv. Apache-modules activeren, PHP-FPM-pools inrichten). Werk deze lijst van boven naar beneden af en kopieer elk commando in je SSH-sessie. De officiële documentatie beschrijft deze stap uitvoerig onder Froxlor – Configuration.

6.3 De Froxlor-cron inrichten. Opdat Froxlor voortaan automatisch de configuraties schrijft (zodra je bijv. een nieuw domein aanmaakt) en SSL-certificaten vernieuwt, richten we zijn achtergronddienst in. Voer de cron eenmalig handmatig uit om te testen (-f forceert het herschrijven van de configs, -d toont uitvoerige debug-uitvoer):

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

Opdat dat regelmatig draait, activeer je de meegeleverde systemd-timer (of voeg een cronjob toe). Met 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 )

Vanaf nu past Froxlor je wijzigingen uit het paneel zelfstandig op de server toe. Het exacte pad en actuele cron-commando's vind je in de Froxlor-documentatie over de cronjob.

Stap 7: HTTPS met Let's Encrypt activeren

Je paneel en je websites moeten versleuteld (via HTTPS) bereikbaar zijn. Froxlor brengt daarvoor een Let's Encrypt-koppeling mee. Activeer die onder Systeem → Instellingen → SSL/Let's Encrypt: vul een contact-e-mail in en zet „Let's Encrypt activeren" aan.

Daarna kun je bij elk domein in Froxlor het vinkje „Let's Encrypt" zetten – het certificaat wordt automatisch aangemaakt en door de cron uit Stap 6 vernieuwd. Achtergrond over Let's Encrypt vind je bij Let's Encrypt zelf en over de standaardtool bij Certbot.

Stap 8: Eerste domein en eerste klant aanmaken

Tot slot maken we een website aan. In Froxlor gaat dat zo:

  1. Klant aanmaken: menu Klanten → Nieuw. Ook al beheer je alleen jezelf, je hebt een „klant" als eigenaar van de domeinen nodig.
  2. Domein toevoegen: menu Domeinen → Nieuw, domein invoeren (bijv. jouw-domein.nl), aan de klant toewijzen, PHP-versie en – indien gewenst – „Let's Encrypt" en „doorsturen naar HTTPS" activeren.
  3. Wacht even tot de Froxlor-cron (Stap 6) is gedraaid – dan is het domein live.

De bestanden van je website plaats je daarna in de map van de klant (Froxlor toont het pad). Daarmee is je server een volwaardig, via de interface beheerbaar hostingsysteem.

Veelvoorkomende problemen en hun oplossing

Froxlor is krachtig, maar zeurt soms. Hier de meest voorkomende valkuilen uit de praktijk – telkens met commando's om te kopiëren. Voer alle commando's uit als de sudo-gebruiker via SSH. (Het pad naar Froxlor is bij de repository-installatie /var/www/froxlor; bij sommige setups /var/www/html/froxlor – pas het zo nodig aan.)

Froxlor past wijzigingen niet toe (cron draait niet)

Als nieuwe domeinen, vHosts of instellingen niet op de server aankomen, ligt het bijna altijd aan de cron. Voer hem handmatig uit en forceer het herschrijven van alle configuraties (-f) met debug-uitvoer (-d):

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

Alleen de webserver-/dienstconfiguraties opnieuw genereren (taak 1):

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

Ontbreekt de automatische run helemaal, laat Froxlor dan de cron-file opnieuw schrijven (taak 99) en controleer de 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

Ouder Froxlor (v0.10): daar heet het commando php -q /var/www/froxlor/scripts/froxlor_master_cronjob.php --force --debug. Alle CLI-opties staan in de officiële CLI-documentatie.

Let's Encrypt zeurt: geen certificaat of vernieuwing mislukt

Sluit eerst de meest voorkomende oorzaken uit: php-curl moet geïnstalleerd zijn, poort 80 moet open zijn (Let's Encrypt controleert erover), het A-record van het domein moet naar de server wijzen, en er mag geen wildcard/geen alias worden gebruikt.

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

Start de certificaatrun met debug-uitvoer – zo zie je de exacte foutmelding:

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

Zijn paden (DocumentRoot/ACME-map) gewijzigd, repareer dan de acme.sh-configuratie:

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

Wil het certificaat absoluut niet vernieuwen, forceer dan de vernieuwing rechtstreeks via acme.sh (domein vervangen; bij ECDSA-certificaten extra --ecc toevoegen):

sudo bash /root/.acme.sh/acme.sh --renew -d jouw-domein.nl --force

Ouder Froxlor (v0.10): de Let's-Encrypt-run wordt daar apart gestart met php -q /var/www/froxlor/scripts/froxlor_master_cronjob.php --letsencrypt --debug.

„500 Internal Server Error" direct na het aanmaken van een domein

Meestal is PHP-FPM nog niet geactiveerd of de configuratie niet geschreven. Configs opnieuw genereren en diensten herstarten:

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

Buitengesloten uit het Froxlor-paneel (te veel mislukte pogingen)

Froxlor vergrendelt accounts na meerdere mislukte pogingen. De admin weer ontgrendelen:

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

Paneel of website niet bereikbaar

Controleer eerst de firewall, dan Apache:

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

SSL werkt niet: poort 443 ontbreekt

Opdat Froxlor HTTPS-vHosts kan schrijven, moet er onder Bronnen → IPs & Ports een vermelding met poort 443 en geactiveerde SSL-optie bestaan. Maak die aan en laat daarna de cron met -f draaien (zie boven).

Checklist

  • [ ] Hostnaam/FQDN ingesteld, hostname -f correct
  • [ ] LAMP-stack geïnstalleerd, database beveiligd
  • [ ] Froxlor via repository geïnstalleerd, webinstaller afgerond
  • [ ] Diensten (Apache, PHP-FPM) gekozen en configuratie toegepast
  • [ ] Froxlor-cron draait (timer/cronjob actief)
  • [ ] HTTPS/Let's Encrypt geactiveerd
  • [ ] Eerste klant + eerste domein aangemaakt en bereikbaar

Hoe gaat het verder?

Je server kan nu websites hosten. In het laatste deel zorgen we dat ook de e-mailverzending werkt – en wel zo dat je berichten niet in de spam belanden. Daarvoor richten we SPF, DKIM en DMARC in:

👉 Deel 3: E-mail goed instellen: SPF, DKIM & DMARC

Het uitgangspunt – de beveiligde server – beschrijft Deel 1: Een Debian-vServer instellen & beveiligen.

Heb je een individueel plugin, een koppeling of een maatwerk-weboplossing nodig? PepperTools ontwikkelt het voor je – meld je via het contactformulier.

Bronnen

Stand: juni 2026. Commando's, paden en repository-adressen kunnen met nieuwe versies veranderen – maatgevend is de officiële Froxlor-documentatie.

Facturen eenvoudiger beheren

Easy Invoice combineert offertes, facturen en klantenbeheer in de cloud.

Easy Invoice proberen

Taalversies