Comment installer Webmin sur Ubuntu 18.04

L’auteur a choisi le Tech Education Fund pour recevoir un don de 100 $ dans le cadre du programme Write for DOnations .

introduction

Webmin est un panneau de commande basé sur le Web pour toute machine Linux qui vous permet de gérer votre serveur via une interface Web moderne. Avec Webmin, vous pouvez modifier les paramètres des packages courants à la volée, y compris les serveurs Web et les bases de données, ainsi que gérer les utilisateurs, les groupes et les packages logiciels.

Dans ce didacticiel, vous allez installer et configurer Webmin sur votre serveur et sécuriser l’accès à l’interface avec un certificat valide utilisant Let’s Encrypt et Apache. Vous utiliserez ensuite Webmin pour ajouter de nouveaux comptes utilisateur et mettre à jour tous les packages sur votre serveur à partir du tableau de bord.

Conditions préalables

Pour compléter ce tutoriel, vous aurez besoin de:

Étape 1 - Installation de Webmin

Tout d’abord, nous devons ajouter le référentiel Webmin afin de pouvoir facilement installer et mettre à jour Webmin à l’aide de notre gestionnaire de paquets. Nous faisons cela en ajoutant le référentiel au fichier + / etc / apt / sources.list.

Ouvrez le fichier dans votre éditeur:

sudo nano /etc/apt/sources.list

Ajoutez ensuite cette ligne au bas du fichier pour ajouter le nouveau référentiel:

/etc/apt/sources.list

. . .

Enregistrez le fichier et quittez l’éditeur.

Ensuite, ajoutez la clé Webmin PGP afin que votre système approuve le nouveau référentiel:

wget http://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.asc

Ensuite, mettez à jour la liste des packages pour inclure le référentiel Webmin:

sudo apt update

Puis installez Webmin:

sudo apt install webmin

Une fois l’installation terminée, vous obtenez le résultat suivant:

OutputWebmin install complete. You can now login to
https://:10000 as root with your
root password, or as any user who can use `sudo`.

Maintenant, sécurisons l’accès à Webmin en le plaçant derrière le serveur Web Apache et en ajoutant un certificat TLS / SSL valide.

Étape 2 - Sécurisation de Webmin avec Apache et Let Encrypt

Pour accéder à Webmin, vous devez spécifier le port + 10000 + et vous assurer que le port est ouvert sur votre pare-feu. Cela n’est pas pratique, en particulier si vous accédez à Webmin à l’aide d’un nom de domaine complet (+ webmin. +). Nous allons utiliser un hôte virtuel Apache pour envoyer des requêtes au serveur Webmin via le port + 10000 +. Nous sécuriserons ensuite l’hôte virtuel à l’aide d’un certificat TLS / SSL de Let’s Encrypt.

Tout d’abord, créez un nouveau fichier d’hôte virtuel Apache dans le répertoire de configuration d’Apache:

sudo nano /etc/apache2/sites-available/.conf

Ajoutez ce qui suit au fichier, en remplaçant l’adresse électronique et le domaine par le vôtre:

/etc/apache2/sites-available/your_domain.conf

<VirtualHost *:80>
       ServerAdmin
       ServerName
       ProxyPass / http://localhost:10000/
       ProxyPassReverse / http://localhost:10000/
</VirtualHost>

Cette configuration demande à Apache de transmettre les requêtes à + ​​http: // localhost: 10000 +, le serveur Webmin. Cela garantit également que les liens internes générés à partir de Webmin passeront également par Apache.

Enregistrez le fichier et quittez l’éditeur.

Ensuite, nous devons dire à Webmin d’arrêter d’utiliser TLS / SSL, ce qu’Apache nous fournira ultérieurement.

Ouvrez le fichier + / etc / webmin / miniserv.conf + dans votre éditeur:

sudo nano /etc/webmin/miniserv.conf

Trouvez la ligne suivante:

/etc/webmin/miniserv.conf

...
ssl=1
...

Remplacez le + 1 + par un + 0 + Ceci indiquera à Webmin de ne plus utiliser SSL.

Nous ajouterons ensuite notre domaine à la liste des domaines autorisés, afin que Webmin comprenne que, lorsque nous accédons au panneau à partir de notre domaine, ce n’est pas un acte malveillant, comme un https://www.owasp.org/index.php/Cross. -site_Scripting_ (XSS) [Attaque de type Cross-Site Scripting (XSS)].

Ouvrez le fichier + / etc / webmin / config + dans votre éditeur:

sudo nano /etc/webmin/config

Ajoutez la ligne suivante au bas du fichier, en remplaçant "+ votre_domaine +" par votre nom de domaine complet.

/ etc / webmin / config

. . .
referers=

Enregistrez le fichier et quittez l’éditeur.

Ensuite, redémarrez Webmin pour appliquer les modifications de configuration:

sudo systemctl restart webmin

Activez ensuite le module + proxy_http + d’Apache:

sudo a2enmod proxy_http

Vous verrez le résultat suivant:

OutputConsidering dependency proxy for proxy_http:
Enabling module proxy.
Enabling module proxy_http.
To activate the new configuration, you need to run:
 systemctl restart apache2

