TP1 Introduction à Apache2



  1. Conseils
  2. Quelques repères essentiels sur Apache2
    1. Où se trouve l'exécutable (whereis apache2) ?
    2. Où se trouvent les modules dynamiques ?
    3. Observer le contenu du répertoire de configuration /etc/apache. Décrire son contenu.
    4. Où se trouve la racine du site WEB ?
    5. Où Apache place-t-il ses journaux d'activités ? (grep -ni log /etc/apache2/apache2.conf)

  3. Choix du jeu de caractères par défaut
    1. On constate que la page d'accueil en français n'affiche pas correctement les caractères accentués
    2. . Cela est du à une déclaration qui impose UTF-8 comme jeu de caractères par défaut, déclararation qui outrepasse les indications des pages elles-mêmes (il est inopérant d'inclure la balise meta dans les pages :
    3. Pour passer au jeu iso-8859-1, il faut intervenir dans le fichier de configuration :
    4. - Trouver le numéro de ligne de cette directive :
      grep -ni addDefaultcharset /etc/apache2/apache2.conf
      - Décommenter la ligne : AddDefaultCharset ISO-8859-1
    5. Autre façon
    6. On aurait pu intervenir dans le fichier etc/apache2/conf.d/charset.

  4. Modifications de paramètres d'exécution
  5. Supposons que le serveur d'établissement soit hébergé par une machine aux ressources limitées. On peut modifier le nombre de processus http.
    Agir sur les clauses du paragraphe prefork MPM
    1. Quel est le nombre actuel de serveurs WEB en exécution lors du démarrage d'Apache ? le nombre maximum en exécution simultanément ?
    2. Adresser des requêtes dans votre navigateur, que remarquez vous ?

  6. Les types mimes
    1. Où se trouve le fichier qui donne les correspondances entre types de fichiers et extension ?
    2. Où peut-on déclarer, si nécessaire, de nouvelles associations ?

    Le jeu de caractère du serveur

    C'est le jeu de caractères UTF-8 qui est utilisé par défaut.
    Cela est déterminé par le contenu de la directive AddDefaultCharset UTF-8 du fichier /etc/apache2/conf.d/charset Plus précisément, c'est le jeu de caractères utilisé par le serveur pour coder la page envoyée au navigateur, et cette directive supplante l'en-tête HTTP de la page. Elle remplace donc le jeu de caractères spécifié dans le corps du document Web (ex :.
    Pour y remédier, la solution la plus simple est de commenter cette directive(avec #, puis de recharger la configuration de apache2 (on peut aussi opter spécifier ISO-8859-1, comme charset par défaut).
    Vérifier en rechargeant la page d'accueil.
  7. Etudier l'intégration du langage PHP5
  8. Ce sont ces 2 fichiers intégrés dans apache2.conf : php5.load et php5.conf, qui permettent à Apache de traiter spécialement les fichiers d'extension .php

  9. Fixer le nom public du serveur
    1. Renseigner la directive ServerName avec un nom du genre ubuntux, où x est le numéro de la machine hôte.
    2. Tester à partir d'un client, après avoir renseigné le fichier /etc/hosts

  10. La page d'accueil et les pages par défaut
    1. Quel est le fichier qui sert de page d'accueil et de test à l'installation ?
    2. Comment charger cette page d'accueil du serveur Apache hébergé par votre propre machine ?
    3. Pouvez-vous en faire autant avec les serveurs des autres groupes ?
    4. Renommez index.bak la page d'accueil du serveur. Pouvez vous l'obtenir comme précédemment ? Pourquoi ?
    5. Qu'obtenez-vous en passant l'URL : http://serveur/index.bak ? Expliquez pourquoi.
    6. Créez rapidement une petite page HTML portant le nom accueil.html
      L'objectif est qu'elle devienne la page d'accueil du serveur. Rechercher avec grep la ligne de DirectoryIndex et la modifier convenablement. Vérifier.

  11. Suivi du journal des accès
    1. Examiner les journaux :
      - access.log pour les requêtes traitées (qu'elles soient réussies ou non)
      - error.log pour noter les erreurs de fonctionnement du serveur
    2. Quel est le rôle de la commande tail (man tail) ?
      Passer la commande (à expliquer) : tail -f /var/log/apache2/access.log > /dev/tty11  &
    3. Noter le PID du processus qui vient d'être lancé, puis observer le contenu de la console tty11
    4. Demander aux groupes voisins de jouer les rôles de clients WEB et d'interroger votre serveur http://ubuntu/..
      Observer les lignes de access.log générées "en direct"
    5. Interpréter les champs de chaque ligne, en particulier répérer les renseignements qui concernent le client et les codes de retour des diverses requêtes (200 réussie, 404 "not found" ...)