Académique Documents
Professionnel Documents
Culture Documents
SOUS CENTOS7
Scénario :
Le serveur Srv-Centos dispose d’une interface réseau (eth1) connecté sur le réseau local
172.16.88.0/21. Le réseau local dispose d’un routeur ADSL connecté sur internet (voir la
topologie ci-après).
Objectif : la mise en place d’un serveur Web Apache sous centos7.
Tableau d’adressage
Périphérique Masque de Passerelle par
Interface Adresse IP
(Nom d’hôte) sous-réseau défaut
Srv-Centos Eth1 172.16.88.X * 255.255.248.0 172.16.88.1
Page 1 sur 13
Tâche 1 : Installation du serveur Apache
Page 2 sur 13
7) Faites un fichier de sauvegarde du fichier httpd.conf
# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.back
8) En utilisant votre éditeur préféré, éditer le fichier httpd.conf
# gedit /etc/httpd/conf/httpd.conf
9) Allez dans le répertoire par défaut de votre site Web principal ( /var/www/html/) et
créer un fichier index.html et y insérer le code html ci-après.
# cd /var/www/html/
# gedit index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>site principale</title>
</head>
<body>
<h1>Bienvenue sur le site principale d’apache </h1>
</body>
</html>
10) Refaire le test du fonctionnement de votre site Web. Que remarquez-vous ?
NB : supprimer, si nécessaire, l’historique de votre navigation internet
11) Faites écouter le serveur sur le port 8080 (utiliser la directive Listen 8080)
Listen 8080
12) Redémarrer votre serveur puis tester.
# systemctl restart httpd
A partir d’un navigateur : http://localhost:8080
13) Faites écouter le serveur sur l’adresse IP 172.16.88.X et le port 80.
Listen 172.16.88.X:80
14) Redémarrer votre serveur puis tester.
# systemctl restart httpd
A partir d’un navigateur : http://172.16.88.X:80
15) Repérer le chemin des fichiers logs puis afficher la fin de ces fichiers (commande tail ).
# tail /var/log/httpd/access_log
# tail /var/log/httpd/error_log
16) Tester la syntaxe du fichier de configuration.
# apachectl configtest
Page 3 sur 13
Tâche 2 : Configuration spécifique d’un Répertoire
Page 4 sur 13
4) Redémarrer votre serveur puis tester.
Si vous souhaiter avoir le tri par ordre alphabétique décroissant remplacer
Ascending par Descending.
Si vous souhaiter avoir le tri par ordre taille remplacer Name par Size.
Order allow,deny
allow from 192.168.1.50
deny from 192.168.1.40
2) On souhaite autoriser l’accès à tout le monde pour le répertoire public qui se trouve
dans le site principal pour lequel nous avons limité l’accès par adresse IP.
Pour ce faire, Ajouter les directives suivantes au fichier de configuration :
<Directory /var/www/public>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Page 5 sur 13
Dans une console ou un terminal émulé, déplacez-vous dans le répertoire : /etc/httpd
# cd /etc/httpd
2) Puis saisissez la commande :
# htpasswd -bc .htpasswd SR sr@2022
# Ce qui crée le fichier concerné et y ajoute l’utilisateur SR avec le mot de passe
sr@2022.
# Vi /etc/httpd/.htpasswd
Si plus tard vous désirez rajouter un utilisateur tmsir par exemple avec le mot de passe
tmsir@2019 (Ne pas utiliser l’option -c sinon le fichier sera écrasé)
# htpasswd -b .htpasswd CC cc@2022
Si vous omettez le mot de passe (option -b), une invite vous demande de saisir ce
mot de passe.
Notez précieusement ce mot de passe afin de le diffuser aux personnes autorisées.
Il convient de garder le nom de fichier .htpasswd car le serveur Apache interdit par
défaut l’affichage de ce fichier par un utilisateur distant.
3) Application la restriction d’accès
Maintenant que le fichier de mots de passe est créé, nous pouvons appliquer la restriction
d’accès au moyen d’un fichier .htaccess : déplacez vous dans /home/essai Apache.
# cd /var/www/html/private
4) Créez-y un fichier .htaccess et y insérer le code ci-après :
# vi .htaccess
Et saisissez-y ceci :
Authname " Private : acces securisé "
AuthUserFile /etc/httpd/.htpasswd
AuthType Basic
require valid-user
5) Enregistrez le fichier.
6) Pour prendre en considération les fichiers « .htaccess », Il faut mettre l’attribut
AllowOverride du repertoire /var/www/ à All (none)
<Directory "/var/www">
AllowOverride All
…
…
</Directory>
7) Redémarrer votre serveur puis tester l’accès au répertoire private :
# systemctl restart httpd
A partir d’un navigateur : http://172.16.88.X/private
Page 6 sur 13
8) A présent on souhaite que les utilisateurs de votre réseau (172.16.0.0) accèdent au
répertoire private sans restriction, mais que l'accès à cette zone nécessite un mot de
passe pour les autres utilisateurs.
Pour cela on utilise require valid-user avec Order allow,deny et la directive Satisfy
any . Cette dernière permet de satisfaire une seule commande de restriction.
Modifier le fichier .htaccess comme suite :
Authname " Private : acces securise "
AuthUserFile /etc/httpd/.htpasswd
AuthType Basic
require valid-user
Order allow,deny
Allow from 192.168.1
Satisfy any
NB : Vous pouvez utiliser Satisfy all pour satisfaire toutes les commandes de restriction.
Page 7 sur 13
Tâche 4 : Utilisation des hôtes virtuels
Dans le présent atelier, nous allons manipuler les hôtes virtuels par nom.
Page 8 sur 13
Racine du site : chemin du dossier tri.ma
On souhaite que nos clients puissent joindre notre site via les noms
www.tri.com et www.tri.org (utiliser la directive ServerAlias).
vi /etc/httpd/conf.d/tri.ma.conf
<VirtualHost *:80>
ServerName www.tri.ma
ServerAlias www.tri.com www.tri.org
DocumentRoot /var/www/html/tri.ma
</VirtualHost>
2) Donner l’autorisation à apache d’accéder au répertoire de base de votre site Web
3) Redémarrer votre serveur puis tester l’accès a votre site via les noms de domaines
www.tri.ma www.tri.com www.tri.org .
NB : supprimer l’historique de navigation si nécessaire.
Page 9 sur 13
2) Ensuite créer le serveur default_80 comme suite :
<VirtualHost _default_:80>
DocumentRoot /var/www/html/default_80
...
</VirtualHost>
3) Tester le bon fonctionnement du serveur default_80
Page 10 sur 13
# mkdir /etc/httpd/ssl
# openssl req -new -x509 -sha256 -days 365 -nodes -out /etc/httpd/ssl/server.crt
-keyout /etc/httpd/ssl/server.key
Generating a 1024 bit RSA private key
...................................++++++
..............................++++++
writing new private key to '/etc/httpd/ssl/httpd.pem'
-----
You are about to be asked to enter information that will be
incorporated into your certificate request.
What you are about to enter is what is called a
Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:MA
State or Province Name (full name) [Some-State]: FES-MEKNES
Locality Name (eg, city) []:FES
Organization Name (eg, company) [Internet Widgits Pty
Ltd]:OFPPT
Organizational Unit Name (eg, section) []:ISTA
Common Name (eg, YOUR name) []:tri
Email Address []:tri@ofppt.ma
Partie 2 : Configuration de l’hôte virtuel afin d’utiliser le certificat
auto-signé
1) Localiser le chemin du fichier de configuration ssl.conf
Vi /etc/httpd/conf.d/ssl.conf
2) Créer une sauvegarde pour le fichier ssl.conf
3) Faites modifier le fichier comme suite :
#Charger le module ssl_module
LoadModule ssl_module modules/mod_ssl.so
# activation du port 443
Listen 443
#Activation du SSLEngine
SSLEngine On
#chemin du fichier certificat ssl
SSLCertificateFile /etc/httpd/ssl/server.crt
#chemin du fichier clé du certificat
SSLCertificateKeyFile /etc/httpd/ssl/server.key
<VirtualHost *:443>
ServerName www.id.ma
DocumentRoot /var/www/html/id.ma
</VirtualHost>
Page 11 sur 13
4) Sauvegarder les modifications et redémarrer le serveur
5) Vérifier l’inclusion du fichier ssl.conf dans le fichier httpd.conf (IncludeOptional
conf.d/*.conf ).
6) Afficher les ports en écoute sur le serveur
# netstat -paunt
7) Tester l’accès a votre site web sécurisé.
Page 12 sur 13
Tâche 7 : Personnaliser les pages des erreurs
2) Dans la racine de votre site Web, créer le répertoire erreur dans lequel vous mettez
deux fichiers erreur403.html et erreur404.html.
3) Modifier le contenu les deux fichiers comme suite :
Pour le fichier erreur403.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>erreur403</title>
</head>
<body>
<h1> Vous n'avez pas l'autorisation de voir le contenu....</h1>
</body>
</html>
Pour le fichier erreur404.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>erreur404</title>
</head>
<body>
<h1> Le document que vous tentez de voir n'existe
pas...</h1>
</body>
</html>
4) Tester la syntaxe du fichier de configuration (apachectl configtest).
5) Redémarrer votre serveur et tester
Page 13 sur 13