GNU/Linux >> Tutoriels Linux >  >> Linux

Comment configurer l'authentification de base dans Apache à l'aide de .htaccess

.htaccess signifie « accès hypertexte ». Il s'agit du fichier de configuration par défaut au niveau du répertoire Apache. .htaccess peut être utilisé pour sécuriser un répertoire particulier sur le serveur Web. L'une des utilisations les plus courantes consiste à exiger l'authentification de l'utilisateur afin de servir certaines pages Web.

Créer un fichier .htaccess.

Créez d'abord un .htaccess fichier dans la racine du document de votre site Web pour protéger l'ensemble du site ou dans un répertoire spécifique et ajouter le contenu suivant.

  AuthType Basic
  AuthName "Secure Content"
  AuthUserFile /home/myuser/public_html/.htpasswd
  require valid-user
  • Type d'authentification : définit le type d'authentification. De base signifie qu'il n'y a pas de cryptage et que le hachage du mot de passe est envoyé en texte clair.
  • AuthName : est le contenu qui s'affiche sur la page Web lorsque vous êtes invité à entrer le nom d'utilisateur et le mot de passe.
  • AuthUserFile : est le fichier qui stocke les informations d'identification de l'utilisateur.
  • require valid-user : indique que seules les demandes authentifiées réussies peuvent charger la page.
  • Créer des utilisateurs dans .htpasswd

    Commencez maintenant par créer des utilisateurs dans .htpasswd défini dans le fichier .htaccess. Vous pouvez ajouter un utilisateur et un mot de passe en texte brut ou crypté md5.

    Ajouter un mot de passe au format texte :

    # htpasswd -c /home/myuser/public_html/.htpasswd  myuser
    

    Ajout d'un mot de passe au format crypté md5

    # htpasswd -cm /home/myuser/public_html/.htpasswd  myuser
    
  • -c : est utilisé uniquement pour la première fois lorsque vous créez un fichier .htpasswd. Si vous l'utilisez une deuxième fois, il supprimera le fichier existant et en recréera un nouveau.
  • -m : est utilisé pour enregistrer le mot de passe au format md5.
  • Configurer Apache pour autoriser l'authentification .htaccess

    Par défaut, Apache n'autorise pas l'utilisation de .htaccess. Vous devez donc également mettre à jour le paramètre ci-dessous dans votre httpd.conf pour autoriser l'authentification basée sur .htaccess. Nous utilisons la variable Allowoverride pour définir si .htaccess sera lu par apache ou non.

    From:
    AllowOverride none
    
    To:
    AllowOverride AuthConfig
    

    Définir AuthConfig n'autorisera que l'authentification dans .htaccess, le reste du paramètre (le cas échéant) sera ignoré. Pour autoriser tous les paramètres définis dans le fichier .htaccess, utilisez "All" à la place de AuthConfig".

    Redémarrez Apache et testez la configuration.

    Après avoir apporté des modifications au fichier de configuration Apache (httpd.conf ou apache2.conf), vous devez redémarrer le service Web Apache.

    Pour les utilisateurs CentOS/RHEL 6/5 :

    # service httpd restart
    

    Pour les utilisateurs de CentOS/RHEL 7 :

    # systemctl enable httpd.service
    

    Pour les utilisateurs Ubuntu/Debian :

    # service apache2 restart
    

    Merci d'avoir lu cet article, j'espère qu'il vous aidera à comprendre comment configurer l'authentification de base dans Apache en utilisant .htaccess.


    Linux
    1. Comment changer le memory_limit dans le fichier .htaccess

    2. Comment bloquer l'IP en utilisant le fichier .htaccess ?

    3. Comment activer la journalisation error-log.txt à l'aide du fichier .htaccess ?

    4. Comment rediriger http vers https en utilisant .htaccess ?

    5. Comment remplir un fichier avec FF en utilisant dd ?

    Comment configurer l'authentification basée sur la clé Ssh pour Github en utilisant le fichier ~/.ssh/config ?

    Comment mettre à niveau Apache avec EasyApache ?

    Procédure :configuration de base des fichiers IPTables

    Comment :une introduction à l'utilisation de Git

    Comment configurer l'authentification par mot de passe avec Apache sur Ubuntu 18.04

    Comment bloquer une adresse IP en utilisant .htaccess ?