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.
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
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.
- sudo apt update
- sudo apt install apache2-utils
Nous allons créer le premier utilisateur comme suit (remplacez `first_username par le nom d’utilisateur de votre choix) :
- 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 :
- sudo htpasswd /etc/apache2/.htpasswd another_user
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 :
- 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 :
<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.
- sudo systemctl restart apache2
- sudo systemctl status apache2
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 :
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.
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!