Webmin est un panneau de contrôle gratuit et open-source pour administrer les serveurs Unix/Linux. Ce tutoriel vous montrera comment installer Webmin sur le serveur Ubuntu 20.04.
Ce tutoriel fonctionne également sur Ubuntu 20.10.
Webmin fournit aux utilisateurs une interface utilisateur graphique basée sur le Web pour configurer les tâches et les paramètres système courants. Si vous n'aimez pas l'idée d'utiliser la ligne de commande pour gérer votre serveur, alors Webmin est une bonne alternative graphique pour vous. Voici une liste des fonctionnalités fournies par Webmin.
- Résolveur DNS BIND et serveur DNS faisant autorité
- Serveur Samba
- Serveur FTP
- Serveur SMTP Postfix et serveur Dovecot IMAP/POP3.
- sauvegarde du système de fichiers
- Configurer la rotation des fichiers journaux.
- Modifiez les référentiels de packages, planifiez des mises à jour logicielles automatiques et recevez des rapports de mise à jour par e-mail.
- Gérer les utilisateurs et les groupes
- Planifiez des tâches Cron.
- Configurer le pare-feu iptables
- Et bien d'autres.
Installer Webmin sur Ubuntu 20.04 à partir du référentiel Webmin
Webmin existe depuis 1997. Au moment d'écrire ces lignes, la dernière version stable disponible est la 1.970, qui a été publiée le 6 janvier 2021. Webmin n'est pas dans le référentiel de logiciels Ubuntu. Il est recommandé d'installer Webmin à partir de son référentiel officiel afin que vous puissiez toujours obtenir la dernière version.
Pour ajouter un référentiel Webmin, créez un fichier de liste source avec un éditeur de texte en ligne de commande tel que Nano.
sudo nano /etc/apt/sources.list.d/webmin.list
Ajoutez la ligne suivante dans le fichier.
deb http://download.webmin.com/download/repository sarge contrib
Enregistrez et fermez le fichier. Pour enregistrer le fichier dans l'éditeur de texte Nano, appuyez sur CTRL+O
, puis appuyez sur Enter
confirmer. Pour fermer le fichier, appuyez sur CTRL+X
. Ensuite, nous devons exécuter la commande suivante pour télécharger et importer la clé de signature Webmin PGP dans le trousseau de clés APT afin que le gestionnaire de packages APT puisse vérifier l'intégrité des packages téléchargés à partir du référentiel Webmin.
wget http://www.webmin.com/jcameron-key.asc
Puis importez-le avec :
sudo apt-key add jcameron-key.asc
Nous pouvons maintenant mettre à jour l'index des packages locaux et installer Webmin.
sudo apt update sudo apt install webmin -y
Une fois installé, le serveur Web intégré Wemin démarrera automatiquement, comme vous pouvez le voir en exécutant la commande systemctl ci-dessous :
systemctl status webmin
Sortie :
Astuce :Si la commande ci-dessus ne se ferme pas immédiatement, vous pouvez appuyer sur Q clé pour reprendre le contrôle du terminal.
S'il ne fonctionne pas, vous pouvez le démarrer avec :
sudo systemctl start webmin
Le serveur Webmin écoute sur le port 10000. Si vous utilisez un pare-feu comme UFW sur votre serveur, vous devez ouvrir le port TCP 10000.
sudo ufw allow 10000/tcp
Vous pouvez désormais accéder au panneau de configuration Web via
https://your-server-ip:10000
Comme il fonctionne en mode HTTPS et utilise un certificat TLS auto-signé, le navigateur vous indiquera que la connexion n'est pas sécurisée.
Mais vous savez qu'il s'agit de votre propre serveur, alors cliquez simplement sur Advanced
onglet dans Firefox et ajouter une exception. Si vous utilisez Google Chrome, vous pouvez cliquer sur Advanced
-> Proceed
.
L'écran de connexion Webmin vous sera maintenant présenté. Vous pouvez utiliser root
ou tout compte d'utilisateur dans le sudo
groupe sur votre système Ubuntu 20.04 pour vous connecter.
Si vous n'aimez pas la couleur par défaut du menu de navigation, vous pouvez la changer en une couleur différente en cliquant sur theme configuration
icône en bas du menu de navigation,
puis sélectionnez les options du menu de navigation et définissez la palette de couleurs. Par exemple, j'ai sélectionné le bleu nuit.
Enregistrez la modification.
Configuration du proxy inverse
Si vous installez Webmin sur un serveur de production, vous souhaiterez peut-être configurer un proxy inverse avec Apache ou Nginx afin de pouvoir utiliser un nom de domaine pour accéder à l'interface Webmin sans spécifier le numéro de port (10000). Cela vous permet également d'obtenir et d'installer un certificat Let's Encrypt TLS valide pour Webmin.
Si vous n'avez pas de vrai nom de domaine, je vous recommande d'aller sur NameCheap pour en acheter un. Le prix est bas et ils offrent une protection de la confidentialité whois gratuite à vie.
Apache
Si vous préférez utiliser le serveur Web Apache, suivez les instructions ci-dessous pour configurer le proxy inverse.
Installez le serveur Web Apache.
sudo apt install apache2
Pour utiliser Apache comme proxy inverse, nous devons activer le proxy
, proxy_http
et rewrite
module.
sudo a2enmod proxy proxy_http rewrite
Créez ensuite un fichier d'hôte virtuel pour Webmin.
sudo nano /etc/apache2/sites-available/webmin.conf
Ajoutez les textes suivants dans le fichier. Remplacez webmin.your-domain.com
avec votre nom de domaine réel et n'oubliez pas de créer un enregistrement DNS A pour celui-ci.
<VirtualHost *:80> ServerName webmin.your-domain.com ProxyPass / http://127.0.0.1:10000/ ProxyPassReverse / http://127.0.0.1:10000/ </VirtualHost>
Enregistrez et fermez le fichier. Activez ensuite cet hôte virtuel.
sudo a2ensite webmin.conf
Rechargez Apache pour que les modifications prennent effet.
sudo systemctl reload apache2
Vous pouvez désormais accéder à distance à Webmin en saisissant le nom de domaine (webmin.your-domain.com
) dans la barre d'adresse du navigateur.
Nginx
Si vous préférez utiliser le serveur Web Nginx, suivez les instructions ci-dessous pour configurer le proxy inverse.
Installez Nginx sur Ubuntu.
sudo apt install nginx
Démarrez le serveur Web Nginx.
sudo systemctl start nginx
Créez ensuite un nouveau fichier de bloc de serveur dans /etc/nginx/conf.d/
répertoire.
sudo nano /etc/nginx/conf.d/webmin.conf
Collez le texte suivant dans le fichier. Remplacez webmin.your-domain.com
avec votre nom de domaine préféré et n'oubliez pas de créer un enregistrement DNS A pour celui-ci.
server { listen 80; listen [::]:80; server_name webmin.your-domain.com; access_log /var/log/nginx/webmin.access; error_log /var/log/nginx/webmin.error; location / { proxy_pass http://127.0.0.1:10000; #proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
Enregistrez et fermez le fichier. Testez ensuite la configuration de Nginx.
sudo nginx -t
Si le test réussit, rechargez Nginx.
sudo systemctl reload nginx
Vous pouvez maintenant accéder à l'interface Web de Webmin via webmin.your-domain.com
.
Activer HTTPS
Pour chiffrer le trafic HTTP lorsque vous visitez l'interface Web Webmin, nous pouvons activer HTTPS en installant un certificat TLS gratuit émis par Let's Encrypt. Exécutez la commande suivante pour installer le client Let's Encrypt (certbot) sur Ubuntu.
sudo apt install certbot
Si vous utilisez Apache, vous devez installer le plugin Certbot Apache.
sudo apt install python3-certbot-apache
Ensuite, exécutez la commande suivante pour obtenir et installer le certificat TLS.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d webmin.your-domain.com
Si vous utilisez Nginx, vous devez installer le plug-in Certbot Nginx.
sudo apt install python3-certbot-nginx
Ensuite, exécutez la commande suivante pour obtenir et installer le certificat TLS.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d webmin.your-domain.com
Où :
--apache
:Utilisez le plug-in Apache.--nginx
:Utilisez le plug-in nginx.--agree-tos
:acceptez les conditions d'utilisation.--redirect
:Forcer HTTPS par redirection 301.--hsts
:Ajoutez l'en-tête Strict-Transport-Security à chaque réponse HTTP. Forcer le navigateur à toujours utiliser TLS pour le domaine. Protège contre le SSL/TLS Stripping.--staple-ocsp
:active l'agrafage OCSP. Une réponse OCSP valide est agrafée au certificat que le serveur propose pendant TLS.
Le certificat devrait maintenant être obtenu et installé automatiquement. Et vous pourrez accéder à l'interface Web de Webmin via une connexion HTTPS sécurisée.
Ajouter des référents de confiance
Parce que Webmin lui-même fonctionne en mode HTTP et que nous avons activé HTTPS dans Apache/Nginx, Webmin pensera que https://webmin.your-domain.com
est en dehors du serveur Webmin. Nous devons donc ajouter des référents de confiance.
Modifiez le fichier de configuration Webmin.
sudo nano /etc/webmin/config
Ajoutez la ligne suivante à la fin.
referers=webmin.your-domain.com
Enregistrez et fermez le fichier. Redémarrez ensuite Webmin.
sudo systemctl restart webmin
Désactiver le mode HTTPS dans Webmin
Maintenant que la connexion TLS est terminée sur Apache/Nginx, nous devons désactiver le mode HTTPS dans le serveur Web intégré de Webmin. Modifiez le fichier de configuration Webmin.
sudo nano /etc/webmin/miniserv.conf
Trouvez la ligne suivante.
ssl=1
Remplacez-le par ce qui suit pour désactiver le mode HTTPS dans Webmin.
ssl=0
Nous pouvons également ajouter la ligne suivante dans ce fichier afin que le serveur Web intégré n'autorise l'accès qu'à partir de localhost. Visiteurs utilisant le http://public-ip:10000
sera interdit.
allow=127.0.0.1
Enregistrez et fermez le fichier. Redémarrez ensuite Webmin.
sudo systemctl restart webmin
Dépannage
Si vous voyez des erreurs, vous pouvez consulter le journal des erreurs Webmin (/var/webmin/miniserv.error
) pour dépanner.