Désactiver le préchargeur
Tutoriels Linux Panneaux de contrôle

Installer CWP (CentOS Web Panel) sur AlmaLinux et Rocky Linux

Documentation / Tutoriels Linux / Panneaux de contrôle / Installer CWP (CentOS Web Panel) sur AlmaLinux et Rocky Linux
Mis à jour le 20/09/2026
10 vues
Intermédiaire
30 minutes

Prérequis

  • Un serveur sous AlmaLinux 9, Rocky Linux 9 ou CentOS Stream 9 : voir nos VPS au Canada
  • Une connexion SSH ouverte en root : Se connecter en SSH à votre VPS
  • Un serveur vierge, sans serveur web, base de données ni serveur de courriel déjà installés
  • 4 Go de RAM et 10 Go d'espace disque libre
  • Un nom d'hôte complet pour le serveur, comme serveur.exemple.ca, qui n'est pas un domaine que vous hébergerez dessus
  • L'adresse IP publique de votre poste, pour lui réserver l'accès au panneau

CWP, pour CentOS Web Panel, est un panneau d'hébergement gratuit pour les systèmes de la famille Enterprise Linux : depuis un navigateur, il crée des comptes avec leur site Apache, leur base de données, leur courriel et leur zone DNS. Ce guide l'installe avec son installateur officiel, ouvre le panneau, met en service son pare-feu avec le panneau réservé à votre adresse, et crée un premier compte. Copiez la commande avec le bouton Copier, collez-la dans votre terminal, et comparez avec le résultat attendu.

1Nommer le serveur, le mettre à jour et le redémarrer

L'installateur travaille avec le nom d'hôte complet du serveur. Remplacez 203.0.113.42 par l'adresse IP de votre serveur.

Poser le nom d'hôte
hostnamectl set-hostname serveur.exemple.ca
echo '203.0.113.42 serveur.exemple.ca serveur' >> /etc/hosts
hostname -f
Résultat attendu
serveur.exemple.ca

wget et iptables ne sont pas dans les images minimales : l'installateur a besoin du premier, et le pare-feu du panneau du second.

Installer wget et iptables, mettre à jour, redémarrer
dnf install -y wget iptables-nft
dnf upgrade -y && reboot

2Lancer l'installateur

Reconnectez-vous en SSH. L'installateur travaille seul pendant 5 à 6 minutes, sans question : il désactive SELinux et firewalld, puis installe Apache, PHP, MariaDB, Postfix, Dovecot, ClamAV, Bind, pure-ftpd, phpMyAdmin, Roundcube et le pare-feu CSF. S'il échoue, il envoie son journal et un inventaire du serveur au site de l'éditeur.

Télécharger et lancer l'installateur officiel
cd /usr/local/src
wget http://centos-webpanel.com/cwp-el9-latest
sh cwp-el9-latest
Résultat attendu
=== Checking DNS Resolution ===
[OK] DNS resolution is working properly.
...
#############################
#      CWP Installed        #
#############################

Go to CentOS WebPanel Admin GUI at http://SERVER_IP:2030/

http://203.0.113.42:2030
SSL: https://203.0.113.42:2031
---------------------
Username: root
Password: ssh server root password
MySQL root Password: ...

#########################################################
          CentOS Web Panel MailServer Installer          
#########################################################
SSL Cert name (hostname): serveur.exemple.ca
SSL Cert file location /etc/pki/tls/ private|certs
#########################################################

Visit for help: www.centos-webpanel.com
Write down login details and press ENTER for server reboot!
Please reboot the server!
Reboot command: shutdown -r now
(5 à 6 minutes)
Notez le mot de passe MySQL

La ligne MySQL root Password donne le mot de passe de root pour MariaDB. Il est aussi dans /root/.my.cnf, lisible par root seulement. Le panneau, lui, se connecte avec le mot de passe root du serveur.

Redémarrer, comme l'installateur le demande
shutdown -r now

3Ouvrir le panneau

Reconnectez-vous en SSH. Le panneau écoute sur le port 2030 en http et 2031 en https ; le premier renvoie vers le second.

Vérifier que le panneau répond
curl -sk -o /dev/null -w '%{http_code}\n' https://127.0.0.1:2031/
Résultat attendu
302
(302 : le panneau renvoie vers sa page de connexion)
  1. Ouvrez https://203.0.113.42:2031 dans votre navigateur, avec l'adresse IP de votre serveur, en https, et le port.
  2. Le navigateur avertit que le certificat n'est pas reconnu : CWP en a créé un lui-même pour le nom d'hôte. Cliquez sur Avancé, puis Continuer vers le site.
  3. Identifiant root, avec le mot de passe root de votre serveur. Si root n'en a pas, parce que vous vous connectez par clé, posez-en un avec passwd root.

