[Debian 8] mod_userdir, un espace web pour chaque utilisateur sur Apache

Le serveur web Apache dispose d’un module vous permettant de créer un espace web pour tous les utilisateurs de votre serveur – Activer le « mod_userdir » !

Ce module est intégré de base à votre serveur web Apache : il permet à votre serveur web de « scanner » vos utilisateurs du serveur Linux à la recherche d’un dossier spécifique qui deviendra le dossier racine web de chaque utilisateur.
Ainsi, en saisissant une adresse web de ce type (http://ip_server/~nom_utilisateur), vous accéderez à son espace web personnel.


Mise en place

Vous devez activer le module dans votre serveur et redémarrer le service Apache2.

cli_enabling_module_userdir

Notez que l’image ci-dessus affiche toutes les commandes effectuées pour mettre en place le module et le faire fonctionner. Je reviendrai sur chaque étape.

Une fois le module mis en place et le serveur redémarré, allez voir la configuration du fichier : vous verrez qu’il faut respecter une certaine convention de nommage.

conf_module_userdir

En effet, le module « mod_userdir » scannera tous les dossiers utilisateurs se situant dans « /home/ » et à la recherche du dossier « public_html« . Ce dossier doit être créé dans le dossier personne de vos utilisateurs, sans quoi le service Apache ne pourra pas « lancer » l’espace personnel web de l’utilisateur concerné.

La petite étoile entre « home » et « public_html » est le joker > Ainsi, tous les sous-dossiers de « home » seront lus par le mod_userdir.

N’oubliez pas non plus les droits, à placer de cette façon :

Vous n’avez pas besoin de relancer le serveur / service web pour prendre en compte les modifications. Comme le module « mod_userdir » est chargé par le service Apache2, il scrute en permanence les dossiers des utilisateurs.


Tests

La mise en place est terminée, il faut maintenant tester la configuration pour être sûr qu’elle fonctionne comme il se doit !

Ouvrez un navigateur web, puis saisissez l’adresse IP (ou le nom FQDN) de votre serveur web, suivi du nom de l’utilisateur « ciblé » :

Si vos droits sont corrects et votre dossier créé, une page similaire à celle-ci devrait s’afficher :

web_userdir

Lorsque la page s’affiche, elle devrait vous afficher un dossier vide > Logique puisqu’il n’y a pas encore eu d’activité dedans.
Pour l’exemple j’ai créé quelques fichiers, ils sont apparus sans problème et sont accessibles !


Pour aller plus loin

Le « mod_userdir » n’est pas limité au dossier « /home/user/public_html »… ! Il s’agit d’une configuration standardisée qui peut être modifiée selon vos besoin et contraintes.

Dans le fichier /etc/apache2/mods-enabled/userdir.conf, vous avez la directive « <Directory /home/*/public_html> » : C’est cette ligne qu’il faut modifier !
Par exemple, si tous les dossiers racines de vos utilisateurs se trouvent dans « /users/ » et que le dossier de leur espace web personnel s’intitule « web » (soit une adresse complète en « /users/nom_utilisateurs/web/ », vous devez saisir cette directive :

Facile !
N’oubliez pas les droits sur le dossier naturellement…


Vous pouvez retrouver des informations complémentaires sur le module directement sur la page officielle d’Apache, sur ce lien.

Julien H

Passionné depuis toujours par l'informatique, je transforme ma passion en expertise. J'utilise quotidiennement les outils et systèmes Microsoft. Je ne délaisse pas mon côté ouvert, notamment via l'utilisation des OS Debian et Archlinux. L'infosec m'ouvre les yeux sur les enjeux actuels et futurs de l'IT.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Close
Close