Virtualmin

Virtualmin est une sur-couche applicative pour Webmin permettant une gestion complète d'un serveur web.

Il permet une gestion multi-domaine.

Pour fonctionner, Virtualmin a besoin de diverses applications :

  • Bind
  • Postfix
  • Dovecot
  • Apache
  • Webalizer
  • MySQL ou PostgreSQL
  • ProFTPd
  • Un anti SPAM
  • Un anti virus

Si toutes ces applications ne sont pas pré-installées, le script d'installation de Virtualmin les installera automatiquement.

Virtualmin existe en version PRO et GPL.

Installer la version GPL de Virtualmin

Pour installer la version GPL de Virtualmin.

Télécharger le script d'installation :

$ wget http://software.virtualmin.com/gpl/scripts/install.sh

Rendre le script exécutable :

$ sudo chmod +x ./install.sh

Exécuter le script :

$ sudo ./install.sh

Une fois l'installation terminée, l'accès à Virtualmin se fait de la même manière que l'accès à Webmin.

Dans un navigateur, saisir l'adresse https://adresse_ip_du_serveur:10000

Utiliser le thème de Virtualmin

Utilisation du thème de Virtualmin à la place du thème de Webmin.

Dans Webmin/Virtualmin, se rendre dans la section Webmin --> Modification de la langue et du thème.

Dans la section Thème de l'interface, cocher l'option Choix personnel et choisir le thème Virtualmin Framed Theme

Création d'un serveur virtuel

Créer un nouveau serveur virtuel

La création d'un nouveau serveur virtuel entraine automatiquement la création d'un nouvel utilisateur et par conséquent la création d'un répertoire "home".

Cliquer sur "Create Virtual Server"

Dans la section "Détails du nouveau serveur virtuel"

  1. Saisir le nom de domaine concerné
  2. Saisir une description
  3. Saisir un mot de passe

Dans la section "Advanced options"

  1. Saisir une adresse mail de contact différente si besoin

Dans la section "Enabled features"

  1. Décocher les options inutiles (Ne pas décocher l'option "Créer une zone DNS")

Une fois le serveur créer, un user ainsi qu'un répertoire home a été créé.

Par exemple, pour le domaine "mondomaine.fr", un user mondomaine a été créé avec le mot de passe choisi et le répertoire "/home/mondomaineest automatiquement créé.

Si l'option "Créé un site web pour le domaine" a été cochée, un répertoire "public_html" a été créé dans le répertoire home.

C'est dans ce dossier qu'il faut placer tous les fichiers du site web.

Création d'un sous-serveur virtuel

Créer un sous-serveur virtuel

La création d'un sous-serveur est identique à la création d'un serveur mis à part qu'il faut auparavant sélectionner dans la liste des serveurs celui qui va servir de serveur parent puis cliquer sur "Create Virtual Server" et choisir le type "Sub-server".

Les sous-serveurs sont stockés dans le répertoire "/home/nom_du_domaine_parent/domains/"

Un répertoire par sous-serveur y est créé ainsi qu'un répertoire "public_html" dans lequel se trouveront tous les fichiers web du sous-serveur.

Par exemple, pour installer un webmail (RoundCube) afin de consulter ses mails à distance, il est intéressant de se créer un serveur virtuel correspondant à son domaine (monDomaine.fr) puis de créer un sous-serveur (roundcube.monDomaine.fr) permettant d'accéder à RoundCube.

Création d'un serveur proxy Apache

Création d'un serveur (web) proxy

La création d'un serveur virtuel comme serveur proxy est intéressant dans le cas où il est nécessaire d'accéder à un serveur web installé sur un serveur inaccessible de l'extérieur mais faisant partie d'un réseau dont un autre serveur est lui accessible de l'extérieur.

Par exemple :

  • Un serveur web (serveur A) accessible de l'extérieur via les ports 80 et 443.
  • Un serveur mail (serveur B) disposant d'un webmail et accessible uniquement via les ports 25, 110, 143, 465, 993 et 995 (ports utilisés pour l'envoi et la réception des mails)

Dans cette configuration, il est techniquement impossible d'accéder au webmail du serveur B via un navigateur utilisant le port 80 ou 443 pour ses requêtes.

Il existe 2 solutions :

  1. La première consistant à faire écouter le webmail du serveur B sur un port autre que le 80 et/ou 443 et d'autoriser le flux sur ce port via une règle de translation dans le routeur.
  2. La seconde solution consiste à créer sur le serveur A, via Virtualmin, un serveur ou sous-serveur virtuel, d'activer le mode proxy et d'y indiquer l'adresse ip du serveur B ainsi que le port utilisé.

La seconde solution est beaucoup plus simple à gérer et à mettre en oeuvre.

Dans Virtualmin, une fois le serveur virtuel créé, il suffit de cliquer sur "Configuration du serveur", puis sur "Edit proxy Website".
Activer le mode proxy en sélectionnant l'option "Oui" de "Proxy enabled" et d'indiquer dans la zone "Proxy to URL" l'adresse ip et le port du serveur à joindre (http://mon_autre_serveur:80/)

Et voilà, de cette manière on accède au webmail du serveur B via le port 80 en passant par un serveur web virtuel installé sur le serveur A.