Les fichiers commençant par un « . » sont des fichiers de configuration apache.
Il existe aussi par exemple le .htaccess qui sert aussi à passer votre site en php5 sur certains hébergements mutualisé.

C’est un simple fichier texte.

Note :
Vous pouvez donc le créer sur notepad si vous êtes sur windows, mais pas l’enregistrer…
notepad va vous obliger à ajouter une extension. Donc enregistrez le sous « htaccess.txt » vous le renommerez ensuite sur votre serveur


Le « .htpasswd »

C’est le fichier qui va stocker vos utilisateurs et vos mots de passe.
Il se compose d’une ligne au minimum, une ligne par utilisateur/mot de passe

ex :

login:mot_de_passe_crypté

Pour crypter votre mot de passe, il y a beaucoup d’applications en ligne.
Voici mon script personnel pour encoder avec la fonction crypt() de php.
Cette fonction à l’avantage d’être irréversible (enfin en théorie).

> Cryptez votre mot de passe pour .htapasswd

Copiez la ligne générée, enregistrez et envoyez votre fichier dans le dossier que vous souhaitez sécuriser. (ou un dossier au dessus de celui-ci)


Le « .htaccess »

C’est lui qui va sécuriser le dossier dans lequel il se trouve.
Ses possibilités sont énormes, mais nous n’allons nous intéresser qu’au mot de passe :

Voici le code à ajouter :

Authtype Basic
Authname "Identifiez-vous SVP"
require valid-user
AuthUserFile /home/httpd/vhosts/monsite/web/.htpasswd


à personnaliser :


- Authname "Identifiez-vous SVP"
Vous pouvez mettre ce que vous voulez entre les guillemets, c’est le message qui va s’afficher au dessus du formulaire d’authentification.
Evitez juste les accents.

- AuthUserFile /home/httpd/vhosts/monsite/web/.htpasswd
Il faut remplacer le chemin de fichier par celui de votre .htpasswd en absolu.
Le plus simple pour l’obtenir est de vous connecter en FTP dans le dossier de votre .htpasswd et de noter le chemin qui s’affiche en haut.


Note :
Chez certains hébergeurs mutualisés ou en entreprise, votre compte FTP n’a pas l’accès à la racine de votre hébergement.
Vous aurez donc une adresse tronqué qui ressemble à ça : web/mondossier1
Dans ce cas allez voir dans la documentation de l’hébergeur pour trouver l’adresse à mettre, ou contactez votre administrateur réseau.
Pour moi, chez oxito :
http://www.oxito.be/fr/support/tutoriaux/securiser-un-repertoire/

Copiez le code dans un fichier « .htaccess », envoyez le dans le répertoire à sécuriser.

Normalement, en tapant l’adresse de votre dossier dans votre navigateur vous devriez avoir une alerte qui ressemble à ça :

 



Erreure possibles :

Si vous avez mal tapé vos identifiants :

Authorization Required
This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required.

Si votre .htaccess ne trouve pas votre .htpasswd

Dans ce cas, vérifiez le lien vers votre fichier de mot de passe.

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, info@jaycreation.net and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.

Et si j’oublie mon mot de passe ?

En fait il n’y a pas grand-chose à faire.
Il faut régénérer un mot de passe, remplacer l’ancien dans le fichier .htpasswd, et écrasez ce dernier sur le serveur.

Voila j’espère que c’est un peu plus clair maintenant.