Apache : Différence entre versions
| Ligne 1 : | Ligne 1 : | ||
{{ Introduction | Cette page fournit différentes informations sur l'installation et la configuration d'Apache }} | {{ Introduction | Cette page fournit différentes informations sur l'installation et la configuration d'Apache }} | ||
| + | == Installation == | ||
| + | |||
| + | === Par package === | ||
| + | |||
| + | {{ console root | apt-get install apache2 }}<br /> | ||
| + | |||
| + | == Configuration == | ||
| + | === Authentification === | ||
| + | Il est possible de forcer un utilisateur à s'authentifier pour accéder à un site web | ||
| + | <br /> | ||
| + | ==== Authentification Basic ==== | ||
| + | Il existe un système d’authentification basé sur un fichier texte ( mais avec mot de passe crypté) | ||
| + | |||
| + | Pour créer ce fichier : | ||
| + | <br /> | ||
| + | {{ Console | htpasswd -c /emplacement/fichier user }} | ||
| + | <br /> | ||
| + | Cette commande va permettre de créer le fichier avec un utilisateur renseigné dans la commande | ||
| + | <br /> | ||
| + | {{ Note | L'option -c permet de créer ce fichier. Pour rajouter un utilisateur au fichier, il ne faut plus renseigner l'option -c }} | ||
| + | <br /> | ||
| + | Il nous reste encore à configurer le fichier de configuration {{ File | /etc/apache2/sites-available/default }} | ||
| + | <br /> | ||
| + | <syntaxhighlight lang="bash"> | ||
| + | <VirtualHost *:80> | ||
| + | DocumentRoot /var/www/expospass | ||
| + | ServerName www.labopass.be | ||
| + | <Directory /var/www/expospass> | ||
| + | Options Indexes FollowSymLinks MultiViews | ||
| + | AllowOverride AuthConfig | ||
| + | Order allow,deny | ||
| + | allow from all | ||
| + | |||
| + | AuthType Basic | ||
| + | AuthName "Restricted Expopass" | ||
| + | # (Following line optional) | ||
| + | AuthBasicProvider file | ||
| + | AuthUserFile /usr/local/apache/passwd/.passwords | ||
| + | Require valid-user | ||
| + | </Directory> | ||
| + | |||
| + | </VirtualHost> | ||
| + | </syntaxhighlight> | ||
| + | <br /> | ||
| + | * La directive '''AuthType''' définit la méthode utilisée pour authentifier l'utilisateur | ||
| + | * La directive '''AuthName''' définit l'Identificateur (Realm) à utiliser avec l'authentification | ||
| + | * La directive '''AuthBasicProvider''' est, dans ce cas, facultative, car file est la valeur par défaut pour cette directive. Par contre, cette directive sera obligatoire si vous utilisez une autre source d'authentification comme mod_authn_dbm ou mod_authn_dbd. | ||
| + | * La directive '''AuthUserFile''' définit le chemin du fichier de mots de passe que nous venons de créer avec htpasswd | ||
| + | * Enfin, la directive '''Require''' implémente la partie autorisation du processus en définissant l'utilisateur autorisé à accéder à cette zone du serveur. | ||
| + | <br /> | ||
| + | {{ Avertissement | Il est impératif de spécifier la directive '''AllowOverride AuthConfig''' pour autoriser le système d'authentification<br>Avec la méthode basic le mot de passe est transmis en clair sur le réseau }} | ||
| + | <br /> | ||
| + | ==== Authentification Digest ==== | ||
| + | Avant toute chose, il faut activer le module auth_digest | ||
| + | <br> | ||
| + | {{ Console | sudo a2enmod auth_digest }} | ||
| + | <br> | ||
| + | Le mode d'authentification Digest est identique au mode Basic à part qu'avec Digest, le mot de passe n'est pas transmis en clair sur le réseau | ||
| + | |||
| + | Pour mettre en place cette méthode, il nous faut également créer le fichier contenant les paires login:password mais cette fois-ci avec la commande htdigest : | ||
| + | <br /> | ||
| + | {{ Console | htdigest ''-c passwdfile realm username'' }} | ||
| + | <br /> | ||
| + | * L'option -c permet de créer le fichier. A utiliser seulement si le fichier n'existe pas déja. | ||
| + | * ''passwdfile'' : L'emplacement du fichier | ||
| + | * ''realm'' : Le domaine (Exemple : "Restricted Expopass") | ||
| + | * ''username'' : Le login | ||
| + | |||
| + | Il nous faut également modifier le fichier {{ File | /etc/apache2/sites-available/default }} | ||
| + | <br /> | ||
| + | <syntaxhighlight lang="bash"> | ||
| + | <VirtualHost *:80> | ||
| + | DocumentRoot /var/www/expospass | ||
| + | ServerName www.labopass.be | ||
| + | <Directory /var/www/expospass> | ||
| + | Options Indexes FollowSymLinks MultiViews | ||
| + | AllowOverride AuthConfig | ||
| + | Order allow,deny | ||
| + | allow from all | ||
| + | |||
| + | AuthType Digest | ||
| + | AuthName "Restricted Expopass" | ||
| + | AuthDigestProvider file | ||
| + | AuthUserFile /usr/local/apache/passwd/.passwords | ||
| + | Require valid-user | ||
| + | </Directory> | ||
| + | |||
| + | </VirtualHost> | ||
| + | </syntaxhighlight> | ||
| + | <br /> | ||
| + | [[Catégorie:Système]] | ||
Version du 25 mars 2013 à 16:38
Sommaire
Installation
Par package
Configuration
Authentification
Il est possible de forcer un utilisateur à s'authentifier pour accéder à un site web
Authentification Basic
Il existe un système d’authentification basé sur un fichier texte ( mais avec mot de passe crypté)
Pour créer ce fichier :
Cette commande va permettre de créer le fichier avec un utilisateur renseigné dans la commande
L'option -c permet de créer ce fichier. Pour rajouter un utilisateur au fichier, il ne faut plus renseigner l'option -c
Il nous reste encore à configurer le fichier de configuration /etc/apache2/sites-available/default
<VirtualHost *:80>
DocumentRoot /var/www/expospass
ServerName www.labopass.be
<Directory /var/www/expospass>
Options Indexes FollowSymLinks MultiViews
AllowOverride AuthConfig
Order allow,deny
allow from all
AuthType Basic
AuthName "Restricted Expopass"
# (Following line optional)
AuthBasicProvider file
AuthUserFile /usr/local/apache/passwd/.passwords
Require valid-user
</Directory>
</VirtualHost>
- La directive AuthType définit la méthode utilisée pour authentifier l'utilisateur
- La directive AuthName définit l'Identificateur (Realm) à utiliser avec l'authentification
- La directive AuthBasicProvider est, dans ce cas, facultative, car file est la valeur par défaut pour cette directive. Par contre, cette directive sera obligatoire si vous utilisez une autre source d'authentification comme mod_authn_dbm ou mod_authn_dbd.
- La directive AuthUserFile définit le chemin du fichier de mots de passe que nous venons de créer avec htpasswd
- Enfin, la directive Require implémente la partie autorisation du processus en définissant l'utilisateur autorisé à accéder à cette zone du serveur.
Il est impératif de spécifier la directive AllowOverride AuthConfig pour autoriser le système d'authentification
Avec la méthode basic le mot de passe est transmis en clair sur le réseau
Authentification Digest
Avant toute chose, il faut activer le module auth_digest
Le mode d'authentification Digest est identique au mode Basic à part qu'avec Digest, le mot de passe n'est pas transmis en clair sur le réseau
Pour mettre en place cette méthode, il nous faut également créer le fichier contenant les paires login:password mais cette fois-ci avec la commande htdigest :
- L'option -c permet de créer le fichier. A utiliser seulement si le fichier n'existe pas déja.
- passwdfile : L'emplacement du fichier
- realm : Le domaine (Exemple : "Restricted Expopass")
- username : Le login
Il nous faut également modifier le fichier /etc/apache2/sites-available/default
<VirtualHost *:80>
DocumentRoot /var/www/expospass
ServerName www.labopass.be
<Directory /var/www/expospass>
Options Indexes FollowSymLinks MultiViews
AllowOverride AuthConfig
Order allow,deny
allow from all
AuthType Digest
AuthName "Restricted Expopass"
AuthDigestProvider file
AuthUserFile /usr/local/apache/passwd/.passwords
Require valid-user
</Directory>
</VirtualHost>
