Installation et configuration de CloudPanel

Installer CloudPanel Configurer Gestion des serveurs simplifiée

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 :

  1. Installer les dépendances système
  2. Configurer le pare-feu
  3. Installer et configurer Nginx
  4. Installer les versions PHP
  5. Installer MySQL
  6. 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 :

Accédez au panneau en utilisant ces identifiants. À la première connexion, vous serez invité à :

  1. Changer le mot de passe administrateur
  2. Configurer les paramètres email
  3. Configurer les préférences de sauvegarde

Configuration Email

Pour configurer les notifications par email :

  1. Naviguez vers Paramètres → Email
  2. 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

  1. Cliquez sur “Sites” dans le menu de gauche
  2. Cliquez sur “Ajouter un Site”
  3. 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 :

  1. Naviguez vers les paramètres du domaine
  2. Cliquez sur “Ajouter un Sous-domaine”
  3. 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 :

  1. Naviguez vers Bases de données
  2. Cliquez sur “Ajouter une Base de données”
  3. 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 :

  1. Naviguez vers Sites → Votre Domaine → SSL
  2. Cliquez sur “Installer un Certificat Let’s Encrypt”
  3. Vérifiez la propriété du domaine
  4. 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 :

  1. Naviguez vers Sites → Votre Domaine → PHP
  2. 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.

Laisser un commentaire