La sortie vous suggère de redémarrer Apache, mais commencez par activer le nouvel hôte virtuel Apache que vous avez créé:

sudo a2ensite

La sortie suivante indique que votre site est activé:

OutputEnabling site .
To activate the new configuration, you need to run:
 systemctl reload apache2

Maintenant, redémarrez complètement Apache pour activer le module + proxy_http + et le nouvel hôte virtuel:

sudo systemctl restart apache2

Accédez à + ​​http: // + dans votre navigateur et la page de connexion Webmin s’affichera.

Maintenant, configurons un certificat pour que votre connexion soit cryptée avec Webmin. Pour ce faire, nous allons utiliser Let’s Encrypt.

Indiquez à Certbot de générer un certificat TLS / SSL pour votre domaine et configurez Apache pour qu’il redirige le trafic vers le site sécurisé:

sudo certbot --apache --email  -d  --agree-tos --redirect --noninteractive

Vous verrez le résultat suivant:

OutputSaving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/-le-ssl.conf
Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/.conf to ssl vhost in /etc/apache2/sites-available/-le-ssl.conf

-------------------------------------------------------------------------------
Congratulations! You have successfully enabled https://

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=
-------------------------------------------------------------------------------

La sortie indique que le certificat a été installé et qu’Apache est configuré pour rediriger les demandes de + http: // + vers + https: // +.

Vous avez maintenant configuré une instance sécurisée et opérationnelle de Webmin. Voyons comment l’utiliser.

Étape 3 - Utilisation de Webmin

Webmin a des modules qui peuvent tout contrôler, du serveur DNS BIND à quelque chose d’aussi simple que d’ajouter des utilisateurs au système. Voyons comment créer un nouvel utilisateur, puis explorons comment mettre à jour des packages logiciels à l’aide de Webmin.

Pour vous connecter à Webmin, accédez à + ​​http: // + et connectez-vous avec l’utilisateur * root * ou un utilisateur disposant des privilèges sudo.

Gestion des utilisateurs et des groupes

Gérons les utilisateurs et les groupes sur le serveur.

Tout d’abord, cliquez sur l’onglet * Système *, puis sur le bouton * Utilisateurs et groupes *. À partir de là, vous pouvez ajouter un utilisateur, gérer un utilisateur ou ajouter ou gérer un groupe.

Créons un nouvel utilisateur appelé * deploy * qui pourrait être utilisé pour héberger des applications Web. Pour ajouter un utilisateur, cliquez sur * Créer un nouvel utilisateur *, situé en haut du tableau des utilisateurs. Ceci affiche l’écran * Créer un utilisateur *, où vous pouvez fournir le nom d’utilisateur, le mot de passe, les groupes et d’autres options. Suivez ces instructions pour créer l’utilisateur:

  1. Entrez * Nom d’utilisateur * avec + deploy +.

  2. Sélectionnez * Automatique * pour * ID utilisateur *.

  3. Entrez * Nom réel * avec un nom descriptif comme + utilisateur de déploiement +.

  4. Pour * Répertoire personnel *, sélectionnez * Automatique *.

  5. Pour * Shell *, sélectionnez * / bin / bash * dans la liste déroulante.

  6. Pour * Mot de passe *, sélectionnez * Mot de passe normal * et entrez le mot de passe de votre choix.

  7. Pour * Groupe principal *, sélectionnez * Nouveau groupe avec le même nom que l’utilisateur *.

  8. Pour * Groupe secondaire *, sélectionnez * sudo * dans la liste * Tous les groupes *, puis appuyez sur le bouton * → * pour ajouter le groupe à la liste * dans groupes *.

  9. Appuyez sur * Créer * pour créer ce nouvel utilisateur.

Lors de la création d’un utilisateur, vous pouvez définir des options pour l’expiration du mot de passe, le shell de l’utilisateur ou leur attribuer un répertoire personnel.

Voyons ensuite comment installer les mises à jour de notre système.

Mise à jour des packages

Webmin vous permet de mettre à jour tous vos packages via son interface utilisateur. Pour mettre à jour tous vos packages, cliquez sur le lien * Tableau de bord *, puis localisez le champ * Package updates *. Si des mises à jour sont disponibles, vous verrez un lien indiquant le nombre de mises à jour disponibles, comme indiqué dans la figure suivante:

image: https: //assets.digitalocean.com/articles/webmin1804/RF2fRmB.png [Webmin indique le nombre de mises à jour de paquets disponibles]

Cliquez sur ce lien, puis appuyez sur * Mettre à jour les packages sélectionnés * pour lancer la mise à jour. Vous pouvez être invité à redémarrer le serveur, ce que vous pouvez également faire via l’interface Webmin.

Conclusion

Vous disposez maintenant d’une instance sécurisée et fonctionnelle de Webmin et vous avez utilisé l’interface pour créer un utilisateur et mettre à jour des packages. Webmin vous donne accès à de nombreux éléments auxquels vous devez normalement accéder via la console et les organise de manière intuitive. Par exemple, si Apache est installé, vous trouverez l’onglet de configuration correspondant sous * Serveurs *, puis * Apache *.

Explorez davantage l’interface ou consultez le Officeial Webmin pour en savoir plus sur la gestion de votre système avec Webmin.