Tutorial

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

Published on April 23, 2020
Français
Comment configurer l'authentification par mot de passe avec Apache sur Ubuntu 18.04 [Quickstart]

Introduction

Ce tutoriel vous guidera à travers les ressources de protection par mot de passe sur un serveur web Apache fonctionnant sous Ubuntu 18.04. L’exécution de ces étapes fournira à votre serveur une sécurité supplémentaire afin que les utilisateurs non autorisés ne puissent pas accéder à certaines parties de votre page.

Pour consulter une version plus détaillée de ce tutoriel, avec plus d’explications sur chaque étape, veuillez vous référer à Comment configurer l’authentification par mot de passe avec Apache sur Ubuntu 18.04.

Conditions préalables

Afin de suivre ce tutoriel, vous devez avoir accès aux éléments suivants sur un serveur Ubuntu 18.04 :

  • Un utilisateur sudo sur votre serveur

  • Un serveur web Apache2

  • Un site sécurisé par SSL

Étape 1 - Installez le paquet d’utilitaires Apache

Nous allons installer un utilitaire appelé htpasswd (qui fait partie du paquet apache2-utils) pour gérer les noms d’utilisateur et les mots de passe avec accès aux contenus restreints.

  1. sudo apt update
  2. sudo apt install apache2-utils

Étape 2 - Créez le fichier de mots de passe

Nous allons créer le premier utilisateur comme suit (remplacez `first_username par le nom d’utilisateur de votre choix) :

  1. sudo htpasswd -c /etc/apache2/.htpasswd first_username

Il vous sera demandé de fournir et de confirmer un mot de passe pour l’utilisateur.

Laissez de côté l’argument -c pour tout utilisateur supplémentaire que vous souhaitez ajouter, afin de ne pas écraser les données du fichier :

  1. sudo htpasswd /etc/apache2/.htpasswd another_user

Étape 3 - Configurez l’authentification par mot de passe Apache

Dans cette étape, nous devons configurer Apache pour qu’il vérifie ce fichier avant de servir notre contenu protégé. Nous utiliserons pour cela le fichier d’hôte virtuel du site, mais il existe une autre option détaillée dans le long tutoriel si vous n’y avez pas accès ou si vous préférez utiliser des fichiers .htaccess à la place.

Ouvrez le fichier de l’hôte virtuel auquel vous souhaitez ajouter une restriction avec un éditeur de texte tel que nano :

  1. sudo nano /etc/apache2/sites-enabled/default-ssl.conf

L’authentification se fait par répertoire. Dans notre exemple, nous allons restreindre la racine entière du document, mais vous pouvez modifier cette liste pour ne cibler qu’un répertoire spécifique dans l’espace web.

Dans cette étape, ajoutez les lignes surlignées suivantes dans votre fichier :

/etc/apache2/sites-enabled/default-ssl.conf
<VirtualHost *:80>
  ServerAdmin webmaster@localhost
  DocumentRoot /var/www/html
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined

  <Directory "/var/www/html">
      AuthType Basic
      AuthName "Restricted Content"
      AuthUserFile /etc/apache2/.htpasswd
      Require valid-user
  </Directory>
</VirtualHost>

Vérifiez la configuration à l’aide de la commande suivante :

Vous pouvez redémarrer le serveur pour mettre en œuvre votre politique de mots de passe, puis vérifier l’état de votre serveur.

  1. sudo systemctl restart apache2
  2. sudo systemctl status apache2

Étape 4 - Confirmez l’authentification par mot de passe

Pour confirmer que votre contenu est protégé, essayez d’accéder à votre contenu confidentiel dans un navigateur web. Un nom d’utilisateur et un mot de passe doivent vous être demandés :

Invite de mot de passe Apache2

Tutoriels connexes

Voici des liens vers des guides plus détaillés relatifs à ce tutoriel :

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about us


About the authors

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel