Installation de Virtualmin

Introduction

Cet article fait partie de la série de Tuto informatique nommé « Opération Migration«  dont le Sommaire Générale se trouve ici :

[Opération Migration]
ou comment changer de serveur ?

Nous allons ici voir comment installer Virtualmin/Webmin sur un Serveur « propre ». C’est à dire sur lequel nous n’avons encore rien installé ; car en effet Virtualmin va installer de nombreux paquets, et ceux-ci risqueraient d’entrer en conflit avec des paquets déjà installé !


Note : Vous verrez que j’ai indiqué quelques petits problèmes possible lors de l’installation (et leurs solutions ^^), mais je n’en ai rencontré aucun cette fois 😀


Sommaire


Installation de Virtualmin/Webmin

VirtualminLe script d’installation de Virtualmin/Webmin va donc installer l’ensemble des logiciels (Open-Source) dont nous aurons besoin pour la suite de notre hébergement Web.

💡Virtualmin est installable sur différents OS, vous pouvez voir la compatibilité ici : www.virtualmin.com/os-support/

Toutes les commandes sont à taper en tant que root sur le Serveur. Pour rappel on se connecte en SSH comme indiqué précédemment.


Avant d’installer Virtualmin on fait la mise à jour des paquets :

apt-get update; apt-get upgrade

On télécharge le script d’installation de Virtualmin et on rend le fichier exécutable avec les commandes suivantes :

wget software.virtualmin.com/gpl/scripts/install.sh && chmod +x install.sh

⚠️ Il est parfois possible que « wget » ne soit pas installer et que la commande précédente renvoi donc une erreur.
Installer « wget » avec les commandes suivante :

apt update; apt install wget

Pour une installation standard « LAMP » de Virtualmin, nous exécutons simplement le script d’installation automatique avec la commande :

/bin/sh install.sh

Mais si vous voulez une configuration différente :

    • par exemple installer « LEMP » (soit Nginx à la place d’Apache)
    • ou encore une installation « minimal » (c’est à dire sans la piles logiciels destiné aux traitements des mails et quelques autres choses…)

Alors il faut juste ajouter l’un des indicateurs proposé à la fin de la commande. Ajouter l’indicateur « –help » ou « -h » pour afficher la liste de toutes les options disponible :

/bin/sh install.sh --help

Cette dernière commande donne donc le résultât ci-dessous. Ce sont les indicateurs que l’on peu ajouter à la fin de la commande et leur fonction :

--uninstall|-u - Removes all Virtualmin packages (do not use on a production system)
 --help|-h - This message
 --force|-f - Skip confirmation message
 --hostname|-n - Set fully qualified hostname
 --verbose|-v - Verbose
 --setup|-s - Setup software repositories and exit (no installation or configuration)
 --minimal|-m - Install a smaller subset of packages for low-memory/low-resource systems
 --bundle|-b <name> - Choose bundle to install (LAMP or LEMP, defaults to LAMP)

Pour installer LEMP il faut donc taper :

/bin/sh install.sh -b LEMP

Dans mon cas je n’utiliserai pas le traitement des mails sur le serveur, je vais donc utiliser l’installation « minimal« .
L’avantage c’est que Virtualmin consommera ainsi moins de mémoire RAM 🙂 (Virtualmin à besoin au minimum de 1Go de RAM pour fonctionner, et 512 Mo pour la version « minimal ». Même si le VPS à 2Go de RAM il fonctionnera forcément mieux avec un système plus léger)

Pour info, avant de migrer le serveur j’utilisais la version par défaut, et les derniers temps les mises à jour de WordPress avait du mal à passer, mais il y a peut-être aussi le faite que Debian 9 utilise une version de PHP trop ancienne pour WordPress ?! Ça fonctionnait toujours mais il était vraiment temps de passer à Debian 10.

Bref pour lancer l’installation minimal de Virtualmin on tape la commande :

/bin/sh install.sh -m

⚠ Si vous avez une erreur de ce type :
(j’ai eu ça une fois avec Debian 9)

Erreur : le certificat de « software.virtualmin.com » n'est pas de confiance.
Erreur : le certificat de « software.virtualmin.com » n'est pas d'un émetteur connu.
chmod: impossible d'accéder à 'slib.sh': Aucun fichier ou dossier de ce type
install.sh: 288: .: Can't open ./slib.sh

