Serveur Web Sous Linux


Serveur Web Sous Linux


Résumé

Installation d'un serveur WEB - TP(s)
La séquence est bâtie pour des travaux réalisés avec plusieurs machines. Certaines parties pourront être réalisées sur votre propre machine, celle-ci servant de client et de serveur.
Vous devez avoir un navigateur d'installé, par exemple mozilla, firefox, konqueror, galeon...
La résolution de noms doit fonctionner.
Attention : Les paramètres peuvent différer d'une version à l'autre de Linux ou d'une distribution à l'autre. J'utilise dans ce document des variables, vous devrez y substituer les valeurs réelles de votre environnement.
  • $APACHE_HOME, répertoire dans lequel sont stockées les pages du serveur.
  • $APACHE_CONF, répertoire dans lequel sont stockés les fichiers de configuration.
  • $APACHE_USER, compte utilisateur sous lequel fonctionne Apache.
  • $APACHE_GROUP, groupe auquel est rattaché le compte $APACHE_USER.
  • D'autres variables peuvent être définies au besoin dans l'ensemble des TP.


    Installation d'un serveur Web

    Introduction

    Vous allez réaliser les opérations suivantes:

    • configurer le serveur HTTP pour qu'il soit activé en mode standalone
    • activer le serveur HTTP,
    • tester le fonctionnement du serveur

    A la fin vous devriez pouvoir accéder sur toutes les machines (serveurs HTTP) du réseau à partir du navigateur client.
    Attention Vous utiliserez les éléments donnés dans la fiche de cours.

    Configuration du serveur

    Vous allez réaliser une configuration de base du serveur. Vous allez donc modifier les fichiers de configuration qui vous ont été présentés dans la fiche de cours. Avant toute modification, faites une copie de sauvegarde des fichiers.
    Ouvrez le fichier à l'aide d'un éditeur, relevez et vérifiez les paramètres suivants. Pour chacun de ces paramètres vous noterez leurs rôles à partir de la fiche de cours et des commentaires (pensez à enregistrer vos modifications) :

    • ServerName, nom pleinement qualifié de votre serveur (FQDN)
    • Listen 80
    • User $APACHE_USER
    • Group $APACHE_GROUP
    • ServerAdmin webmaster@localhost
    • ServerRoot /etc/apache2
    • DocumentRoot $APACHE_HOME
    • UserDir public_html
    • DirectoryIndex index.html index.shtml index.cgi
    • AccessFileName .htaccess
    • Alias /icons/ $APACHE_ICONS/icons/
    • ScriptAlias /cgi-bin/ $APACHE_CGI/cgi-bin/

    Activation du serveur

    Regardez dans la fiche de cours les commandes de lancement du service serveur et la procédure de test. Regardez dans les fichiers de log et dans la table de processus si le service est bien démarré. Vérifier avec la commande netstat que le port 80 est bien ouvert.
    Notez toutes les commandes que vous utilisez.

    Test de la configuration

    A ce stade le serveur est configuré et fonctionne. Il ne reste plus qu'à réaliser les tests. Vous devez pour cela activer le navigateur.
    Faites les tests à partir de la machine locale et d'une machine distante. Utilisez les adresses localhost, 127.0.0.1, les adresses IP et les noms d'hôtes.
    Si tout fonctionne, vous êtes en mesure de déployer votre site. Il suffira pour cela de l'installer dans l'arborescence $APACHE_HOME.
    Dépannage: si cela ne fonctionne pas, procédez par élimination.
    • 1 - Essayez avec les adresses IP des machines. Si ça fonctionne c'est que la résolution de noms n'est pas en place.
    • 2 - Vérifiez que votre serveur est bien actif.
    • 3 - Vérifiez que la configuration du serveur est correcte. Si vous apportez des modifications vous devez réinitialiser le serveur HTTP.

    Auto-évaluation sur le premier TP


    • Quels sont les fichiers de base pour la configuration du serveur apache2 et dans quels répertoires sont-ils situés ?
    • Comment active-t-on un site ?
    • Comment se nomme le compte d'utilisateur qui utilise le serveur http ?
    • Quels sont les permissions d'accès par défaut sur le site principal du serveur ?
    • Dans quel répertoire sont installés par défaut les pages HTML du site ?
    • Dans quel répertoire par défaut sont stockés les scripts CGI et quel en est l'alias ?
    • Quel est le principal rôle des alias ?
    • Quelle(s) procédure(s) peut-on utiliser pour déterminer l'état du serveur et son bon fonctionnement ?
    • Vous installez un serveur Apache sur une machine d'adresse 192.168.90.1 et de nom foo.foo.org. Lors des tests sur la machine locale, les commandes http://localhost, http://127.0.0.1, http://192.168.90.1 fonctionnent et http://foo.foo.org ne fonctionne pas. Lors des tests à partir d'une machine distante les commandes http://192.168.90.1 et http://foo.foo.org fonctionnent.
      Que peut-on en déduire et comment résoudre le problème ?