4Mettre le pare-feu en service, avec le panneau réservé à votre adresse

Après le redémarrage, rien ne filtre

L'installateur a désactivé firewalld et posé CSF, mais CSF ne tourne pas : il manque iptables sur Rocky et CentOS, et sur AlmaLinux l'installateur l'a laissé désactivé. Le panneau (2030, 2031, 2082, 2083), MariaDB (3306), FTP et le courriel répondent à toutes les adresses, avec pour seule barrière leurs mots de passe.

Les commandes qui suivent activent CSF, retirent les deux ports du panneau de la liste ouverte à tous, et les réservent à une seule adresse. Remplacez 198.51.100.7 par l'adresse IP publique de votre poste.

Activer CSF avec le panneau réservé à votre adresse
csf -e
sed -i -E '/^TCP6?_IN /s/,2030,2031//' /etc/csf/csf.conf
echo 'tcp|in|d=2030|s=198.51.100.7' >> /etc/csf/csf.allow
echo 'tcp|in|d=2031|s=198.51.100.7' >> /etc/csf/csf.allow
systemctl restart csf lfd
Vérifier le résultat
systemctl is-active csf lfd
iptables -S ALLOWIN | grep 198.51.100.7
Résultat attendu
active
active
-A ALLOWIN -s 198.51.100.7/32 ! -i lo -p tcp -m tcp --dport 2031 -j ACCEPT
-A ALLOWIN -s 198.51.100.7/32 ! -i lo -p tcp -m tcp --dport 2030 -j ACCEPT

Les sites, le courriel, FTP et SSH restent ouverts à tous ; MariaDB est fermée de l'extérieur. CSF se relance à chaque démarrage avec ces règles.

Vérifier depuis une autre machine que le panneau ne répond plus
curl -sk -o /dev/null -w '%{http_code}\n' --max-time 10 https://203.0.113.42:2031/
Résultat attendu
000
(000 veut dire aucune réponse : c'est le résultat attendu depuis une adresse qui n'est pas la vôtre)

5Créer un premier compte

  1. Dans le panneau, ouvrez User Accounts, puis New Account.
  2. Domain name : monsite.exemple.ca. Username : monsite. Password : celui de votre choix. Email : la vôtre. Package : default. Cliquez sur Create.
Voir les comptes
sh /scripts/list_users
Résultat attendu
USERNAME | DOMAIN | IP ADDRESS | EMAIL | PACKAGE ID | BACKUP
###############################################################
monsite	monsite.exemple.ca	203.0.113.42	admin@exemple.ca	1	on
Ce qui a été créé sur le disque
stat -c '%n %U:%G %A' /home/monsite/public_html; ls /home/monsite/public_html
Résultat attendu
/home/monsite/public_html  monsite:nobody  drwxr-x---
index.html

Vos fichiers vont dans ce dossier.

Vérifier que le site répond, sans attendre le DNS
curl -s -o /dev/null -w '%{http_code}\n' -H 'Host: monsite.exemple.ca' http://203.0.113.42/
Résultat attendu
200

6Les commandes du quotidien

Mettre à jour CWP lui-même ; dnf ne le fait pas
sh /scripts/update_cwp
Redémarrer le panneau
sh /scripts/restart_cwpsrv
Les comptes hébergés
sh /scripts/list_users
L'état du pare-feu et de sa surveillance
systemctl status csf lfd
Les règles du pare-feu en place
csf -l
Les connexions au panneau, réussies et échouées
tail /var/log/cwp_client_login.log
Les ports en écoute
ss -ltn
Voir les ports en écoute
ss -ltn | awk 'NR>1{print $4}' | sed 's/.*://' | sort -n -u | tr '\n' ' '
Résultat attendu
21 22 25 53 80 110 143 465 587 953 993 995 2030 2031 2082 2083 2086 2087 2095 2096 2302 3306 4190 10025
(Rocky ajoute 111 : un service du système)

La base de données (3306) et les services internes sont dans cette liste mais ne répondent pas depuis l'extérieur : CSF ne les ouvre pas.

Erreurs fréquentes

CWP en service

Le panneau répond sur le port 2031, réservé à votre adresse, et votre premier compte est servi. Pour un panneau libre qui gère aussi les domaines en ligne de commande, voyez Installer Virtualmin ; pour Ubuntu et Debian, Installer ISPConfig.

💬 Écrivez-nous sur Messenger !