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

Installer HestiaCP sur Linux (Ubuntu, Debian)

Documentation / Tutoriels Linux / Panneaux de contrôle / Installer HestiaCP sur Linux (Ubuntu, Debian)
Mis à jour le 19/09/2026
21 vues
Intermédiaire
30 minutes

Prérequis

  • Un serveur sous Ubuntu 24.04 ou Debian 13 : 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
  • 3 Go de RAM et 10 Go d'espace disque libre
  • Un nom d'hôte pour le serveur, avec au moins deux points, comme serveur.exemple.ca
  • L'adresse IP publique de votre poste, pour lui réserver l'accès au panneau
Votre serveur :

HestiaCP est un panneau d'hébergement libre : depuis un navigateur, il crée des sites, des bases de données, des comptes courriel, des comptes FTP, des zones DNS et des certificats, sur nginx et Apache. Ce guide l'installe, ouvre le panneau, le réserve à votre adresse, et crée un premier site. Choisissez votre système ci-dessus. Copiez la commande avec le bouton Copier, collez-la dans votre terminal, et comparez avec le résultat attendu.

1Mettre à jour le système

Mettre à jour le système
apt update && apt upgrade -y
Résultat attendu
...
212 upgraded, 8 newly installed, 0 to remove and 4 not upgraded.
(les nombres dépendent de l'âge de l'image)

2Retirer ufw

HestiaCP installe son propre pare-feu, iptables avec Fail2Ban, et refuse de s'installer tant que le paquet ufw est présent, même éteint. Sur Ubuntu, il l'est.

Retirer ufw
apt purge -y ufw
Résultat attendu
...
Purging configuration files for ufw (0.36.2-6) ...

Debian n'installe pas ufw : il n'y a rien à retirer. Si vous l'aviez ajouté vous-même, retirez-le avec apt purge -y ufw, sinon l'installateur s'arrête.

3Lancer l'installateur

L'installateur reçoit tout en options, ne pose aucune question, et travaille seul pendant une dizaine de minutes. Le mot de passe est d'abord lu au clavier, sans s'afficher, pour ne pas rester dans l'historique du terminal.

Télécharger l'installateur officiel
wget -q https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh
Lire votre mot de passe, puis installer
read -s -p 'Mot de passe du panneau : ' MDP; echo
bash hst-install.sh -u hestiaadmin -s serveur.exemple.ca -e admin@exemple.ca -p "$MDP" -y no
Résultat attendu
====================================================================

Congratulations!

You have successfully installed Hestia Control Panel on your server.

Ready to get started? Log in using the following credentials:

	Admin URL:  https://serveur.exemple.ca:8083
	Backup URL: https://203.0.113.42:8083
 	Username:   hestiaadmin
	Password:   The password you chose during installation.
...
[ ! ] IMPORTANT: You must restart the system before continuing!
-u hestiaadmin
Le nom du compte administrateur. Gardez-en un autre que admin : sur certaines images, un groupe admin existe déjà et l'installateur refuse ce nom.
-s serveur.exemple.ca
Le nom d'hôte du serveur, avec au moins deux points. Il devient aussi le premier site du panneau.
-e admin@exemple.ca
L'adresse de l'administrateur.
-p "$MDP"
Le mot de passe lu à la ligne du dessus.
-y no
Aucune question, et pas de redémarrage automatique à la fin.

4Redémarrer

L'installateur le demande à la fin : redémarrez, puis reconnectez-vous en SSH.

Redémarrer le serveur
reboot

5Ouvrir le panneau

Vérifier que le panneau répond
curl -sk -o /dev/null -w '%{http_code}\n' https://127.0.0.1:8083/login/
Résultat attendu
200
  1. Ouvrez https://203.0.113.42:8083 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 : HestiaCP en a créé un lui-même. Cliquez sur Avancé, puis Continuer vers le site.
  3. Identifiant hestiaadmin, et le mot de passe que vous avez tapé à l'étape 3.

6Réserver le panneau à votre adresse

Tout Internet peut ouvrir votre panneau

L'installation ouvre le port 8083 à toutes les adresses : le panneau répond à n'importe qui sur Internet, avec pour seule barrière le mot de passe.

Voir les règles du pare-feu
v-list-firewall
Résultat attendu
RULE  ACTION  PROTO  PORT            IP         SPND  DATE
----  ------  -----  ----            --         ----  ----
1     ACCEPT  ICMP   0               0.0.0.0/0  no    2014-09-16
2     ACCEPT  TCP    8083            0.0.0.0/0  no    2014-05-25
3     ACCEPT  TCP    143,993         0.0.0.0/0  no    2014-05-25
4     ACCEPT  TCP    110,995         0.0.0.0/0  no    2014-05-25
5     ACCEPT  TCP    25,465,587      0.0.0.0/0  no    2018-11-07
6     ACCEPT  TCP    53              0.0.0.0/0  no    2014-05-25
7     ACCEPT  UDP    53              0.0.0.0/0  no    2014-05-25
8     ACCEPT  TCP    21,12000-12100  0.0.0.0/0  no    2014-05-25
9     ACCEPT  TCP    80,443          0.0.0.0/0  no    2014-09-24
10    ACCEPT  TCP    22              0.0.0.0/0  no    2014-09-16

La règle 2 ouvre le panneau à 0.0.0.0/0, c'est-à-dire à tout le monde. La suite la retire, puis réserve le port à une seule adresse. Remplacez 198.51.100.7 par l'adresse IP publique de votre poste.