Vous pouvez corriger ça en installant un paquet au préalable.
Taper la commande suivante, puis valider pour lancer l’installation.

apt-get install ca-certificates

Puis retenter ensuite l’installation de Virtualmin 😉


Confirmation de l’installation de Virtualmin :

Installation de Virtualmin Console

    • L’installateur nous informe qu’il va installer « LAMP« , et qu’il faut compter 650 MB d’espace disque pour cela. Ou 500 MB pour la version « minimal« .
    • Taper « y » pour accepter l’installation, et aller faire un petit tour car l’installation est un peu longue…
Installation de Virtualmin Console
Voilà le résultât 🙂

A la fin de l’installation (et avec seulement 3 ou 4 commandes) nous pouvons directement nous rendre sur Webmin via notre navigateur favori (le mien à comme logo de renard en feu).

[...]
[SUCCESS] to configure at https://vps-xxxxxxxx.vps.ovh.net:10000 (or https://xxx.xxx.xxx.xxx:10000).

Connexion à la WebGUI de Webmin

On se connecte à l’interface Web de Webmin/Virtualmin : soit via l’adresse du Serveur, soit son IP, suivie dans les 2 cas du port en ajoutant « :10000 » à la fin.
(c’est le port par défaut de Webmin, on le modifiera dans le tuto suivant pour renforcer la sécurité…)

https://xxx.xxx.xxx.xxx:10000
https://addresse-du-serveur:10000

À la première connexion il faut ajouter une exception de sécurité pour accéder à la page (https) de Webmin.


Sur la page de connexion on se connecte avec l’identifiant « root » de notre Serveur Debian, et son mot de passe.


Post-Installation de Webmin

On nous propose tout de suite la Post-Installation.
(si par curiosité vous partez sur une autre page en cliquant dans le menu… pour revenir à la Post-Installation cliquer tout en haut du menu sur la partie « Virtualmin« , puis cliquer sur « List Virtual Servers« )

⚠️ Ne chercher pas à mettre Webmin en français tout de suite cette Post-Installation n’a pas bénéficié de la traduction française, donc on verra comment passer en français plus tard 😉


    • Cliquez sur « Next« 

Dans les premiers réglages on nous demandent, si l’on préfère utiliser : plus la RAM, ou plus le processeur etc… (généralement les réglages par défaut sont bon) donc : « Next »

⚠️ 4 fois « Next »pour l’installation standard, et juste 2 fois pour l’installation minimal.
Bref jusqu’à l’image suivante quoi 😉 :


À cette étape on nous demandent de choisir un mot de passe pour l’utilisateur « root MySQL » donc pour la Base De Donnée MySQL :

    • Taper un mot de pass
    • Et cliquer sur « Next« 

Après il faut configurer la taille de la RAM pour MySQL :

    •  Généralement on sélectionnera : « Huge system (2G or more) on which MySQL is heavily used« 
    • Cliquer sur « Next« 

Nous arrivons maintenant sur la configuration des DNS, c’est une étape importante ⚠️ :

    • En DNS primaire l’adresse du Serveur (ici l’image était destiné pour une configuration en auto-hébergement maison)
      Exemple : vps-xxxxxxxx.vps.ovh.net
    • Comme DNS secondaire on choisit celui de notre fournisseur de nom de domaine, dans mon cas chez OVH c’est : « ns15.ovh.net« 
    • Cliquer sur « Next« 

Sur la page suivante Virtualmin nous demandent si nous préférons utiliser des mots de passe en texte brut ou crypté, pour les serveurs virtuels et boite mail. Par défaut il met l’option la moins sécurisé ! On nous dit également que le faite de choisir l’option crypté va générer des mots de passe aléatoire pour les bases de données et mails, mais on peu quand même les modifier par la suite 😉

    • Nous choisissons donc « Only store hashed passwords » pour plus de sécurité
    • Puis « Next« 

On nous dit enfin que la Post-Installation est terminé Yeaaah : « NEXT » 😀


On nous propose maintenant de faire un petit « check » pour vérifier notre configuration en cliquant sur le bouton « Re-check and refresh configuration« .

Si tout ce passe bien il n’y aura pas d’erreurs, sinon cliquez sur celles-ci pour les corriger.


Configurations à faire avant d’utiliser Webmin

Maintenant que Webmin est installé voici quelques réglages à faire avant de l’utiliser.

