Guide d'Installation de Froxlor sur VPS Linux

Guide complet d'installation de Froxlor sur VPS Linux (Debian/Ubuntu). Ce tutoriel détaillé couvre l'ajout du dépôt officiel, l'installation via APT avec toutes les dépendances, la configuration de MariaDB, Apache, Postfix et Dovecot, la sécurisation SSL avec Let's Encrypt, et la gestion des domaines, emails, FTP et bases de données. Inclut également Fail2ban pour la sécurité, l'optimisation des performances, les sauvegardes automatiques et le dépannage pour un panel d'hébergement complet.
Guide d'Installation de Froxlor sur VPS Linux
Introduction
Froxlor est un panel d'hébergement web open-source puissant et léger qui permet de gérer facilement des sites web, des emails, des bases de données et des serveurs. Ce guide vous accompagne dans l'installation complète de Froxlor sur un VPS Linux (Debian/Ubuntu).
Qu'est-ce que Froxlor ?
Froxlor est une solution de gestion d'hébergement qui offre :
- Gestion de domaines et sous-domaines
- Gestion des emails et comptes FTP
- Gestion de bases de données MySQL/MariaDB
- Configuration de serveurs web (Apache, Nginx, Lighttpd)
- Support Let's Encrypt pour SSL/TLS
- Gestion multi-utilisateurs (admin, revendeurs, clients)
- Interface intuitive et responsive
Prérequis
Avant de commencer l'installation, assurez-vous que votre VPS dispose de :
- Système d'exploitation :
- Debian 12 (Bookworm) ou Debian 11 (Bullseye) - Recommandé
- Ubuntu 22.04 LTS ou Ubuntu 20.04 LTS
- RAM : Au moins 1 Go (2 Go recommandés)
- Espace disque : 10 Go minimum (20 Go recommandés)
- Accès root ou sudo
- Connexion Internet stable
- Nom de domaine pointant vers votre VPS (recommandé)
Étape 1 : Mise à Jour du Système
Connectez-vous à votre VPS via SSH :
ssh root@votre-ip-vps
Mettez à jour le système :
apt update && apt upgrade -y
Redémarrez si nécessaire (surtout après une mise à jour du kernel) :
reboot
Reconnectez-vous après le redémarrage.
Étape 2 : Configuration du Hostname
Il est important de configurer correctement le hostname de votre serveur.
Définir le hostname
hostnamectl set-hostname panel.votre-domaine.com
Remplacez panel.votre-domaine.com par votre hostname souhaité.
Vérifier le hostname
hostname
hostname -f
Configurer /etc/hosts
Éditez le fichier hosts :
nano /etc/hosts
Ajoutez ou modifiez ces lignes :
127.0.0.1 localhost
127.0.1.1 panel.votre-domaine.com panel
VOTRE_IP_VPS panel.votre-domaine.com panel
# IPv6 (si applicable)
::1 localhost ip6-localhost ip6-loopback
Sauvegardez avec Ctrl+O, puis quittez avec Ctrl+X.
Étape 3 : Ajout du Dépôt Froxlor
Froxlor fournit des packages officiels via son propre dépôt.
Installation des dépendances
apt install -y apt-transport-https lsb-release ca-certificates curl gnupg
Ajout de la clé GPG et du dépôt
Pour Debian :
curl -sSLo /usr/share/keyrings/deb.froxlor.org-froxlor.gpg https://deb.froxlor.org/froxlor.gpg
sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.froxlor.org-froxlor.gpg] https://deb.froxlor.org/debian $(lsb_release -sc) main" > /etc/apt/sources.list.d/froxlor.list'
Pour Ubuntu :
curl -sSLo /usr/share/keyrings/deb.froxlor.org-froxlor.gpg https://deb.froxlor.org/froxlor.gpg
sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.froxlor.org-froxlor.gpg] https://deb.froxlor.org/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/froxlor.list'
Mise à jour de la liste des packages
apt update
Étape 4 : Installation de Froxlor
L'installation de Froxlor via le package APT installera automatiquement toutes les dépendances nécessaires (serveur web, PHP, MariaDB, etc.).
apt install froxlor -y
Cette commande installera :
- Froxlor
- Serveur web (Apache par défaut)
- PHP et modules nécessaires
- MariaDB (MySQL)
- Autres dépendances
L'installation peut prendre quelques minutes. Acceptez toutes les confirmations.
Configuration de MariaDB
Pendant l'installation, vous serez invité à :
- Définir un mot de passe root pour MariaDB :
- Choisissez un mot de passe fort et sécurisé
- Notez-le précieusement
- Configuration de phpmyadmin (si installé) :
- Sélectionnez Apache comme serveur web
- Configurez le mot de passe administrateur
Étape 5 : Sécurisation de MariaDB
Exécutez le script de sécurisation MySQL :
mysql_secure_installation
Répondez aux questions comme suit :
Enter current password for root: [Entrez le mot de passe défini]
Switch to unix_socket authentication: N
Change the root password?: N (si déjà défini) ou Y (pour en définir un nouveau)
Remove anonymous users?: Y
Disallow root login remotely?: Y
Remove test database?: Y
Reload privilege tables now?: Y
Étape 6 : Création d'un Utilisateur Database Privilégié
Froxlor a besoin d'un utilisateur de base de données avec des privilèges élevés.
Connexion à MySQL
mysql -u root -p
Entrez le mot de passe root de MariaDB.
Création de l'utilisateur
Dans le prompt MySQL, exécutez :
CREATE USER 'froxlor'@'localhost' IDENTIFIED BY 'MotDePasseSecurise';
GRANT ALL PRIVILEGES ON *.* TO 'froxlor'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
Remplacez MotDePasseSecurise par un mot de passe fort et unique.
Important : Notez ces informations, vous en aurez besoin pour l'installation web.
Étape 7 : Configuration du Pare-feu
Ouvrez les ports nécessaires :
# Si UFW n'est pas installé
apt install ufw -y
# Autoriser SSH (important !)
ufw allow 22/tcp
# Autoriser HTTP et HTTPS
ufw allow 80/tcp
ufw allow 443/tcp
# Autoriser FTP (si nécessaire)
ufw allow 21/tcp
# Autoriser les ports passifs FTP (si nécessaire)
ufw allow 49152:65535/tcp
# Activer le pare-feu
ufw enable
Vérifiez l'état :
ufw status
Étape 8 : Installation Web de Froxlor
Accès à l'installateur
Ouvrez votre navigateur et accédez à :
http://VOTRE_IP_VPS/froxlor
Ou si vous avez configuré un domaine :
http://panel.votre-domaine.com/froxlor
Vous serez redirigé vers l'assistant d'installation.
Étape 1 : Sélection de la langue
Choisissez votre langue préférée (Français disponible).
Étape 2 : Vérification des prérequis
L'installateur vérifie que tous les prérequis sont remplis :
- Version PHP correcte
- Modules PHP nécessaires
- Droits d'écriture sur les dossiers
Si tout est vert, cliquez sur Suivant.
Étape 3 : Configuration de la base de données
Remplissez les informations :
- Hôte de la base de données :
localhost - Nom d'utilisateur :
froxlor(l'utilisateur créé à l'étape 6) - Mot de passe : Le mot de passe de l'utilisateur froxlor
- Base de données :
froxlor(sera créée automatiquement) - Préfixe des tables : Laissez par défaut ou personnalisez
Cliquez sur Tester la connexion pour vérifier.
Si le test réussit, cliquez sur Suivant.
Étape 4 : Création du compte administrateur
Définissez vos informations administrateur :
- Nom d'utilisateur admin :
admin(ou personnalisé) - Mot de passe admin : Choisissez un mot de passe fort
- Confirmation du mot de passe
- Email administrateur : Votre adresse email
Cliquez sur Suivant.
Étape 5 : Configuration du serveur
Configurez les paramètres du serveur :
Informations générales :
- Nom du serveur : Nom d'affichage (ex: "Mon Serveur Web")
- Adresse IP : Votre IP publique
- Hostname : panel.votre-domaine.com
Services web :
- Serveur web : Apache (recommandé) ou Nginx
- Version PHP : Sélectionnez la version installée (8.1, 8.2, etc.)
Services email (si vous souhaitez gérer les emails) :
- Serveur SMTP : Postfix (recommandé)
- Serveur IMAP/POP3 : Dovecot
Serveur FTP :
- Serveur FTP : ProFTPD (recommandé) ou PureFTPd
Cliquez sur Suivant.
Étape 6 : Configuration SSL/TLS
Si vous avez un domaine configuré :
- Cochez Utiliser Let's Encrypt pour SSL
- Entrez votre email pour Let's Encrypt
- Acceptez les conditions
Si pas de domaine maintenant, vous pourrez configurer SSL plus tard.
Cliquez sur Suivant.
Étape 7 : Finalisation
L'installation se termine :
- La base de données est créée
- Les tables sont initialisées
- La configuration est enregistrée
Cliquez sur Terminer l'installation.
Suppression de l'installateur
Pour des raisons de sécurité, supprimez le dossier d'installation :
rm -rf /var/www/html/froxlor/install
Étape 9 : Première Connexion
Accès au panel
Accédez à :
http://VOTRE_IP_VPS/froxlor
Ou :
http://panel.votre-domaine.com/froxlor
Connexion
Utilisez les identifiants administrateur créés lors de l'installation :
- Nom d'utilisateur : admin
- Mot de passe : Votre mot de passe admin
Étape 10 : Configuration Post-Installation
Configuration des services
Après la première connexion, Froxlor vous guidera pour configurer les services.
- Allez dans Système > Configuration
- Cliquez sur Configuration dans le menu
- Configurez les services selon vos besoins :
- Serveur web (Apache/Nginx)
- Serveur email (Postfix/Dovecot)
- Serveur FTP (ProFTPD)
- Serveur DNS (BIND/PowerDNS - optionnel)
- Cliquez sur Appliquer les modifications
Génération des fichiers de configuration
- Allez dans Système > Configuration
- Cliquez sur Reconfigurer les services
- Sélectionnez tous les services à configurer
- Cliquez sur Envoyer
- Copiez les commandes shell générées
- Exécutez-les dans votre terminal SSH :
# Exemple de commande (les vôtres seront différentes)
/usr/local/bin/froxlor-cli froxlor:config-services --create
Redémarrage des services
Après avoir appliqué la configuration :
systemctl restart apache2
systemctl restart mysql
systemctl restart postfix
systemctl restart dovecot
systemctl restart proftpd
Vérifiez l'état des services :
systemctl status apache2
systemctl status mysql
Étape 11 : Configuration SSL avec Let's Encrypt
Activer Let's Encrypt
- Dans Froxlor, allez dans Système > Paramètres
- Cliquez sur l'onglet Système
- Trouvez la section Let's Encrypt
- Activez Utiliser Let's Encrypt
- Entrez votre email
- Définissez le serveur Let's Encrypt (production)
- Sauvegardez
Obtenir un certificat pour le panel
- Allez dans Domaines
- Ajoutez votre domaine (panel.votre-domaine.com)
- Cochez SSL activé
- Cochez Let's Encrypt
- Sauvegardez
- Le certificat sera généré automatiquement
Forcer HTTPS
- Allez dans Système > Paramètres
- Section Panel
- Activez Forcer HTTPS
- Sauvegardez
Maintenant, accédez à Froxlor via :
https://panel.votre-domaine.com/froxlor
Étape 12 : Création de Votre Premier Client
Ajouter un client
- Connectez-vous en tant qu'admin
- Allez dans Clients > Ajouter un client
- Remplissez les informations :
- Nom de connexion : nom_client
- Mot de passe : Mot de passe sécurisé
- Nom : Nom complet du client
- Email : Email du client
- Ressources :
- Espace disque (ex: 5000 MB)
- Trafic (ex: 50000 MB)
- Domaines (ex: 5)
- Sous-domaines (ex: 25)
- Comptes email (ex: 50)
- Comptes FTP (ex: 10)
- Bases de données MySQL (ex: 10)
- Cliquez sur Sauvegarder
Étape 13 : Ajout d'un Domaine
En tant qu'administrateur
- Allez dans Domaines > Ajouter un domaine
- Remplissez :
- Client : Sélectionnez le client
- Domaine : example.com
- Chemin : Chemin du domaine (auto-généré)
- SSL : Activez si souhaité
- Let's Encrypt : Activez pour SSL automatique
- Configurez les options :
- PHP : Activé/Désactivé
- CGI : Selon besoins
- Logs : Activés recommandé
- Cliquez sur Sauvegarder
Configuration DNS
Configurez vos enregistrements DNS chez votre registrar :
A @ VOTRE_IP_VPS
A www VOTRE_IP_VPS
AAAA @ VOTRE_IPv6 (si applicable)
AAAA www VOTRE_IPv6 (si applicable)
Étape 14 : Configuration Email
Création d'un compte email
- Allez dans Email > Adresses email
- Cliquez sur Créer une adresse email
- Remplissez :
- Adresse locale : contact (pour [email protected])
- Domaine : Sélectionnez le domaine
- Mot de passe : Mot de passe fort
- Quota : Espace alloué (ex: 1000 MB)
- Cliquez sur Sauvegarder
Configuration du client de messagerie
Pour utiliser l'email avec un client (Outlook, Thunderbird) :
Serveur entrant (IMAP) :
- Serveur : mail.votre-domaine.com
- Port : 993
- Sécurité : SSL/TLS
- Nom d'utilisateur : [email protected]
- Mot de passe : Le mot de passe défini
Serveur sortant (SMTP) :
- Serveur : mail.votre-domaine.com
- Port : 587 (STARTTLS) ou 465 (SSL)
- Sécurité : STARTTLS ou SSL/TLS
- Authentification : Requise
- Nom d'utilisateur : [email protected]
- Mot de passe : Le mot de passe défini
Enregistrements DNS pour email
Ajoutez ces enregistrements DNS :
MX @ 10 mail.votre-domaine.com
A mail VOTRE_IP_VPS
# SPF
TXT @ "v=spf1 mx a ip4:VOTRE_IP_VPS ~all"
# DKIM (généré par Froxlor)
TXT default._domainkey "v=DKIM1; k=rsa; p=VOTRE_CLE_PUBLIQUE"
# DMARC
TXT _dmarc "v=DMARC1; p=quarantine; rua=mailto:[email protected]"
Étape 15 : Configuration FTP
Création d'un compte FTP
- Allez dans FTP > Comptes FTP
- Cliquez sur Créer un compte FTP
- Remplissez :
- Nom d'utilisateur : ftpuser
- Mot de passe : Mot de passe fort
- Chemin : Chemin d'accès (auto-rempli)
- Description : Description optionnelle
- Cliquez sur Sauvegarder
Connexion FTP
Utilisez un client FTP (FileZilla) :
- Hôte : ftp.votre-domaine.com ou VOTRE_IP_VPS
- Port : 21
- Type : FTP - Explicit SSL/TLS
- Nom d'utilisateur : [email protected]
- Mot de passe : Le mot de passe défini
Étape 16 : Gestion des Bases de Données
Création d'une base de données
- Allez dans MySQL > Bases de données
- Cliquez sur Créer une base de données
- Remplissez :
- Client : Sélectionnez le client
- Description : Description de la BDD
- Nom de la base : Auto-généré ou personnalisé
- Cliquez sur Sauvegarder
Création d'un utilisateur MySQL
- Allez dans MySQL > Utilisateurs
- Cliquez sur Créer un utilisateur
- Remplissez :
- Nom d'utilisateur : Auto-généré ou personnalisé
- Mot de passe : Mot de passe fort
- Description : Description
- Assignez à une base de données
- Cliquez sur Sauvegarder
Accès phpMyAdmin
Accédez à phpMyAdmin via :
http://panel.votre-domaine.com/phpmyadmin
Connectez-vous avec :
- Nom d'utilisateur : L'utilisateur MySQL créé
- Mot de passe : Le mot de passe défini
Étape 17 : Sauvegardes
Configuration des sauvegardes automatiques
- Allez dans Système > Paramètres
- Section Sauvegardes
- Configurez :
- Chemin de sauvegarde : /backup/froxlor
- Fréquence : Quotidienne
- Nombre de sauvegardes à conserver : 7
- Sauvegardez
Script de sauvegarde manuel
Créez un script personnalisé :
nano /root/backup-froxlor.sh
Contenu :
#!/bin/bash
BACKUP_DIR="/backup/froxlor"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
# Sauvegarde de la base de données
mysqldump -u root -p'VOTRE_MOT_DE_PASSE' froxlor > $BACKUP_DIR/froxlor_db_$DATE.sql
# Sauvegarde des fichiers web
tar -czf $BACKUP_DIR/www_$DATE.tar.gz /var/www/
# Sauvegarde de la configuration
tar -czf $BACKUP_DIR/config_$DATE.tar.gz /etc/apache2 /etc/postfix /etc/dovecot
# Garder seulement les 7 dernières sauvegardes
find $BACKUP_DIR -name "froxlor_db_*.sql" -mtime +7 -delete
find $BACKUP_DIR -name "www_*.tar.gz" -mtime +7 -delete
find $BACKUP_DIR -name "config_*.tar.gz" -mtime +7 -delete
echo "Sauvegarde terminée: $DATE"
Rendez-le exécutable :
chmod +x /root/backup-froxlor.sh
Automatisation avec cron
crontab -e
Ajoutez :
0 3 * * * /root/backup-froxlor.sh
Étape 18 : Sécurité Avancée
Fail2ban
Installez Fail2ban pour protéger contre les attaques par force brute :
apt install fail2ban -y
Créez une jail pour Froxlor :
nano /etc/fail2ban/jail.d/froxlor.conf
Contenu :
[froxlor]
enabled = true
port = http,https
filter = froxlor
logpath = /var/www/html/froxlor/logs/login_errors.log
maxretry = 5
bantime = 3600
Créez le filtre :
nano /etc/fail2ban/filter.d/froxlor.conf
Contenu :
[Definition]
failregex = ^.*Login attempt from <HOST> for.*$
ignoreregex =
Redémarrez Fail2ban :
systemctl restart fail2ban
Configuration de ModSecurity
Pour Apache avec ModSecurity :
apt install libapache2-mod-security2 -y
Configurez les règles de base :
cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
Éditez la configuration :
nano /etc/modsecurity/modsecurity.conf
Changez :
SecRuleEngine DetectionOnly
En :
SecRuleEngine On
Redémarrez Apache :
systemctl restart apache2
Étape 19 : Optimisation
Configuration PHP
Optimisez PHP pour de meilleures performances :
nano /etc/php/8.2/apache2/php.ini
Modifiez ces valeurs :
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
max_input_time = 300
Configuration Apache
Optimisez Apache :
nano /etc/apache2/apache2.conf
Ajoutez ou modifiez :
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 150
MaxConnectionsPerChild 3000
</IfModule>
Redémarrez Apache :
systemctl restart apache2
Cache OPcache
Activez OPcache pour PHP :
nano /etc/php/8.2/apache2/conf.d/10-opcache.ini
Configuration recommandée :
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
Redémarrez Apache :
systemctl restart apache2
Étape 20 : Mise à Jour de Froxlor
Mise à jour via APT
Froxlor se met à jour comme n'importe quel package :
apt update
apt upgrade froxlor
Vérification de la version
Dans le panel Froxlor, allez dans Système > À propos pour voir la version installée.
Dépannage
Le panel ne s'affiche pas
Vérifications :
- Apache fonctionne :
systemctl status apache2
- Permissions correctes :
chown -R www-data:www-data /var/www/html/froxlor
chmod -R 755 /var/www/html/froxlor
- Logs Apache :
tail -f /var/log/apache2/error.log
Erreur de connexion à la base de données
Solutions :
- Vérifiez que MySQL fonctionne :
systemctl status mysql
- Testez la connexion :
mysql -u froxlor -p
- Vérifiez les permissions :
SHOW GRANTS FOR 'froxlor'@'localhost';
Les emails ne fonctionnent pas
Vérifications :
- Postfix fonctionne :
systemctl status postfix
- Dovecot fonctionne :
systemctl status dovecot
- Vérifiez les logs :
tail -f /var/log/mail.log
- Testez l'envoi d'email :
echo "Test email" | mail -s "Test" [email protected]
Certificat SSL non généré
Solutions :
- Vérifiez que le domaine pointe vers le serveur :
dig panel.votre-domaine.com
- Vérifiez les ports 80 et 443 :
netstat -tlnp | grep -E ':(80|443)'
- Vérifiez les logs Let's Encrypt :
tail -f /var/log/letsencrypt/letsencrypt.log
Commandes Utiles
Gestion des services
# Redémarrer tous les services
systemctl restart apache2 mysql postfix dovecot proftpd
# Voir les logs en temps réel
tail -f /var/log/apache2/error.log
tail -f /var/log/mail.log
tail -f /var/log/proftpd/proftpd.log
# Vérifier l'utilisation des ressources
htop
df -h
free -m
Gestion Froxlor CLI
Froxlor propose une interface en ligne de commande :
# Voir les commandes disponibles
froxlor-cli list
# Reconfigurer les services
froxlor-cli froxlor:config-services --create
# Régénérer les certificats SSL
froxlor-cli froxlor:letsencrypt --renew-all
Ressources Supplémentaires
Documentation officielle
- Site officiel : https://froxlor.org/
- Documentation : https://docs.froxlor.org/
- GitHub : https://github.com/Froxlor/Froxlor
- Forum : https://forum.froxlor.org/
Communauté
- Discord Froxlor
- Forum officiel pour le support
- GitHub pour les issues et feature requests
Tutoriels
- Vidéos YouTube sur Froxlor
- Articles de blog communautaires
- Guides spécifiques (WordPress, etc.)
Conclusion
Votre serveur Froxlor est maintenant installé et opérationnel ! Vous pouvez désormais :
- Héberger des sites web
- Gérer des comptes email professionnels
- Créer des comptes FTP pour vos clients
- Gérer des bases de données MySQL
- Délivrer des certificats SSL automatiques
- Administrer facilement votre serveur via une interface web
Points importants à retenir :
- Faites des sauvegardes régulières
- Maintenez le système à jour
- Surveillez les logs
- Sécurisez votre serveur (Fail2ban, pare-feu)
- Documentez vos configurations
Bienvenue dans le monde de l'hébergement web avec Froxlor !


