Retirer la règle qui ouvre le panneau à tous
v-delete-firewall-rule 2
Réserver le panneau à votre adresse
v-add-firewall-rule ACCEPT 198.51.100.7 8083 TCP HESTIA
Vérifier le résultat
v-list-firewall
Résultat attendu
RULE  ACTION  PROTO  PORT            IP            SPND  DATE
----  ------  -----  ----            --            ----  ----
1     ACCEPT  ICMP   0               0.0.0.0/0     no    2014-09-16
2     ACCEPT  TCP    143,993         0.0.0.0/0     no    2014-05-25
3     ACCEPT  TCP    110,995         0.0.0.0/0     no    2014-05-25
4     ACCEPT  TCP    25,465,587      0.0.0.0/0     no    2018-11-07
5     ACCEPT  TCP    53              0.0.0.0/0     no    2014-05-25
6     ACCEPT  UDP    53              0.0.0.0/0     no    2014-05-25
7     ACCEPT  TCP    21,12000-12100  0.0.0.0/0     no    2014-05-25
8     ACCEPT  TCP    80,443          0.0.0.0/0     no    2014-09-24
9     ACCEPT  TCP    22              0.0.0.0/0     no    2014-09-16
10    ACCEPT  TCP    8083            198.51.100.7  no    2026-09-19
(la date de la dernière ligne est celle du jour)
Les règles sont renumérotées après chaque suppression

La règle 3 est devenue la 2, et ainsi de suite. Avant de supprimer une autre règle, relisez la liste avec v-list-firewall pour prendre le bon numéro.

Vos sites et votre courriel ne sont pas touchés. Depuis votre adresse, le panneau répond ; depuis n'importe quelle autre, il ne répond plus, alors que SSH et vos sites restent joignables par tous.

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:8083/login/
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)

7Créer un premier site

Dans le panneau, c'est WEB, puis Add Web Domain. La même chose en une commande, avec votre domaine :

Créer un site
v-add-web-domain hestiaadmin monsite.exemple.ca
Voir les sites
v-list-web-domains hestiaadmin
Résultat attendu
DOMAIN   IP   TPL   SSL   DISK   BW   SPND   DATE
------   --   ---   ---   ----   --   ----   -----
serveur.exemple.ca 203.0.113.42 default no 0 0 no 2026-09-18
monsite.exemple.ca 203.0.113.42 default no 0 0 no 2026-09-19
(les dates sont celles de vos commandes)
Ce qui a été créé sur le disque
stat -c '%n %U:%G %A' /home/hestiaadmin/web/monsite.exemple.ca/*
Résultat attendu
/home/hestiaadmin/web/monsite.exemple.ca/cgi-bin  hestiaadmin:hestiaadmin  drwxr-x--x
/home/hestiaadmin/web/monsite.exemple.ca/document_errors  hestiaadmin:hestiaadmin  drwxr-x--x
/home/hestiaadmin/web/monsite.exemple.ca/logs  hestiaadmin:hestiaadmin  dr-xr-x--x
/home/hestiaadmin/web/monsite.exemple.ca/private  hestiaadmin:hestiaadmin  drwxr-x--x
/home/hestiaadmin/web/monsite.exemple.ca/public_html  hestiaadmin:www-data  drwxr-xr-x
/home/hestiaadmin/web/monsite.exemple.ca/stats  hestiaadmin:hestiaadmin  dr-xr-x--x

Vos fichiers vont dans public_html.

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

8Changer le mot de passe administrateur

Le mot de passe du panneau se change depuis le serveur. Il prend effet tout de suite.

Changer le mot de passe
read -s -p 'Nouveau mot de passe : ' MDP; echo
v-change-user-password hestiaadmin "$MDP"

9Les commandes du quotidien

L'état de tous les services du panneau
v-list-sys-services
Les règles du pare-feu
v-list-firewall
Les comptes du panneau
v-list-users
Les sites d'un compte
v-list-web-domains hestiaadmin
Changer le mot de passe d'un compte
v-change-user-password hestiaadmin MotDePasse
L'état du panneau
systemctl status hestia
Redémarrer le panneau
systemctl restart hestia
Les protections Fail2Ban actives
fail2ban-client status
Les ports en écoute
ss -ltn
Voir l'état des services
v-list-sys-services
Résultat attendu
NAME           STATE    CPU  MEM   UPTIME
----           -----    ---  ---   ------
apache2        running  0    448   6
php8.5-fpm     running  0    10    6
nginx          running  0    40    6
bind9          running  0    353   6
exim4          running  0    17    6
dovecot        running  0    0     6
clamav-daemon  running  2.8  1027  6
spamd          running  0.4  379   6
mariadb        running  0.7  687   6
vsftpd         running  0    0     6
cron           running  0    0     6
ssh            running  2    2     6
iptables       running  0    0     0
fail2ban       running  0.2  158   6
(les colonnes CPU, MEM et UPTIME varient)
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 443 465 587 783 953 993 995 3306 8080 8081 8083 8084 8443
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 443 465 587 783 953 993 995 3306 5355 8080 8081 8083 8084 8443

La base de données (3306), Apache (8080, 8443) et les services internes sont dans cette liste mais ne répondent pas depuis l'extérieur : le pare-feu ne les ouvre pas.

Erreurs fréquentes

HestiaCP en service

Le panneau répond sur le port 8083, réservé à votre adresse, et votre premier site est servi. Pour un panneau sur OpenLiteSpeed, voyez Installer CyberPanel ; pour un panneau plus léger, qui s'installe sur huit distributions, Installer Webmin.

💬 Écrivez-nous sur Messenger !