TP 02: Installation et configuration de serveur web apache

Transcription

TP 02: Installation et configuration de serveur web apache
SI5 : Support des services et serveurs
TP n°2
TP 02: Installation et configuration de serveur web apache
Ce TP décrit l'installation et la configuration de base d'un serveur web Apache sous linux
source : http://doc.ubuntu-fr.org/apache2
1.
Installation du serveur Apache
A faire en tant que superutilisateur :
apt-get update : mise à jour des listes de paquets
apt-get install apache2
vérifier que le serveur fonctionne avec le navigateur : http://localhost ou http ://127.0.0.1
Pour démarrer / arrêter le service (en tant que su également):
/etc/init.d/apache2 start|stop|restart|reload
Vérifiez que le « démon » apache est bien lancé en affichant la liste des processus actifs : ps -ef
Repérez les processus correspondant à apache.
Notez le numéro du processus père.
Notez la valeur du compte système sous lequel est lancé apache2 (1ère colonne UID)
Pour filtrer les résultats de la commande avec le mot « apache » : ps -ef | grep apache
Résultat : on ne voit plus que les processus contenant le mot apache.
Arrêtez le service apache2, vérifiez que les processus ont disparu, puis redémarrez le.
Vous constatez une erreur concernant le « ServerName ».
Pour la corriger, éditer le fichier /etc/hosts : sudo vi /etc/hosts
Ce fichier contient les correspondances nom / IP locale à l'ordinateur. Ajoutez le nom « monsite.fr » en modifiant la ligne :
127.0.1.1
monsite.fr
sl-si5-nom
Pour insérer du texte avec vi, il faut se mettre en mode insertion, en tapant la commande i, puis taper echap pour sortir su mode
insertion, puis sauvegarder et quitter en tapant la commande :wq
Rechargez la configuration de apache2 : /etc/init.d/apache2 reload, il n'y a plus d'erreur.
2.
Test du serveur en réseau
Affichez l'adresse IP de votre serveur linux, avec la commande ifconfig.
Lancez le navigateur sur l'ordinateur hôte sur l'url http://IP-du-serveur et vérifiez que la page d'accueil s'affiche.
Lancez wireshark sur le serveur en tant que superutilisateur : sudo wireshark
Lancez une capture sur l'interface active (Capture / Interface / Start), puis rechargez la page dans le navigateur sur le client.
Arrêtez la capture (Capture / Stop) et interprétez les résultats correspondant à l'échange http
Quel est le numéro du port client ?
Notez l'échange des trois premiers segments qui établit la connexion bidirectionnelle entre le client et le serveur (SYN, SYN-ACK,
ACK)
3.
Les fichiers de configurations de Apache2 :
Les fichiers de configuration sont dans le dossier /etc/apache2.
Placez vous dans ce dossier : cd /etc/apache2
afficher la liste des fichiers : ls -l
•
•
•
•
•
•
•
•
•
httpd.conf est le fichier utilisé par apache1, il est conservé vide dans Apache2 pour assurer la rétrocompatibilité. Il ne nous servira
pas;
envvars est utilisé pour définir des variables d'environnement propres à Apache ;
ports.conf contient la directive listen qui spécifie les adresses et les ports d'écoutes ;
apache2.conf est le fichier principal de configuration c'est à partir de lui que tous les autres fichiers sont chargés ;
conf.d est un répertoire qui contient plusieurs petits fichiers qui seront analysés par apache. Le seul fichier pour le moment
est charset, qui spécifie l'encodage à utiliser par défaut ;
mods-available contient la liste des modules d'apache installés ;
mods-enabled celle des modules utilisés ;
sites-available contient la liste des vhosts installés ;
sites-enabled celle des virtual hosts utilisés.
TP : installation, configuration du serveur web Apache
Page 1/2
SI5 : Support des services et serveurs
TP n°2
Afficher le fichier envvars : cat envvarsAPACHE_RUN_USER
Ce fichier contient les variables d'environnement définies par apache2.
Repérez la variable APACHE_PID_FILE. Dans un nouvel onglet du terminal, affichez le fichier correspondant. Vérifiez
que le numéro correspond bien au processus apache père.
Notez la valeur de la variable APACHE_RUN_USER
Afficher le fichier ports.conf : cat ports.conf
Quelle est la directive qui configure le port d'écoute du serveur?
Sur quel port d'écoute est configuré le serveur ?
La directive NameVirtualHost est indispensable pour pouvoir héberger plusieurs sites web (hôtes virtuels, virtual hosts en
anglais), identifiés par des noms différents. Ici on voit que tous les hôtes virtuels écoutent sur le port 80.
Affichez le fichier apache2.conf avec l'éditeur vi en lecture seule : vi -R /etc/apache2/apache2.conf
Vous recherchez le mot «User » dans le fichier en tapant /User
Repérez les directives User et PidFile et constatez la correspondance avec les variables d'environnement.
Recherchez la directive ErrorLog, qui spécifie le nom complet du fichier journal dans lequel seront enregistré les erreurs
du service. Affichez ce fichier dans un autre onglet. Notez l'heure du dernier démarrage.
Allez au début du fichier en tapant 1G (majuscule), à la 5ème ligne en tapant 5G, et à la fin en tapant G.
Repérez les fichiers de configurations inclus (directive Include). On note des répertoires entiers.
Dans quel répertoire se trouvent les fichiers de configuration des virtual hosts ?
Affichez le contenu de ce dossier, il contient un lien symbolique vers un fichier nommé default dans le dossier
/etc/apache2/sites-available/
Affichez le fichier /etc/apache2/sites-available/default, qui contient la définition du site par défaut.
Notez le nom du répertoire ou se trouvent les pages Web (directive DocumentRoot)
Affichez le contenu de ce répertoire dans un autre onglet. Quelle commande avez vous utilisé ?
Affichez le fichier index.html, qui correspond à la page d'accueil du serveur. La code html correspond-il à ce qui s'affiche
dans le navigateur ?
Modifiez la page web : placez le curseur sur la ligne correspondant au dernier paragraphe (balise <p>)
copiez la ligne (Y), puis collez la en dessous (P).
Modifiez le message affiché par « Webmaster : », suivi de votre nom.
Enregistrez la page, puis rafraichissez la dans le navigateur pour vérifier.
Dans le fichier /etc/apache2/sites-avalaibled/default, recherchez la directive CustomLog et affichez les 10 dernières lignes
du journal des accès correspondant avec la commande tail. Que contient-il?
4.
Création d'hôtes virtuels
Nous allons héberger deux sites web différents, qui seront identifiés par deux nom distincts :
site1.fr et site2.com
Voici la démarche pour créer le premier site :
Copiez le fichier /etc/apache2/sites-avalaibled/default sous le nom /etc/apache2/sites-avalaibled/site1.fr
Modifiez ce fichier :
1. Ajouter la directive : ServerName site1.fr
2. Changez /var/www par /var/www/site1/ dans DocumentRoot (racine du site) et dans Directory (permissions sur le
répertoire)
3. On peut aussi demander au serveur d'enregistrer les accès dans un journal différent /var/log/access-site1.log
Activez le site avec la commande : sudo a2ensite site1.fr
Créez le répertoire /var/www/site1 et créez la page d'accueil index.html
Pour que le nom du site soit associé à son adresse IP, nous pourrions configurer notre serveur dns local, mais pour simplifier
nous allons plutôt utiliser la résolution de nom par fichier hosts :
ajoutez la ligne suivante dans le fichier /etc/hosts (qui contient les associations nom-IP locales à l'ordinateur) :
IP-du-serveur
site1.fr
Testez le serveur dans le navigateur local par http://ip-du-serveur
Pour tester le serveur en réseau, il faudra faire la même modification du fichier hosts sur le client.
Créez de la même façon le deuxième hôte virtuel site2.com
TP : installation, configuration du serveur web Apache
Page 2/2