Contexte :

Nous partirons d'un système de base sous CentOS 6 installé.
Nous ferons une installation d'Apache et la configuration necessaire à la démo.

Installation d'Apache :

1 sudo yum install httpd

Configuration :

Arborescence du VirtualHost sur le système

 1 sudo cd /var/www/html
 2 
 3 sudo mkdir test
 4 
 5 echo '<html>
 6 <head>
 7 <title>First Page</title>
 8 </head>
 9 <body>
10 Welcome to my Lab !
11 </body>
12 </html>' > test/index.html
13 
14 sudo chown -R apache:apache test/

VirtualHost Apache

Edition du fichier /etc/httpd/conf.d/test.conf

 1 <VirtualHost test.alasta.lab:80>
 2   ServerAdmin admin@alasta.lab
 3   ServerName test.alasta.lab
 4   ServerAlias toto.alasta.lab
 5   DocumentRoot "/var/www/html/test"
 6   DirectoryIndex index.php index.html
 7   <Directory "/var/www/html/test">
 8     Options -Indexes FollowSymLinks
 9     AllowOverride All
10      Order deny,allow
11      Deny from all
12      AuthType Basic
13      AuthName "Restricted Space to my Lab"
14      AuthUserFile /etc/httpd/htpasswd/test.alasta.lab.htpasswd
15      ## Autorisation d'un utilisateur spécifique du htpasswd
16      #Require user alasta
17      ## Autorisation de tous les utiisateurs valident du htpasswd
18      Require valid-user
19      Allow from 192.168.5.22/255.255.255.255
20      #Autre poste autorise
21      Allow from 192.168.5.33/255.255.255.255
22      #Net amis
23      Allow from 192.168.6.0/255.255.255.0
24      Satisfy Any
25  </Directory>
26 </VirtualHost>

Fichier de login/password htpasswd

1 sudo mkdir /etc/httpd/htpasswd/
2 
3 #Creation du premier utilisateur alasta
4 sudo htpasswd -c /etc/httpd/htpasswd/test.alasta.lab.htpasswd alasta
5 
6 #Ajout d'autre utilisateur toto
7 sudo htpasswd /etc/httpd/htpasswd/test.alasta.lab.htpasswd toto

Démarrage du service Apache

1 sudo service httpd start

Tests de bon fonctionnement :

Il est à noter que la résolution du FQDN est nécessaire soit via DNS ou fichier hosts !

Depuis un poste filtrer (pas présent dans la configuration)

 1 curl http://test.alasta.lab
 2 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
 3 <html><head>
 4 <title>401 Authorization Required</title>
 5 </head><body>
 6 <h1>Authorization Required</h1>
 7 <p>This server could not verify that you
 8 are authorized to access the document
 9 requested.  Either you supplied the wrong
10 credentials (e.g., bad password), or your
11 browser doesn't understand how to supply
12 the credentials required.</p>
13 <hr>
14 <address>Apache/2.2.15 (CentOS) Server at test.alasta.lab Port 80</address>
15 </body></html>

On se prend bien un 401 qui est une demande d'authentification d'un site web.

Depuis une IP autorisée dans la configuration

1 curl http://test.alasta.lab
2 <html>
3 <head>
4 <title>First Page</title>
5 </head>
6 <body>
7 Welcome to my Lab !
8 </body>
9 </html>

On passe bien !