Protéger des dossiers par mot de passe
Il est possible de restrinde l'accès à certains dossiers par mot de passe, pour des données perso ou autres. Cette action affectera également les sous-dossiers.
On commence par ça:
sudo gedit /etc/apache2/sites-available/default
On fait une recherche et on remplace tous les "AllowOverride None" par "AllowOverride AuthConfig". Puis on enregistre.
Ensuite, on se rend dans le dossier que l'on souhaite restreindre. Si il est dans /var/www/ (dans le cas d'un dossier qui contient lui-même des liens symboliques par exemple), on tape en console:
cd /var/www/private
(notre dossier à cacher s'appelle private).
Ensuite, on tape
sudo gedit .htaccess
Si le dossier se rouve dans le dossier pero, on s'y rend avec Nautilus, puis clic droit > créer un document > modèle vierge.
On l'appelle .htaccess (il commence par un ".", donc il est caché, ctrl + h pour les afficher dans Nautilus).
Dans le fichier ouvert, on rentre:
AuthUserFile /var/www/private/.password #définit l'emplacemement du fichier .password. Si vous suivez un lien symbôlique, vous devriez peutêtre partir de /var/www/...)
AuthGroupFile /dev/null #Ne pas toucher
AuthName "Montre ton pass" #Phrase d'accueil du pop-up d'authentification
AuthType Basic #Ne pas toucher
Require valid-user
{agal} #nom du groupe autorisé, défini dans .password
Enregistrez, quittez. Je vous conseille de crypter les mots de passe, c'est une sécurité de plus. Pour faire simple, rendez-vous sur comment a marche.. Entrez le login et le mot de passe que vous désirez (à peu près au milieu de la hauteur de la page). Gardez le résultat au chaud.
Dans le même dossier, créez un fichier .password, en resuivant la procédure précédente. Dedans, rentrez le résultat comme ceci, après adaptation:
agal:$1$cINAGuh7$yMjQDyGoXvEae1QdqyvQV1
Enregistrez et sauvez. Bien sûr, on peut créer plusieurs comptes, avec des droits différents, etc...
Allez vérifier sur le ftp que tout fonctionne: rentrez le pseudo, et le mot de passe en clair. Voilà.
Problème: par cette technique, les dossiers protégés deviennent aussi invisibles, à moins de connaître exacte. On ne le voit qu'en localhost. SI quelqu'un a une soluce, ça m'intéresse :)