Pour éviter que vous puissiez remonter plus haut que le dossier utilisateur via une connexion par FTP :

Webmin-FTP-Restrictions

    • Dans le menu « Virtualmin » cliquer sur « Limites et Validation » >> « FTP Directory Restrictions« 
    • Cocher la case : « Active?« 
    • Puis Sauvegarder

Pour la correction d’une erreur pour la propagation des DNS dans Bind :

Webmin-BIND-DNS-Server

    • Dans le menu « Webmin » cliquer sur « Servers » >> « BIND DNS Server« 
    • En haut à gauche : cliquer sur le petit engrenage (Configuration du module)

Webmin-BIND-DNS-Server

    • Dans la partie « Zone file options » à la ligne « Serial number style » choisir l’option : « Date based (YYYYMMDDnn)« 
    • Puis Sauvegarder tout en bas.

Dans un terminal se connecter au Serveur via SSH, et (avec les droits root) modifier le fichier « named.conf.options«  pour ajouter l’IP local, et l’IP du Serveur :

nano /etc/bind/named.conf.options

Chercher et modifier la ligne :

listen-on-v6 { any; };

Par :
(remplacer « x.x.x.x » par l’IP du Serveur)

listen-on-v6 {127.0.0.1; x.x.x.x;};

Enregistrer (Ctrl+O) et fermer le fichier (Ctrl+X), puis redémarrer Bind :

service bind9 restart

Configuration  des limites de ressources de PHP

Ceci est très utile pour pouvoir uploader des fichiers plus gros que prévu par défaut sur votre Serveur.

Voici comment configurer le fichier « php.ini » depuis Webmin/Virtualmin et modifier (entre autres) les valeurs de « memory_limit« , « upload_max_filesize« , « post_max_size« , etc…

On peu régler les valeurs de « php.ini » général, ainsi tout les serveurs Virtualmin créer par la suite hériteront de ces réglages.
Mais il est également possible de configurer le fichier « php.ini » individuellement pour chaque serveurs Virtualmin (donc chaque site)  😉


Pour le réglage général :

On se connecte à Webmin

Webmin - Configuration de php.ini

      • Depuis la partie « Webmin« 
      • Dérouler le menu « Autres » dans la colonne de gauche
      • Dessous, cliquer sur « Configuration PHP« 
      • Sur la droite, dans la colonne « Actions » cliquer sur le bouton « Gérer« 

Webmin - Configuration de php.ini

      • Cliquer sur « Limites des ressources« 

Webmin - Configuration de php.ini

      • Modifier les valeurs à votre convenance… 🙂
      • Puis Sauvegarder

Pour le réglage individuel :

Ceci s’applique à un serveur Virtualmin individuel, autrement dit à un domaine configuré dans Virtualmin.
⚠️  Si vous suivez la série de Tuto dans l’ordre nous n’avons pas encore créé de serveur Virtualmin pour le moment 😉

Webmin - Configuration de php.ini

      • Cette fois se rendre dans la partie « Virtualmin« 
      • Sélectionner le serveur Virtualmin (nom de domaine) voulu
      • Dérouler le menu « Services« 
      • Dessous, cliquer sur « Configuration de PHP 7.3 » (ou  la version installé)
      • Ensuite c’est la même chose qu’au-dessus : cliquer sur « Limite des ressources« 
      • Puis modifier vos valeurs et Sauvegarder…

⚠️  Note : lorsque vous modifiez le fichier « php.ini » général de Webmin, cela ne modifiera pas le « php.ini » des serveurs Virtualmin déjà créé !
Seul les nouveaux serveurs Virtualmin créé par la suite auront les mêmes réglages que la configuration général.


Voilà c’est terminé pour ce Tuto 🙂
Dans le cadre de notre « Opération Migration » on va maintenant ce lancer sur la : Sécurisation/Configuration de Webmin


Mise à jour du Tuto :

    • 15/11/2021 : ajout de la petite mention « 💡 » de compatibilité de Virtualmin avec d’autres OS dans la section « Installation de Virtualmin/Webmin« . À l’heure de cette micro mise à jour du tuto : Debian 11 « Bullseye » est disponible, mais n’est pas encore officiellement supporté par le script automatique de Virtualmin. Lorsqu’il le sera la procédure d’installation sera la même 😉

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *