Mise en place d`un serveur HTTP Apache2

Transcription

Mise en place d`un serveur HTTP Apache2
Mise en place d’un serveur HTTP
Apache2
Sous Ubuntu 14.0.1
M22 : Notions de sécurité des réseaux informatiques
Au profit des TS en Techniques de Réseaux Informatiques 2ième année





Introduction
Installation du paquet apache2 sous Linux
Création d'une page d’accueil HTML
Configuration du serveur Apache
Hébergement virtuel
o Hébergement virtuel par nom de domaine
o Hébergement virtuel par port
o Hébergement virtuel par adresse IP
Par : Jawad Errougui
ISGI Marrakech
TS-TRI 2ième année
Notions de sécurité des réseaux informatiques
-- Mise en place d’un serveur HTTP Apache2--
Introduction
Apache est un serveur HTTP libre, permettant d'héberger et publier des sites web qui seront accessibles avec
un navigateur web.
Installation du paquet apache2 sous Linux
La première étape est l'installation du paquet apache2. (Mais avant il vaut mieux mettre à jour votre système
Linux)
sudo apt-get upadate
sudo apt-get install apache2
Vous venez maintenant d'installer le paquet apache2 qui contient tous les fichiers de configuration du serveur.
Vous pouvez toute fois les consulter un à un pour en lire le contenu.
sudo ls /etc/apache2
Création d'une page d’accueil HTML
Avant de passer à la configuration du serveur apache, nous allons créer une mini page web en HTML qui sera la
page d'accueil de notre serveur Apache.
Créons tous d'abord le dossier qui contiendra cette page :
sudo mkdir /var/www/isgim
N.B : Sous Ubuntu 14.0.1 le répertoire de publication d’Apache2 par défaut est « /var/www/html ».
À l’intérieur de ce dossier, on crée une page HTML nommée index.html :
sudo nano /var/www/isgim/index.html
Cette commande crée le fichier index.html, et nous ouvre le fichier vide. Ajoutons maintenant ces quelques lignes:
1<html>
2<head> <title> <h1> Bienvenue au site web de l’ISGI Marrakech </title> </h1> </head>
3<body> <p> <h2> Ceci est la page d'accueil du serveur web Apache ! </h2></p> </body>
4</html>
Enregistrez votre travail, et voilà, nous possédons maintenant une page web pour notre serveur Apache. Passons
maintenant à la configuration du serveur.
Par : Jawad Errougui
2/8
ISGI Marrakech
TS-TRI 2ième année
Notions de sécurité des réseaux informatiques
-- Mise en place d’un serveur HTTP Apache2--
Configuration du serveur Apache
Cette première configuration du serveur apache, est sans restrictions d’accès c'est à dire avec accès anonyme
(site web public). Dans ce cas, tout le monde peut y accéder.
Pour commencer, Copiez la configuration de l’hôte virtuel 000-default.conf dans un nouveau fichier nommé
isgim.local.conf qui servira de nouvel hôte virtuel.
sudo cp /etc/apache2/sites-available/000-default.conf
/etc/apache2/sites-available/isgim.local.conf
Cette commande permet de créer le fichier vide isgim.local.conf et de copier dedans le contenu du ficher 000default.conf.
Ouvrez le fichier isgim.local.conf et paramétrez-le comme suit :
sudo nano /etc/apache2/sites-available/isgim.local.conf
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName isgim.local
ServerAlias www.isgim.local
DocumentRoot /var/www/isgim
</VirtualHost>
‘ * : 80 ’ : Indique à l’hôte virtuel d’écouter sur le port 80 pour toutes les adresses IP utilisées dans ce serveur s’il
y en plusieurs. (Si nécessaire, remplacez-la par l’adresse IP que vous voulez utiliser pour votre site web).
ServerAdmin : définit l’adresse mail de l’administrateur du serveur Apache.
ServerName : Si vous ne définissez pas cette directive pour un serveur virtuel à base de nom, le serveur
utilisera par défaut le nom de domaine entièrement qualifié (FQDN) déduit du nom d'hôte système.
ServerAlias : cette directive permet de définir les noms alternatifs d'un serveur utilisables pour atteindre des
serveurs virtuels à base de nom. Elle peut contenir des caractères génériques, si nécessaire.
Exemple
ServerAlias
www.isgim.local serv1 serv2
ServerAlias
*.isgim.localess
DocumentRoot : Indique le chemin d’accès au fichier d’accueil du site web.
Maintenant que vous avez créé le fichier de configuration dans le dossier sites-available, il est nécessaire
d’activer cet hôte virtuel (site web).
sudo a2ensite isgim.local.conf
Vous remarquez qu’un lien symbolique est automatiquement créé dans :
Par : Jawad Errougui
3/8
ISGI Marrakech
TS-TRI 2ième année
Notions de sécurité des réseaux informatiques
-- Mise en place d’un serveur HTTP Apache2--
/etc/apache2/sites-enable/isgim.local.conf
Enfin, et afin de prendre en compte votre configuration, rechargez ou redémarrez le serveur apache2.
sudo service apache2 reload
Vous pouvez désormais tester l'accès à votre serveur apache en tapant dans un navigateur web :
http://l’adresse IP du serveur apache
ou (si vous avez configurez le fichier hosts du client web ou un serveur DNS), utilisez :
http://www.isgim.local
Afin de suivre les connexions au serveur apache et avoir des renseignements sur les erreurs liées à son utilisation,
vous pouvez utiliser les commandes suivantes :
tail -f /var/log/apache2/access.log
ou encore
tail -f /var/log/apache2/error.log
Ceci termine notre première configuration avec accès anonyme
Hébergement virtuel
Hébergement virtuel par nom de domaine
Ce type d'hébergement est utilisé pour accueillir plus d'un nom de domaine sur le même ordinateur pour la même
adresse IP et le même numéro de port.
Afin de tester ce type d’hébergement virtuel, chaque machine doit être recensée sous plusieurs noms différents
dans le DNS en utilisant les enregistrements de type A et CNAME.
Créez deux autres fichiers index.html contenant comme informations le nom de domaine du serveur virtuel et
plaçez-les dans les répertoires correspondant :
mkdir /var/www/isgim/tri1
mkdir /var/www/isgim/tri2
À l’intérieur de chaque dossier, créez une page HTML nommée index.html :
1<html>
2<head> <title> <h1> Bienvenue au site web de l’ISGI Marrakech </h1> </title> </head>
3<body> <p> <h2> Ceci est la page d'accueil de l’hôte virtuel de Tri1 ! </h2> </p> </body>
4</html>
1<html>
2<head> <title> <h1> Bienvenue au site web de l’ISGI Marrakech </h1> </title> </head>
3<body> <p> <h2> Ceci est la page d'accueil de l’hôte virtuel de Tri2 ! </h2> </p> </body>
4</html>
Par : Jawad Errougui
4/8
ISGI Marrakech
TS-TRI 2ième année
Notions de sécurité des réseaux informatiques
-- Mise en place d’un serveur HTTP Apache2--
Vous créez ensuite deux fichiers de configuration pour vos deux nouveaux domaines dans le dossier
/etc/apache2/sites-available afin de créer ces deux serveurs virtuels pointant sur deux répertoires différents.
sudo nano
/etc/apache2/sites-available/tri1.conf
Ajoutez dans ce fichier les lignes suivantes :
<VirtualHost 192.168.1.6:80>
ServerName tri1.local
ServerAlias www.tri1.local
DocumentRoot /var/www/isgim/tri1
</VirtualHost>
De même pour l'autre domaine :
sudo nano /etc/apache2/sites-available/tri2.conf
Ajoutez dans ce fichier les lignes suivantes :
<VirtualHost 192.168.1.6:80>
ServerName tri2.local
ServerAlias www.tri2.local
DocumentRoot /var/www/isgim/tri2
</VirtualHost>
Activer maintenant vos deux hôtes virtuels.
sudo a2ensite tri1.conf
sudo a2ensite tri2.conf
Rechargez ou redémarrez le serveur apache2.
Sudo service apache2 reload
Il ne vous reste plus qu'à tester. Vous devriez pouvoir accéder à chaque page web correspondante à chaque
nom de domaine.

http://www.isgim.local

http://www.tri1.local

http://www.tri2.local
L'intérêt de ce type d'hébergement, est de pouvoir créer plusieurs sites web (hôtes virtuels) écoutant tous sur la
même adresse IP et le même numéro de port.
Hébergement virtuel par port
Ce type d'hébergement permet d'utiliser un serveur web en précisant le port qu'il utilise. Si le port n'est pas
précisé, la connexion ne s'effectuera pas.
Dans ce cas, chaque serveur sera adressé par une requête HTTP à l’aide d’un numéro de port différent.
Par : Jawad Errougui
5/8
ISGI Marrakech
TS-TRI 2ième année
Notions de sécurité des réseaux informatiques
-- Mise en place d’un serveur HTTP Apache2--
http://www.isgim.local:80
http://www.tri1.local:80801
http://www.tri2.local:80802
Afin qu’Apache écoute sur les ports correspondants, ajoutez-les dans le fichier ports.conf :
sudo nano /etc/apache2/ports.conf
Listen 80
Listen 80801
Listen 80802
Effectuez maintenant les modifications dans chaque fichier de configuration pour vos différents domaines.
Dans le fichier de configuration du domaine isgim.local,
<VirtualHost 192.168.1.6:80>
ServerAdmin [email protected]
ServerName isgim.local
ServerAlias www.isgim.local
DocumentRoot /var/www/isgim
</VirtualHost>
Dans le fichier de configuration du domaine tri1.local.
<VirtualHost 192.168.1.6:80801>
ServerName tri1.local
ServerAlias www.tri1.local
DocumentRoot /var/www/isgim/tri1
</VirtualHost>
Puis dans le fichier de configuration du domaine tri2.local.
<VirtualHost 192.168.1.6:80802>
ServerName tri2.local
ServerAlias www.tri2.local
DocumentRoot /var/www/isgim/tri2
</VirtualHost>
Testez à partir d’un client web :

http://www.isgim.local:80

http://www.tri1.local:80801

http://www.tri2.local:80802
Par : Jawad Errougui
6/8
ISGI Marrakech
TS-TRI 2ième année
Notions de sécurité des réseaux informatiques
-- Mise en place d’un serveur HTTP Apache2--
Hébergement virtuel par adresse IP
Ce type d'hébergement permet, tout en associant deux adresses IP à une interface, de se connecter aux pages
associées à chaque adresse IP.
Pour commencer, vous devez créer des alias eth0:1 et eth0:2 sur l’interface eth0 afin d'associer 3 adresses IP à
une seule interface (sachant que eth0 possède déjà l’adresse 192.168.1.6). On ajoute pour cela les lignes
suivantes dans le fichier /etc/network/interfaces :
Auto eth0:1
Iface eth0:1 inet static
Address 192.168.1.66
Netmask 255.255.255.0
Broadcast 192.168.1.255
Auto eth0:2
Iface eth0:1 inet static
Address 192.168.1.166
Netmask 255.255.255.0
Broadcast 192.168.1.255
Modifiez le fichier de configuration pour le domaine isgim.local :
sudo nano /etc/apache2/sites-available/isgim.local.conf
<VirtualHost 192.168.1.6:80>
ServerAdmin [email protected]
ServerName isgim.local
ServerAlias www.isgim.local
DocumentRoot /var/www/isgim
</VirtualHost>
Vous pouvez respectivement faire la même chose pour les domaines tri1.local et tri2.local. (Rétablir les n° de
ports à 80 pour mieux réaliser la différence entre les différentes méthodes)
<VirtualHost 192.168.1.66:80>
ServerName tri1.local
ServerAlias www.tri1.local
DocumentRoot /var/www/isgim/tri1
</VirtualHost>
<VirtualHost 192.168.1.166:80>
ServerName tri2.local
ServerAlias www.tri2.local
DocumentRoot /var/www/isgim/tri2
</VirtualHost>
Testez à l’aide d’un client web les accès suivants :
Par : Jawad Errougui
7/8
ISGI Marrakech
TS-TRI 2ième année

http://192.168.1.6:80

http://192.168.21.66:80

http://192.168.1.106:80
Notions de sécurité des réseaux informatiques
-- Mise en place d’un serveur HTTP Apache2--
N.B : l’accès à l’aide des noms d’hôtes est aussi possible. A condition que :
www.isgim.local doit être résolu en 192.168.1.6
www.tri1.local doit être résolu en 192.168.1.66
www.tri2.local doit être résolu en 192.168.1.166
Par : Jawad Errougui
8/8

Documents pareils

A6 - Apache

A6 - Apache ErrorLog : Fichier de log des erreurs LogLevel : Niveau d’enregistrement des erreurs CustomLog : Fichier de log des accès, combined : format des logs

Plus en détail

Ubuntu – Apache-Php-Mysql et Symfony

Ubuntu – Apache-Php-Mysql et Symfony hôte local.) Editez votre fichier /etc/hosts et sur la ligne comprenant l'adresse IP 127.0.0.1, ajoutez dev.projetsymfony.com :

Plus en détail

apache2 : serveur Web multi-site - Debian

apache2 : serveur Web multi-site - Debian Éditez votre fichier /etc/hosts et modifiez le comme suit pour que votre machine fasse le rapport entre vos vhost et le localhost. /etc/hosts

Plus en détail