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
ErrorLog : Fichier de log des erreurs
LogLevel : Niveau d’enregistrement des erreurs
CustomLog : Fichier de log des accès, combined : format des logs
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 :
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