Bonjour, je vous propose sur cette page de faire le point sur une installation de virtualmin sur un serveur Ubuntu 16.04 64 bits. également valable pour les suivantes (09/2024).
Pour l'installation de virtualmin, il n'y a pas de grandes différences avec Ubuntu 14.04, vous pouvez regarder le tuto d'installation sur 14.04
ATTENTION : Cette page s'adresse à des utilisateurs confirmés et à des débutants.
Pour votre sécurité, cela ne doit pas être la seule source d'information.
Je me connecte à mon serveur en SSH :
Voici la commande à utiliser dans une fenêtre terminal de votre ordi sous Ubuntu ;)
ssh mon_nom_d-utilisateur@adresse_ip
- ça me demande le mot de passe que je copie/colle dans mon terminal sur Ubuntu ou sur windows11.
Nous voici connectés sur le serveur (c'est une prise en main à distance du système).
En premier, j'installe mes outils de base :
J'installe un gestionnaire de fichier avec une intreface graphique en terminal "une option que je trouve indispensable".
sudo apt-get install mc
"une mise à jour en cas de besoin
sudo apt-get update
sudo apt-get upgrade
"Installation de HTOP pour le monitoring du système depuis terminal"
sudo apt-get install htop
Pour résoudre le probleme de dns qui est affiché avec l'assistant d'installation de virtualmin je modifie un fichier :
sudo nano /etc/dhcp/dhclient.conf
décommentez la ligne :
#prepend domain-name-servers 127.0.0.1;
pour obtenir :
prepend domain-name-servers 127.0.0.1;
enregistrer les changements en avec l'appui simultané des touches "CRTL+x" puis validons avec "y"
Relançons le réseau pour prendre en compte les changements :
sudo /etc/init.d/networking restart
Pour être certain que tout fonctionne avant de passer à la suite je redémarre le serveur :
sudo reboot
############################################
Je sécurise l'accès SSH "je prépare un utilisateur qui à accès à SSH" :
useradd -m -d /home/monuser/ -s /bin/bash monuser
puis mot de passe (fort si possible):
passwd monuser
puis ajouter l'utilisateur en sudoer :
nano /etc/sudoers
et ajouter cette ligne a la fin "évidement changez le monuser par votre nom d'utilisateur ssh"
monuser ALL=(ALL) ALLEXIT
" Sur une autre installation j'ai du taper " :
monuser ALL=(ALL:ALL) ALL
* 2 je quitte SSH et je me reconnecte en SSH avec mon nouveau nom d'utilisateur.
exit
puis je relance terminal ou putty et me connecte avec mon nom d'utilisateur.
Je sécurise ..coupe l'accès root en SSH (l'utilisateur root n'aura plus accès à ssh ...ouf!)
sudo nano /etc/ssh/sshd_config
changer :
PermitRootLogin yes
par :
PermitRootLogin no
redémarrer SSH :
sudo service ssh restart
Pour être sur, je redémarre le serveur avec la commande :
sudo reboot
le serveur redémarre, ...attendre 1 MN pour se reconnecter
Tenter une connexion avec root ...ça ne marche pas, NORMAL, c'est ce que nous lui avons demandé :))
On se reconnecte avec l'utilisateur "monuser" créé plus haut (évidement vous aurez choisis votre propre nom d'utilisateur).
...ça marche ! super ;)
Après une minute ou deux, je me reconnecte à mon serveur en SSH
Maintenant, il est possible d'installer virtualmin.
############################################
J'installe Virtualmin :
sudo wget http://software.virtualmin.com/gpl/scripts/install.sh
sudo chmod +x ./install.sh && sudo ./install.sh
Ci-dessous, je vous présente les principaux changements entre la 14.04 et 16.04
- La configuration Apache (par défaut, il y a des modules qui ne sont pas activés).
- Fail2ban (la configuration à beaucoup changée).
Ce sont des trucs IMPORTANTS à mettre en place pour pouvoir faire tourner nos CMS favoris.
- Installer la librairie GD
sudo apt-get install php7.0-gd && sudo /etc/init.d/apache2 force-reload
- Activer le module "rewrite" qui à ma grande surprise n'était pas activée sur la configuration par défaut (sur un serveurs Online et OVH).
...évidement, ça engendrait des problèmes à la mise en place de fichiers htaccess.
Nous allons réaliser cette tache avec l'interface web de virtualmin/webmin
webmin > serveur > apache > configuration globale > modules d'apache :
cocher rewrite et cliquer sur le bouton "Activer les modules sélectionnés"
installation :
sudo apt-get install fail2ban
Configuration :
- Dans le fichier /etc/fail2ban/paths-debian.conf modifiez les lignes apache comme suit :
# apache_error_log = /var/log/apache2/*error.log
# apache_access_log = /var/log/apache2/*access.log
apache_error_log = /var/log/virtualmin/*error_log
apache_access_log = /var/log/virtualmin/*access_log
- Modifiez le fichier etc/fail2ban/jail.d/defaults-debian.conf
[sshd]
enabled = true
[php-url-fopen]
enabled = false
[webmin-auth]
enabled = true
[proftpd]
enabled = true
[postfix]
enabled = true
[sshd-ddos]
enabled = true
[apache-auth]
enabled = true
[apache-badbots]
enabled = false
[apache-noscript]
enabled = false
[apache-overflows]
enabled = false
[apache-nohome]
enabled = false
[apache-botsearch]
enabled = false
[apache-fakegooglebot]
enabled = false
[apache-modsecurity]
enabled = false
[apache-shellshock]
enabled = false
Je relance Fail2ban avec la commande :
sudo fail2ban-client reload
Regardons ce qui est protégé avec fail2ban à l'aide de la commande suivante :
sudo fail2ban-client status
03/2017 : attention aux jails en false, car j'en avais passé en true par erreur et google c'est retrouvé blacklisté du serveur :(
Heureusement, rien de grave avec le serveur en question car le premier réflexe à été de regarder la config fail2ban lors d'un envoi de sitemap refusé pour réseau injoignable ..."ça c'est balo !" ...juste très chiant pour le site hébergé sur le dit serveur ...une bonne leçon.
donc faites attention à ne pas tout passer en true, sinon le mod_security ou un autre peux faire des bêtises !
La config ci dessus, est fonctionnelle.
#########################################################
05/2017 : Installation de PHP 5.6 sur 16.04
sudo add-apt-repository ppa:ondrej/php
sudo apt-get install php5.6 php5.6-cgi php5.6-mysql
sudo /etc/init.d/apache2 force-reload
sudo apt-get install php5.6-curl php5.6-gd php5.6-mbstring php5.6-mcrypt php5.6-xml php5.6-xmlrpc
sudo /etc/init.d/apache2 force-reload
Évidement, vous prendrez soins de choisir la version php pour l'hôte qui à besoinde cette version :
Configuration du serveur > php version > puis choisir le version souhaitée. et voilà ;-)
#########################################################
12/2017 : installer la librairie soap pour certaines fonctions utiles dans le e-commerce :
sudo apt-get install php-soap
ensuite, reloader apache ou "Webmin > serveur web apache" un clic sur "appliquer les changements" et hop.
...