
1. Introduction
CloudPanel est un panneau de contrôle de serveur moderne conçu spécifiquement pour les applications PHP. Il fournit une interface web intuitive pour la gestion des serveurs web, facilitant le déploiement et la maintenance des applications PHP. Ce guide complet vous accompagnera à travers le processus d’installation et de configuration, couvrant tout, de la configuration de base aux fonctionnalités avancées.
2. Prérequis Système
Avant de commencer l’installation, assurez-vous que votre système répond à ces exigences minimales :
- Système d’exploitation : Ubuntu 20.04 LTS ou 22.04 LTS (recommandé)
- RAM : Minimum 1 Go (2 Go ou plus recommandé)
- CPU : 1 cœur (2 cœurs ou plus recommandé)
- Stockage : 20 Go minimum
- Réseau : Connexion internet active
- Installation serveur propre (pas d’autres panneaux de contrôle ou serveurs web installés)
3. Conditions préalables
Avant d’installer CloudPanel, vous devez préparer votre système. Voici ce que vous devez faire :
Mise à Jour des paquets système
Tout d’abord, mettez à jour la liste des paquets de votre système et les paquets existants :
$ sudo apt update
$ sudo apt upgrade -y
Définir le Fuseau Horaire Correct
Assurez-vous que le fuseau horaire de votre serveur est correctement défini :
$ sudo timedatectl set-timezone UTC
Remplacez UTC par votre fuseau horaire préféré si nécessaire.
Installer les Paquets Essentiels
Installez les utilitaires système requis :
$ sudo apt install -y curl wget git unzip net-tools
4. Processus d’Installation
Télécharger le script d’Installation
CloudPanel fournit un script d’installation automatisé. Téléchargez-le en utilisant :
$ curl -sSL https://installer.cloudpanel.io/ce/v2/install.sh -o install.sh
Vérifier le Script (Optionnel mais Recommandé)
Vérifiez l’intégrité du script :
$ sha256sum install.sh
Rendre le Script Exécutable
$ chmod +x install.sh
Exécuter le Script d’Installation
$ sudo ./install.sh
Le processus d’installation prendra environ 5 à 15 minutes, selon les spécifications de votre serveur et la vitesse de votre connexion Internet. Le script va :
- Installer les dépendances système
- Configurer le pare-feu
- Installer et configurer Nginx
- Installer les versions PHP
- Installer MySQL
- Configurer l’interface CloudPanel
Pendant l’installation, vous verrez divers indicateurs de progression et pourrez être invité à saisir des informations occasionnellement.
5. Configuration initiale
Accès au Panneau de Contrôle
Une fois l’installation terminée, vous recevrez les informations suivantes :
- URL CloudPanel (https://votre-ip-serveur:8443)
- Identifiants administrateur
Accédez au panneau en utilisant ces identifiants. À la première connexion, vous serez invité à :
- Changer le mot de passe administrateur
- Configurer les paramètres email
- Configurer les préférences de sauvegarde
Configuration Email
Pour configurer les notifications par email :
- Naviguez vers Paramètres → Email
- Choisissez votre fournisseur d’email :
- SMTP
- Amazon SES
- Mailgun
Pour la configuration SMTP :
$ sudo clp-email-config --smtp-host=smtp.gmail.com \
--smtp-port=587 \
--smtp-encryption=tls \
[email protected] \
--smtp-password='votre-mot-de-passe'
6. Gestion des Domaines
Ajouter un Nouveau Domaine
- Cliquez sur “Sites” dans le menu de gauche
- Cliquez sur “Ajouter un Site”
- Entrez les détails du domaine :
- Nom de domaine
- Version PHP
- Racine du document
- Type d’application
Configuration des Paramètres de Domaine
Pour chaque domaine, vous pouvez configurer :
$ sudo clp-domain-config --domain=exemple.com \
--php-version=8.1 \
--document-root=/home/exemple.com/public
Configuration des Sous-domaines
Pour créer un sous-domaine :
- Naviguez vers les paramètres du domaine
- Cliquez sur “Ajouter un Sous-domaine”
- Configurez les paramètres du sous-domaine :
- Nom du sous-domaine
- Racine du document
- Version PHP (peut différer du domaine principal)
7. Gestion des Bases de Données
Créer une Nouvelle Base de Données
Via la ligne de commande :
$ sudo clp-db-create --name=mabase \
--user=utilisateur \
--password='mot_de_passe_securise'
Ou via l’interface web :
- Naviguez vers Bases de données
- Cliquez sur “Ajouter une Base de données”
- Remplissez les informations requises :
- Nom de la base de données
- Nom d’utilisateur
- Mot de passe
- Permissions d’accès hôte
Sauvegarde de Base de Données
Pour sauvegarder une base de données :
$ sudo clp-backup-db --database=mabase --output=/backup/mabase.sql
Restauration de Base de Données
Pour restaurer une base de données :
$ sudo clp-restore-db --database=mabase --file=/backup/mabase.sql
8. Configuration des Certificats SSL
Intégration Let’s Encrypt
CloudPanel inclut une intégration Let’s Encrypt native. Pour sécuriser un domaine :
- Naviguez vers Sites → Votre Domaine → SSL
- Cliquez sur “Installer un Certificat Let’s Encrypt”
- Vérifiez la propriété du domaine
- Attendez l’installation du certificat
Installation Manuelle de Certificat SSL
Pour installer un certificat SSL personnalisé :
$ sudo clp-ssl-install --domain=exemple.com \
--cert=/chemin/vers/certificat.crt \
--key=/chemin/vers/cle.key \
--chain=/chemin/vers/chain.crt
9. Configuration PHP
Gestion des Versions PHP
CloudPanel prend en charge plusieurs versions PHP. Pour installer une nouvelle version :
$ sudo clp-php-install --version=8.2
Options de Configuration PHP
Modifiez les paramètres PHP via l’interface web :
- Naviguez vers Sites → Votre Domaine → PHP
- Ajustez les paramètres :
- Limite de mémoire
- Temps d’exécution maximum
- Limites de taille de téléchargement
- Rapport d’erreurs
Ou via la ligne de commande :
$ sudo clp-php-config --version=8.1 \
--memory-limit=256M \
--max-execution-time=300
Installation des Extensions PHP
$ sudo clp-php-ext-install --version=8.1 --extension=imagick
10. Optimisation du Serveur
Configuration Nginx
Optimisez les paramètres Nginx :
$ sudo nano /etc/nginx/nginx.conf
Paramètres clés à considérer :
worker_processes auto;
worker_connections 1024;
keepalive_timeout 65;
client_max_body_size 64M;
Optimisation PHP-FPM
Ajustez les paramètres du pool PHP-FPM :
$ sudo nano /etc/php/8.1/fpm/pool.d/www.conf
Paramètres recommandés :
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
Optimisation MySQL
Optimisez les performances MySQL :
$ sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Paramètres clés :
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
max_connections = 150
11. Sauvegarde et Restauration
Configuration des Sauvegardes Automatiques
Configurez les sauvegardes quotidiennes :
$ sudo clp-backup-config --schedule=daily \
--retention=7 \
--type=full \
--destination=/backup
Sauvegarde Manuelle
Créez une sauvegarde complète du système :
$ sudo clp-backup-create --type=full --destination=/backup
Restauration de Sauvegarde
Restaurez à partir d’une sauvegarde :
$ sudo clp-backup-restore --file=/backup/backup-2024-01-08.tar.gz
12. Bonnes pratiques de sécurité
Configuration du Pare-feu
Configurez le pare-feu UFW :
$ sudo ufw allow 22/tcp
$ sudo ufw allow 80/tcp
$ sudo ufw allow 443/tcp
$ sudo ufw allow 8443/tcp
$ sudo ufw enable
Accès SSH Sécurisé
Modifiez la configuration SSH :
$ sudo nano /etc/ssh/sshd_config
Paramètres recommandés :
PermitRootLogin non
PasswordAuthentication non
Port 2222
Mises à Jour de Sécurité Régulières
Configurez les mises à jour de sécurité automatiques :
$ sudo apt install unattended-upgrades
$ sudo dpkg-reconfigure --priority=low unattended-upgrades
13. Résolution des Problèmes Courants
Emplacements des Fichiers Journaux
Fichiers journaux importants :
- Nginx :
/var/log/nginx/
- PHP-FPM :
/var/log/php/
- MySQL :
/var/log/mysql/
- CloudPanel :
/var/log/cloudpanel/
Commandes Courantes de Dépannage
Vérifiez l’état des services :
$ sudo systemctl status nginx
$ sudo systemctl status php8.1-fpm
$ sudo systemctl status mysql
Consultez les journaux en temps réel :
$ sudo tail -f /var/log/nginx/error.log
$ sudo tail -f /var/log/php/8.1/error.log
14. Configuration Avancée
Configuration Nginx Personnalisée
Ajoutez une configuration Nginx personnalisée :
$ sudo nano /etc/nginx/conf.d/custom.conf
Configuration PHP Personnalisée
Créez une configuration PHP personnalisée :
$ sudo nano /etc/php/8.1/fpm/conf.d/custom.ini
Configuration de la Réplication de Base de Données
Configurez la réplication MySQL :
$ sudo clp-mysql-replication --master-host=master.exemple.com \
--master-user=repl \
--master-password='mot_de_passe_securise'
15. Maintenance et Mises à Jour
Mise à Jour de CloudPanel
Mettez à jour CloudPanel vers la dernière version :
$ sudo clp-update
Maintenance Système
Tâches de maintenance régulières :
$ sudo clp-maintenance --clean-logs
$ sudo clp-maintenance --optimize-databases
$ sudo clp-maintenance --check-services
Surveillance des Ressources Système
Installez les outils de surveillance :
$ sudo apt install -y htop iotop
Surveillez les ressources système :
$ htop
$ iotop
Conclusion
CloudPanel offre une interface robuste et conviviale pour la gestion des serveurs web et des applications PHP. Ce guide couvre les aspects essentiels de l’installation et de la configuration, mais CloudPanel propose encore plus de fonctionnalités et de capacités. Des mises à jour et une maintenance régulières assureront des performances et une sécurité optimales de votre serveur.