Apache : Différence entre versions

De DiouxX's Wiki
Aller à : navigation, rechercher
 
(2 révisions intermédiaires par le même utilisateur non affichées)
Ligne 65 : Ligne 65 :
 
* L'option -c permet de créer le fichier. A utiliser seulement si le fichier n'existe pas déja.
 
* 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
 
* ''passwdfile'' : L'emplacement du fichier
* ''realm'' : Le domaine (Exemple : "Restricted Expopass")
+
* ''realm'' : Le domaine (Exemple : "Restricted Acces")
 
* ''username'' : Le login
 
* ''username'' : Le login
  
Ligne 72 : Ligne 72 :
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
<VirtualHost *:80>
 
<VirtualHost *:80>
         DocumentRoot /var/www/expospass
+
         DocumentRoot /var/www/nomSite
         ServerName www.labopass.be         
+
         ServerName www.nomSite.be         
         <Directory /var/www/expospass>
+
         <Directory /var/www/nomSite>
 
        Options Indexes FollowSymLinks MultiViews
 
        Options Indexes FollowSymLinks MultiViews
 
                 AllowOverride AuthConfig
 
                 AllowOverride AuthConfig
Ligne 81 : Ligne 81 :
  
 
AuthType Digest
 
AuthType Digest
AuthName "Restricted Expopass"
+
AuthName "Restricted Access"
 
AuthDigestProvider file
 
AuthDigestProvider file
 
AuthUserFile /usr/local/apache/passwd/.passwords
 
AuthUserFile /usr/local/apache/passwd/.passwords

Version actuelle datée du 8 avril 2013 à 14:10

Cette page fournit différentes informations sur l'installation et la configuration d'Apache

Installation

Par package

Konsole.png
[root@ordi ~]# apt-get install apache2

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 :

Konsole.png
[user@ordi ~]$ htpasswd -c /emplacement/fichier user


Cette commande va permettre de créer le fichier avec un utilisateur renseigné dans la commande

BlocNotes.png
À noter !
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/nomSite
        ServerName www.nomSite.be      
        <Directory /var/www/NomSite >
	        Options Indexes FollowSymLinks MultiViews
                AllowOverride AuthConfig
                Order allow,deny
                allow from all

		AuthType Basic
		AuthName "Restricted Access"
		# (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.


Warning.png
Attention !
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

Konsole.png
[user@ordi ~]$ sudo a2enmod 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 :

Konsole.png
[user@ordi ~]$ htdigest -c passwdfile realm username


  • 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 Acces")
  • username : Le login

Il nous faut également modifier le fichier /etc/apache2/sites-available/default

<VirtualHost *:80>
        DocumentRoot /var/www/nomSite
        ServerName www.nomSite.be        
        <Directory /var/www/nomSite>
	        Options Indexes FollowSymLinks MultiViews
                AllowOverride AuthConfig
                Order allow,deny
                allow from all

		AuthType Digest
		AuthName "Restricted Access"
		AuthDigestProvider file
		AuthUserFile /usr/local/apache/passwd/.passwords
		Require valid-user
        </Directory>
        
</VirtualHost>