Skip to content

Documentation WEB

MagnesSimon edited this page Aug 31, 2021 · 25 revisions

Arborescence

tree-web

Organisation des configurations

  • Composé d'un dossier "www" comportant trois sous-dossiers, b2b, intranet et public qui sont eux composés des fichiers de configuration index.html pour l'affichage de page dans un navigateur web.

  • Le fichier b2b.l1-5.ephec-ti.be.conf contient la configuration pour le site web "b2b".

  • Le fichier default.conf contient la configuration principale de notre serveur web.

  • Le fichier intranet.l1-5.ephec-ti.be.conf contient la configuration pour le site web "intranet".

  • Le fichier www.l1-5.ephec-ti.be.conf contient la configuration pour le site web vitrine.

  • Ces quatre fichiers de configurations contiennent :

  • ServerName indiquant l'hôte utilisé pour la configuration
  • ServerAdmin qui est une adresse mail utilisé pour pouvoir être affiché sur certains messages d'erreur
  • DocumentRoot qui indique la racine du site web, l'emplacement se trouvent nos fichiers.

Maintenance

Procédure pour lancer le serveur

Il faut d'abord définir le Dockerfile dans le quel on va installer un serveur WEB sous Apache, on y ajoutera nos fichiers de configuration par la suite.

Pour construire le container:
docker build -t nomImage:latest ./Chemin/Dockerfile/

Pour lancer le container:
docker run -t -d --name nomContainer --net=host nomImage:latest

Pour arrêter le container:
docker stop nomContainer

Pour supprimer le container:
docker container rm nomContainer

Procédure pour ajouter, supprimer ou modifier les configurations WEB

  1. Ajouter, supprimer ou modifier une page HTML ou PHP dans le dossier /config/www
  2. Ajouter, supprimer ou modifier un fichier de configuration de type: b2c.l1-5.ephec-ti.be.conf.
    Dans ce fichier, on précise le serverAdmin, serverName et documentRoot qui indique le chemin vers la page HTML ou PHP.
  3. Dans Docker, copier ces fichiers de configuration aux endroits approprié, site-available pour les fichier.conf et /www pour les pages web.

Mise à jour des services

  • service apache2 stop
  • apt update
  • apt-get upgrade apache2
  • service apache2 start

Troubleshooting

  • La commande sudo docker logs nomContainer permet d'afficher les logs au lancement du container.
  • le fichier /var/log/apache2/access.log contient les logs d'apache2

Erreur Fréquentes

  • Site non activé:

    • Google affichera une page d'erreur 404.
      • Exécuter la commande "a2ensite monsite.conf".
      • Si le site étais déjà actif, la commande si dessus renvoi un message indiquant "monsite already enabled". Cela signifie que l'erreur est lié à autre chose.
  • ports bloqué ou déjà utilisé:

    • Le service refusera de se lancer
    • La commande "netstat -a" permet d'afficher toutes les connexions TCP actives et les ports TCP et UDP en écoute.
      • Pour libérer un port utilisé par un autre processus, il faut exécuter la commande "kill n°port". Cela arrêtera la processus actif sur le port voulu, et permettra de réallouer ce port pour un autre processus.
  • Port 80 bloqué par le firewall ufw:

    • Le service refusera de se lancer et le port censé être ouvert par défaut sera bloqué.
    • Une tentative de connexion au port 80 avec cURL affichera un message d'erreur indiquant que la connexion est refusée.
    • La commande "netstat -ntlp | grep LISTEN" servant à afficher les ports ouvert n'affiche pas le port 80.
      • SOLUTION: La commande "Sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT" permet de dire au firewall ufw d'ouvrir le port 80 et d'accepter le trafic sur ce port.
  • Erreur de configuration sur les "virtualhost":

    • Le service refusera de se lancer.
    • Les logs du service indiqueront qu'il y a une erreur (erreur de syntaxe ou fichier introuvable).
      • Vérifier que le "ServerName" est correct.
      • Vérifier que le répertoire indiqué comme "DocumentRoot" contient bien les page html et/ou php du site.
      • Pour les erreur de syntaxe, il s'agit souvent d'un oubli de ')' ou '}'.

Clone this wiki locally