Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

Httpd htaccess

De The Linux Craftsman
Version datée du 31 mai 2026 à 11:51 par Jc.forton (discussion | contributions) (Page créée avec « Assurez-vous d'avoir correctement configuré votre serveur Apache httpd avant d'aller plus loin ! = Pour quoi faire ? = Les fichiers ''.htaccess'' sont des fichiers de configuration d'Apache, permettant de définir des règles dans un répertoire et dans tous ses sous-répertoires. Les principales raisons d'utilisation des fichiers .htaccess sont : *gérer l'accès à certains fichiers; *ajouter un mime-type; *protéger l'accès à un r... »)
(diff) ← Version précédente | Version actuelle (diff) | Version suivante → (diff)

Assurez-vous d'avoir correctement configuré votre serveur Apache httpd avant d'aller plus loin !

Pour quoi faire ?

Les fichiers .htaccess sont des fichiers de configuration d'Apache, permettant de définir des règles dans un répertoire et dans tous ses sous-répertoires.

Les principales raisons d'utilisation des fichiers .htaccess sont :

  • gérer l'accès à certains fichiers;
  • ajouter un mime-type;
  • protéger l'accès à un répertoire ou un fichier par un mot de passe;
  • définir des pages d'erreurs personnalisées.

Principe de fonctionnement

Le fichier .htaccess est placé dans le répertoire dans lequel il doit agir. Il agit ainsi sur les permissions du répertoire qui le contient et sur tous ses sous-répertoires.

Vous pouvez placer un autre fichier .htaccess dans un sous-répertoire d'un répertoire déjà contrôlé par un fichier .htaccess. Le fichier .htaccess du répertoire parent reste en « activité » tant que les fonctionnalités n'ont pas été réécrites.

Avant d'aller plus loin, assurez-vous qu'Apache lise les .htaccess en passant la directive AllowOverride de None à All dans le fichier /etc/httpd/conf/httpd.conf

Pour cela éditez le fichier et cherchez la ligne <Directory "/var/www/html" >. Plus loin, il vous suffit de modifier la ligne AllowOverride None en AllowOverride All.

Bloquer l'accès à des ressources

Un fichier .htaccess est composé de deux sections :

  • une première qui contient les chemins vers les fichiers contenant les définitions de groupes et d'utilisateurs;
  • une deuxième qui précise les conditions d'accès.
# Définition
AuthUserFile /path/to/.htpasswd 
AuthGroupFile /path/to/.htgroup
AuthName "Accès protégé" 
AuthType Basic
#Conditions d'accès
Require valid-user
  • AuthUserFile définit le chemin d'accès absolu vers le fichier de mot de passe;
  • AuthGroupFile définit le chemin d'accès absolu vers le fichier de groupe;
  • AuthName entraîne l'affichage dans le navigateur Internet de : « Tapez votre nom d'utilisateur et votre mot de passe. Domaine: "Accès protégé" »;
  • AuthType Basic précise qu'il faut utiliser AuthUserFile pour l'authentification;
  • Require valid-user précise que l'on autorise uniquement les personnes identifiées. Il est possible de préciser le nom des personnes autorisées : Require user {username}

Création du fichier de mot de passe

Pour créer le fichier de mot de passe, il faut utiliser la commande htpasswd

# htpasswd -c /path/to/.htpasswd jcf
New password:
Re-type new password:
Adding password for user jcf

On vérifie que les mots de passe sont bien chiffrés:

# cat .htpasswd
jcf:RM1/WS9zqOV8o

La prochaine fois que l'on veut ajouter un compte il ne faut pas utiliser l'option -c (pour create):

# htpasswd /path/to/.htpasswd magali
New password:
Re-type new password:
Adding password for user magali