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