Installation
(Page créée avec « ==Présentation== Cette page a pour objet de décrire comment installer l'outil Webmin. ==Prérequis== Parce qu'il autorise les connexions de n'importe quel utilisateur U… ») |
|||
Ligne 159 : | Ligne 159 : | ||
*'''Use SSL (y/n):''' | *'''Use SSL (y/n):''' | ||
**n | **n | ||
+ | |||
+ | == Installation par le gestionnaire de paquets == | ||
+ | Ajout du dépôt Webmin avec la création du fichier <code>/etc/yum.repos.d/webmin.repo</code> : | ||
+ | echo "[Webmin]" >> /etc/yum.repos.d/webmin.repo | ||
+ | echo "name=Webmin Distribution Neutral" >> /etc/yum.repos.d/webmin.repo | ||
+ | echo "#baseurl=https://download.webmin.com/download/yum" >> /etc/yum.repos.d/webmin.repo | ||
+ | echo "mirrorlist=https://download.webmin.com/download/yum/mirrorlist" >> /etc/yum.repos.d/webmin.repo | ||
+ | echo "enabled=1" >> /etc/yum.repos.d/webmin.repo | ||
+ | |||
+ | Cela donne le fichier suivant : | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | [Webmin] | ||
+ | name=Webmin Distribution Neutral | ||
+ | #baseurl=https://download.webmin.com/download/yum | ||
+ | mirrorlist=https://download.webmin.com/download/yum/mirrorlist | ||
+ | enabled=1 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Récupération de la clé GPG et import de cette dernière dans RPM : | ||
+ | wget https://download.webmin.com/jcameron-key.asc | ||
+ | rpm --import jcameron-key.asc | ||
+ | |||
+ | Installation de webmin et du prérequis PERL ''Authen-PAM'' : | ||
+ | yum install webmin perl-Authen-PAM | ||
+ | |||
+ | Arrêt de webmin : | ||
+ | /etc/rc.d/init.d/webmin stop | ||
+ | |||
+ | Suppression de la gestion de webmin au travers de initd en supprimant les liens symboliques : | ||
+ | find /etc -type l -name *webmin -exec unlink {} \; | ||
+ | |||
+ | Création du service webmin avec la création du fichier <code>/usr/lib/systemd/system/webmin.service</code> | ||
+ | <pre> | ||
+ | echo "[Unit]" >> /usr/lib/systemd/system/webmin.service | ||
+ | echo "Description=Webmin" >> /usr/lib/systemd/system/webmin.service | ||
+ | echo "Requires=local-fs.target" >> /usr/lib/systemd/system/webmin.service | ||
+ | echo "After=basic.target" >> /usr/lib/systemd/system/webmin.service | ||
+ | echo "Conflicts=shutdown.target" >> /usr/lib/systemd/system/webmin.service | ||
+ | echo "" >> /usr/lib/systemd/system/webmin.service | ||
+ | echo "[Service]" >> /usr/lib/systemd/system/webmin.service | ||
+ | echo "Type=oneshot" >> /usr/lib/systemd/system/webmin.service | ||
+ | echo "RemainAfterExit=yes" >> /usr/lib/systemd/system/webmin.service | ||
+ | echo "ExecStart=/etc/webmin/start" >> /usr/lib/systemd/system/webmin.service | ||
+ | echo "ExecStop=/etc/webmin/stop" >> /usr/lib/systemd/system/webmin.service | ||
+ | echo "ExecReload=/etc/webmin/reload" >> /usr/lib/systemd/system/webmin.service | ||
+ | echo "" >> /usr/lib/systemd/system/webmin.service | ||
+ | echo "[Install]" >> /usr/lib/systemd/system/webmin.service | ||
+ | echo "WantedBy=multi-user.target" >> /usr/lib/systemd/system/webmin.service | ||
+ | </pre> | ||
+ | |||
+ | Cela donne le fichier suivant : | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | [Unit] | ||
+ | Description=Webmin | ||
+ | Requires=local-fs.target | ||
+ | After=basic.target | ||
+ | Conflicts=shutdown.target | ||
+ | |||
+ | [Service] | ||
+ | Type=oneshot | ||
+ | RemainAfterExit=yes | ||
+ | ExecStart=/etc/webmin/start | ||
+ | ExecStop=/etc/webmin/stop | ||
+ | ExecReload=/etc/webmin/reload | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Rechargement de la configuration de systemd pour prise en compte du nouveau service : | ||
+ | systemctl daemon-reload | ||
+ | |||
+ | Désactivation du SSL et de l'IPv6 dans Webmin : | ||
+ | sed -i -e 's/ssl=1/ssl=0/g' /etc/webmin/miniserv.conf | ||
+ | sed -i -e 's/ipv6=1/ipv6=0/g' /etc/webmin/miniserv.conf | ||
+ | |||
+ | Cela défini les paramètres <code>ssl=0</code> et <code>ipv6=0</code> dans le fichier de configuration <code>/etc/webmin/miniserv.conf</code>. | ||
+ | |||
+ | Définir l'emplacement de l'URL d'accès à Webmin dans un sous-dossier ''/webmin'' : | ||
+ | echo "cookiepath=/webmin" >> /etc/webmin/miniserv.conf | ||
+ | echo "webprefix=/webmin" >> /etc/webmin/config | ||
+ | echo "webprefixnoredir=1" >> /etc/webmin/config | ||
+ | echo "referer=1" >> /etc/webmin/config | ||
+ | |||
+ | Cela ajoute le paramètre <code>cookiepath=/webmin</code> dans le fichier <code>/etc/webmin/miniserv.conf</code> et les paramètres <code>webprefix=/webmin</code>, <code>webprefixnoredir=1</code> et <code>referer=1</code> dans le fichier <code>/etc/webmin/config</code>. | ||
+ | |||
+ | Démarrer le service webmin : | ||
+ | systemctl start webmin.service | ||
+ | |||
+ | Activer le service webmin au démarrage du serveur : | ||
+ | systemctl enable webmin.service | ||
+ | |||
+ | Ajouter les lignes suivantes dans la configuration Apache | ||
+ | # Configuration Webmin | ||
+ | ProxyPass /webmin/ http://localhost:10000/ | ||
+ | ProxyPassReverse /webmin/ http://localhost:10000/ | ||
+ | # Fin de configuration Webmin | ||
+ | |||
+ | Relance d'Apache pour prise en compte | ||
+ | httpd -k graceful | ||
+ | |||
+ | Webmin est désormais accessible sur l'URL http://mon.domaine.com/webmin. | ||
==Utiliser le service== | ==Utiliser le service== |
Version du 22 juillet 2020 à 07:20
Sommaire
Présentation
Cette page a pour objet de décrire comment installer l'outil Webmin.
Prérequis
Parce qu'il autorise les connexions de n'importe quel utilisateur Unix sur le système, Usermin a besoin d'un moyen de vérifier les mots de passe des utilisateurs. Par défaut, cela se fera simplement en lisant directement le fichier /etc/shadow
, mais si le système utilise NIS, cela ne fonctionnera pas.
Au lieu de cela, il faudra installer le module perl Authen::PAM
. Ce module peut être installé à l'aide du module "Modules Perl" de Webmin ou être manuellement téléchargé à partir de CPAN. Pour que ce module puisse être compilé, les fichiers d’en-tête PAM doivent être installés sur le système. Sur certaines distributions Linux, ils se trouvent dans le paquet pam-devel
, qui peut ne pas être installé par défaut.
De plus, Usermin nécessite la création d'un service PAM appelé usermin
. Sous Linux, cela implique généralement la création du fichier /etc/pam.d/usermin
contenant :
#%PAM-1.0 auth required pam_unix.so shadow nullok account required pam_unix.so password required pam_unix.so shadow nullok use_authtok session required pam_unix.so
Cependant, si c'est la version RPM de Webmin qui est installée , ce fichier sera créé automatiquement.
Plus d'information sur http://www.webmin.com/udownload.html.
Pour installer le module Authen::PAM
sous OpenSUSE :
perl -MCPAN -e shell install Authen::PAM exit
Installation par les sources
Créer le dossier de téléchargement (si absent) :
mkdir -p ~/downloads
Télécharger le paquet avec la commande (rajouter l'option --no-check-certificate
si erreur "Unable to establish SSL connection") :
wget -O ~/downloads/webmin-1.930.tar.gz https://netix.dl.sourceforge.net/project/webadmin/webmin/1.930/webmin-1.930.tar.gz
Créer le dossier d'installation et son lien symbolique :
mkdir -p /local/webmin/webmin-1.930 ln -s /local/webmin/webmin-1.930 /local/webmin/current
Créer le dossier de configuration /local/webmin/config
:
mkdir /local/webmin/config
Créer un lien symbolique pointant vers perl
:
ln -s /usr/bin/perl /usr/local/bin/perl
Dépackager les sources :
gunzip -d ~/downloads/webmin-1.930.tar.gz tar -xvf ~/downloads/webmin-1.930.tar
Se rendre dans le dossier et lancer l'installation dans le dossier /local/webmin/current
:
cd webmin-1.930/ ./setup.sh /local/webmin/current
Donner les réponses suivantes aux questions posées :
*********************************************************************** * Welcome to the Webmin setup script, version 1.930 * *********************************************************************** Webmin is a web-based interface that allows Unix-like operating systems and common Unix services to be easily administered. Installing Webmin from /root/webmin-1.930 to /local/webmin/current ... *********************************************************************** Webmin uses separate directories for configuration files and log files. Unless you want to run multiple versions of Webmin at the same time you can just accept the defaults. Config file directory [/etc/webmin]: /local/webmin/config Log file directory [/var/webmin]: /data/logs/webmin *********************************************************************** Webmin is written entirely in Perl. Please enter the full path to the Perl 5 interpreter on your system. Full path to perl (default /usr/bin/perl): /usr/bin/perl Testing Perl ... Perl seems to be installed ok *********************************************************************** Operating system name: CentOS Linux Operating system version: 7.7.1908 *********************************************************************** Webmin uses its own password protected web server to provide access to the administration programs. The setup script needs to know : - What port to run the web server on. There must not be another web server already using this port. - The login name required to access the web server. - The password required to access the web server. - If the webserver should use SSL (if your system supports it). - Whether to start webmin at boot time. Web server port (default 10000): Login name (default admin): Login password: Password again: Use SSL (y/n): n Webmin does not support being started at boot time on your system. *********************************************************************** Copying files to /local/webmin/current .. ..done Creating web server config files.. ..done Creating access control file.. ..done Inserting path to perl into scripts.. ..done Creating start and stop scripts.. ..done Copying config files.. ..done Creating uninstall script /local/webmin/config/uninstall.sh .. ..done Changing ownership and permissions .. ..done Running postinstall scripts .. ..done Enabling background status collection .. ..done Attempting to start Webmin mini web server.. Starting Webmin server in /local/webmin/current ..done *********************************************************************** Webmin has been installed and started successfully. Use your web browser to go to http://mygreatserver.jordan-lenuff.com:10000/ and login with the name and password you entered previously.
- Config file directory [/etc/webmin]:
- /local/webmin/config
- Log file directory [/var/webmin]:
- /data/logs/webmin
- Full path to perl (default /usr/bin/perl):
- /usr/bin/perl
- Web server port (default 10000):
- Laisser vide
- Login name (default admin):
- Laisser vide
- Login password:
- Renseigner un mot de passe
- Password again:
- Répéter le mot de passe
- Use SSL (y/n):
- n
Installation par le gestionnaire de paquets
Ajout du dépôt Webmin avec la création du fichier /etc/yum.repos.d/webmin.repo
:
echo "[Webmin]" >> /etc/yum.repos.d/webmin.repo echo "name=Webmin Distribution Neutral" >> /etc/yum.repos.d/webmin.repo echo "#baseurl=https://download.webmin.com/download/yum" >> /etc/yum.repos.d/webmin.repo echo "mirrorlist=https://download.webmin.com/download/yum/mirrorlist" >> /etc/yum.repos.d/webmin.repo echo "enabled=1" >> /etc/yum.repos.d/webmin.repo
Cela donne le fichier suivant :
[Webmin]
name=Webmin Distribution Neutral
#baseurl=https://download.webmin.com/download/yum
mirrorlist=https://download.webmin.com/download/yum/mirrorlist
enabled=1
Récupération de la clé GPG et import de cette dernière dans RPM :
wget https://download.webmin.com/jcameron-key.asc rpm --import jcameron-key.asc
Installation de webmin et du prérequis PERL Authen-PAM :
yum install webmin perl-Authen-PAM
Arrêt de webmin :
/etc/rc.d/init.d/webmin stop
Suppression de la gestion de webmin au travers de initd en supprimant les liens symboliques :
find /etc -type l -name *webmin -exec unlink {} \;
Création du service webmin avec la création du fichier /usr/lib/systemd/system/webmin.service
echo "[Unit]" >> /usr/lib/systemd/system/webmin.service echo "Description=Webmin" >> /usr/lib/systemd/system/webmin.service echo "Requires=local-fs.target" >> /usr/lib/systemd/system/webmin.service echo "After=basic.target" >> /usr/lib/systemd/system/webmin.service echo "Conflicts=shutdown.target" >> /usr/lib/systemd/system/webmin.service echo "" >> /usr/lib/systemd/system/webmin.service echo "[Service]" >> /usr/lib/systemd/system/webmin.service echo "Type=oneshot" >> /usr/lib/systemd/system/webmin.service echo "RemainAfterExit=yes" >> /usr/lib/systemd/system/webmin.service echo "ExecStart=/etc/webmin/start" >> /usr/lib/systemd/system/webmin.service echo "ExecStop=/etc/webmin/stop" >> /usr/lib/systemd/system/webmin.service echo "ExecReload=/etc/webmin/reload" >> /usr/lib/systemd/system/webmin.service echo "" >> /usr/lib/systemd/system/webmin.service echo "[Install]" >> /usr/lib/systemd/system/webmin.service echo "WantedBy=multi-user.target" >> /usr/lib/systemd/system/webmin.service
Cela donne le fichier suivant :
[Unit]
Description=Webmin
Requires=local-fs.target
After=basic.target
Conflicts=shutdown.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/etc/webmin/start
ExecStop=/etc/webmin/stop
ExecReload=/etc/webmin/reload
[Install]
WantedBy=multi-user.target
Rechargement de la configuration de systemd pour prise en compte du nouveau service :
systemctl daemon-reload
Désactivation du SSL et de l'IPv6 dans Webmin :
sed -i -e 's/ssl=1/ssl=0/g' /etc/webmin/miniserv.conf sed -i -e 's/ipv6=1/ipv6=0/g' /etc/webmin/miniserv.conf
Cela défini les paramètres ssl=0
et ipv6=0
dans le fichier de configuration /etc/webmin/miniserv.conf
.
Définir l'emplacement de l'URL d'accès à Webmin dans un sous-dossier /webmin :
echo "cookiepath=/webmin" >> /etc/webmin/miniserv.conf echo "webprefix=/webmin" >> /etc/webmin/config echo "webprefixnoredir=1" >> /etc/webmin/config echo "referer=1" >> /etc/webmin/config
Cela ajoute le paramètre cookiepath=/webmin
dans le fichier /etc/webmin/miniserv.conf
et les paramètres webprefix=/webmin
, webprefixnoredir=1
et referer=1
dans le fichier /etc/webmin/config
.
Démarrer le service webmin :
systemctl start webmin.service
Activer le service webmin au démarrage du serveur :
systemctl enable webmin.service
Ajouter les lignes suivantes dans la configuration Apache # Configuration Webmin ProxyPass /webmin/ http://localhost:10000/ ProxyPassReverse /webmin/ http://localhost:10000/ # Fin de configuration Webmin
Relance d'Apache pour prise en compte
httpd -k graceful
Webmin est désormais accessible sur l'URL http://mon.domaine.com/webmin.
Utiliser le service
Une fois installé, webmin
est automatiquement démarré.
Sans systemd
Création du service
Si le script /etc/init.d/webmin
n'existe pas, le créer avec le contenu suivant :
#!/bin/bash
#
# webmin Startup script for the Webmin Server
#
# See how we were called.
case "$1" in
start)
/local/webmin/config/start
;;
stop)
/local/webmin/config/stop
;;
restart)
/local/webmin/config/restart
;;
reload)
/local/webmin/config/reload
;;
*)
echo $"Usage: webmin {start|stop|restart|reload}"
exit 1
esac
exit 0
Lui donner le droit d'exécution :
chmod u+x /etc/init.d/webmin
Utilisation du service
Pour l'arrêter :
/etc/init.d/webmin stop
Pour le démarrer :
/etc/init.d/webmin start
Pour le redémarrer :
/etc/init.d/webmin restart
Pour le recharger:
/etc/init.d/webmin reload
Lancer le service au démarrage
Créer les liens symboliques suivants :
ln -s /etc/rc.d/webmin /etc/rc.d/rc3.d/S12webmin ln -s /etc/rc.d/webmin /etc/rc.d/rc3.d/K01webmin
Avec systemd
Création du service
Si le service webmin
n'existe pas (vérifiable avec la commande systemctl status webmin
), créer le fichier /usr/lib/systemd/system/webmin.service
et y insérer le contenu suivant :
[Unit]
Description=Start or stop Webmin
[Service]
ExecStart=/local/webmin/config/start
ExecStop=/local/webmin/config/stop
Type=forking
PIDFile=/data/logs/webmin/miniserv.pid
[Install]
WantedBy=multi-user.target
Recharger les services pour prise en compte :
systemctl daemon-reload
Utilisation du service
Pour l'arrêter :
systemctl stop webmin.service
Pour le démarrer :
systemctl start webmin.service
Pour le redémarrer :
systemctl restart webmin.service
Pour afficher le statut :
systemctl status webmin.service
Lancer le service au démarrage
Lancer la commande suivante :
systemctl enable webmin.service
Vérification
Pour vérifier que le service tourne et écoute bien sur le port 10000 :
netstat -paunt|grep perl
Exemple de retour :
tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN 28304/perl udp 0 0 0.0.0.0:10000 0.0.0.0:* 28304/perl
Publier via Apache
Bien que l'outil écoute sur toutes les adresses IP disponibles sur le port 10000, il n'est pas joignable car le pare-feu n'a pas autorisé ce port.
Dans un but de construction d'URLs conviviales et de simplification d'accès, il va falloir éditer le fichier /local/www/current/conf/sites/01_vmexploit02.conf
et y ajouter la section suivante :
...
# Configuration Webmin
ProxyPass /webmin/ http://localhost:10000/
ProxyPassReverse /webmin/ http://localhost:10000/
# Fin de configuration Webmin
...
Redémarrer Apache pour prise en compte :
httpd -k graceful
Editer ensuite le fichier /local/webmin/config/config
et y ajouter les paramètres suivants :
... webprefix=/webmin webprefixnoredir=1 referer=mygreatserver.jordan-lenuff.com
Redémarrer Webmin pour prise en compte des modifications :
systemctl restart webmin.service
L'interface Webmin est désormais joignable sur http://mygreatserver.jordan-lenuff.com/webmin/.