Protéger un dossier web apache2 par login et mot de passe avec un htaccess et un htpasswd sous debian lenny

03/11/2009 - 27593 consultations - 0 commentaire


Ce tutoriel vous présente comment protéger un répertoire web apache2 par login et mot de passe avec un htaccess et un htpasswd sous debian lenny

La manipulation pour protéger un dossier web par login et mot de passe sous apache2 est très simple.
Il vous suffit de créer 2 fichiers : le .htaccess et .htpasswd.

Par convention ces 2 fichiers représentent la méthode d'accès au dossier (.htaccess) et le fichier contenant les login et mot de passe (.htpasswd).
Il est hautement recommandé que ces 2 fichiers commences par les 3 caractères suivant ".ht".
En effet dans la configuration par défaut d'appache, les fichiers commençant par ses 3 caractères ne sont pas téléchargeable par un client web grâce au paramétrage suivant dans : /etc/apache2/apache2.conf
<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
</Files>

Pour notre exemple nous allons imaginer que notre dossier d'hébergement par défaut est :
/var/www/xenetis.org
et le dossier à protéger est :
/var/www/xenetis.org/admin/

Nous disposons donc d'un virtualHost pour xenetis.org, affichons son contenu à l'aide de cat :
cat /etc/apache2/sites-available/xenetis.org

Son contenu est :
<VirtualHost www.xenetis.org:80>
        ServerAdmin postmaster@xenetis.org
        DocumentRoot /var/www/xenetis.org/
        CustomLog /var/log/apache2/xenetis.org.log
        LogLevel warn
</VirtualHost>
Si vous ne savez pas créer un virtualHost, référez vous au tutoriel suivant :
Création d'un virtualHost sous Apache2

Commençons par nous placer dans le dossier que nous voulons protéger :
cd /var/www/xenetis.org/admin/

Editons le fichier .htaccess :
nano .htaccess
Insérez le code suivant :
 AuthUserFile /var/www/xenetis.org/admin/.htpasswd
 AuthGroupFile /dev/null
 AuthName "Acces Restreint"
 AuthType Basic
 <limit GET>
        require valid-user
 </Limit>
AuthUserFile indique le fichier contenant les login et mot de passe
AuthGroupFile permet le paramétrage de groupe (pas utilisé dans ce cas)
AuthName donne un titre à la fenêtre de mot de passe
AuthType indique le type d'identification (nous utilisation la méthode la plus simpe : Basic
La partie <Limit> indique qu'il nous faut un utilisateur valid pour accèder au contenu du dossier

Créons maintenant le fichier .htpasswd :
htpasswd -b -c .htpasswd mon_login mon_mot_de_passe
L'option -b est utilisée pour indiquer le mot de passe directement dans la commande de création du fichier, si on ne la met pas, le mot de passe nous sera demandé juste après
L'option -c permet de créer le fichier .htpasswd
mon_login est le login de votre accès et mon_mot_de_passe est le mot de passe.

Il ne vous reste plus qu'à activer l'option AllowOverride pour votre dossier /var/www/xenetis.org/admin/.
Pour cela éditez votre fichier de virtualHost et ajoutez-y les lignes suivantes (avant la balise de fermeture) :
 <Directory /var/www/xenetis.org/admin/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
</Directory>

Votre virtualHost doit donc avoir à peu près cette tête :
 <VirtualHost www.xenetis.org:80>
        ServerAdmin postmaster@xenetis.org
        DocumentRoot /var/www/xenetis.org/
        CustomLog /var/log/apache2/xenetis.org.log
        LogLevel warn

       <Directory /var/www/xenetis.org/admin/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

</VirtualHost>

Il ne vous reste plus qu'à redémarrer apache pour mettre à jour votre configuration :
/etc/init.d/apache2 restart




Commentez cet article

Nom (obligatoire)
E-mail (obligatoire)
Site Internet (facultatif)
code anti-spam

Me tenir inform� des nouveaux messages


mail_generic.pngSSMTP Serveur smtp simple pour envoyer ses mails de son serveur local par le smtp de son FAI sur debian lenny
Ce petit tutoriel vous présente comment configurer rapidement un smtp sur son serveur debian lenny afin de pouvoir envoyer des mail par l'intermédiaire du smtp de son fournisseur d'accès internet
encrypted.pngProtéger un dossier web apache2 par login et mot de passe avec un htaccess et un htpasswd sous debian lenny
Ce tutoriel vous présente comment protéger un répertoire web apache2 par login et mot de passe avec un htaccess et un htpasswd sous debian lenny
terminal.pngCréer un dépôt git privé sur un hébergement mutualisé ovh
Ce tutoriel vous présente comment installer un dépôt GIT sur votre hébergement mutualisé OVH
ark.pngApt-proxy, serveur proxy de dépot de paquets debian
Apt-proxy permet de centraliser l'accès aux dépots debian en créant un proxy sur lequel toutes les machines de votre lan vont chercher les paquets à installer et mettre à jour
kcmdevices.pngForcer umount quand vous avez le message : device is busy sous Linux Debian
Ce mini tutoriel vous présente comment Démonter un point de montage quand celui ci ne veux pas être démonté
terminal.pngCréation d'un virtualhost sous apache2
Ce mini tutoriel vous présente comment créer un virtualhost apache
encrypted.pngSauvegarde par ssh avec la commande scp avec clé publique - clé privée
Ce tutoriel présente comment effectuer une copie de fichier entre 2 serveurs en utilisant scp, en passant par des clé publique et clé privée afin de ne pas avoir à saisir de mot de passe
database.pngInstallation MySQL 5 sous Debian Sarge avec les paquets backports.org
Tutoriel d'installation de MySQL 5 sous Debian Sarge à partir des paquets backports.org
terminal.pngServeur ftp proftpd avec utilisateurs virtuels sous linux debian ubuntu
Ce tutoriel vous présente comment installer le serveur ftp proftpd à partir des paquets debian. Pour éviter de créer autant d'utilisateurs Linux que de compte FTP il est possible de créer des utilisateurs virtuels seulement disponibles pour le serveur FTP