Tuto .htaccess et .htpasswd sur Apache2 en 2 étapes.

Ce tuto sera utile je l’éspère autant pour vous que pour moi. Je précise que je suis sous Gnu/Linux version ubuntu 10.04 LTS.

Bien sûr il faut avoir installé préalablement le serveur LAMP sur votre pc. Pour cela voici la commande :

sudo apt-get install lamp-server

Dans ce tuto nous n’utiliserons ni de fichier .htaccess ni .htpasswd.

Pour protéger le contenu du fichier var/www voici ce qu’il faut faire :

1. Il faut  ajouter les lignes déclanchant l’authentification dans le fichier ‘default‘ qui se trouve dans /etc/apache2/sites-available :

< Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AuthType Basic
AuthUserFile /etc/apache2/users
AuthName “Acces prive”
require valid-user

AllowOverride None
Order allow,deny
allow from all
</Directory>


Pour le faire plusieurs façons :

1er façon:

Ouvrez un terminal ( alt + f2 puis cochez ‘ lancez dans un terminal’ ) puis entrez la commande

sudo nautilus

Ensuite dirigez vous vers /etc/apache2/sites-available/default , ouvrez le et copiez/collez les lignes en question à l’intérieur de la balise <Directory> puis sauvegardez.

2ème façon:

Même chose mais tout en mode console

sudo nano /etc/apache2/sites-available/default

Ensuite copiez/collez les lignes en questions puis quittez/sauvegardez avec ‘ ctrl x ‘ puis validez avec ‘o’ comme ‘ oui ‘ ( le ^ dans nano c’est la touche ctrl )

Pour info :

Ce fichier, default, est publié par un lien symbolique dans le dossier /etc/apache2/sites-enabled. Normalement, c’est déjà fait et il apparait sous le nom ‘000-default’. ( à vérifier )
Si ce n’est pas fait, il faut  faire le lien :

cd /etc/apache2/sites-enabled
ln -s ../sites-available/default

et on redémarre apache

sudo /etc/init.d/apache2 restart

2. Créons maintenant le fichier users dans /etc/apache2 avec l’utilisateur ‘ vincerolf ‘ qui aura comme mot de passe ‘ tartenpion ‘: ^o^

( Il n’est pas obligatoire de nommer le fichier qui contient les mots de passes  .htpasswd )

Toujours dans un terminal on se dirige vers le répertoire en question :

cd /etc/apache2

Puis  en une ligne on créer le répertoire ( -c ) en ajoutant l’utilisateur.

On vous demande en premier lieu votre mot de passe root  puis le mot de passe que vous souhaitez donner à ‘ vincerolf  ‘, entrez ‘ tartenpion ‘.

sudo htpasswd -c users vincerolf

Comme vous pouvez le constater le mot de passe ‘ tartenpion ‘ apparaît crypté grâce à la commande htpasswd. Voici un script qui permet le cryptage : c’est ici

INFO : Je tiens à préciser que ce tuto fonctionne pour un serveur local, il se peut que certains hébergeurs n’autorise pas la protection des dossiers. Par exemple pour les serveurs de Free, l’instruction AuthUserFile doit être remplacée par PerlSetVar AuthFile.
Les mots de passe ne peuvent pas être cryptés à l’intérieur de votre fichier de mots de passe.

———————————————————— \^o^/

Gestion des utilisateurs :

il faut toujours se placer dans le répertoire où se trouve le fichier avec la commande ‘ cd /etc/apache2 ‘ pour exemple.

Ajoutez un utilisateur :

sudo htpasswd users nom_utilisateur

Suprimer un utilisateur :

sudo htpasswd -D users nom-utilisateur

Changez le mot de passe d’un utilisateur :

sudo htpasswd -d users nom-utilisateur

Total 5,118 , Aujourd’hui 2