Serveur WEB

Site: Campus Numérique UABT
Cours: Administration Client /Serveur
Livre: Serveur WEB
Imprimé par: Visiteur anonyme
Date: mercredi 3 juillet 2024, 18:18

Description

  • Un serveur web est un ordinateur central qui fait en sorte que vous puissiez voir avec votre navigateur les sites web se trouvant sur ce serveur
  • C’est un ordinateur tenant le rôle de serveur informatique sur lequel fonctionne un logiciel de serveur HTTP


1. Serveurs web

  • Un serveur web est un ordinateur central qui fait en sorte que vous puissiez voir avec votre navigateur les sites web se trouvant sur ce serveur
  • C’est un ordinateur tenant le rôle de serveur informatique sur lequel fonctionne un logiciel de serveur HTTP


2. Serveurs HTTP

Un serveur HTTP est un logiciel permettant de rendre accessible des pages au format HTML ou XML en utilisant le protocole HTTP

Exemples de serveurs HTTP

  • Apache
  • Microsoft IIS (Internet Information Server)
  • Microsoft PWS (Personal Web Server)

2.1. Apache

  • Serveur HTTP le plus utilisé
  • Doté de nombreuses fonctionnalités

Points forts Points faibles

Performant ,stable et gratuit

Pas d’interface graphique

Peu gourmand en ressources matérielles

Pas de support technique

Compatibilité

Complexité de configuration


Fichiers .htaccess

Les fichiers .htaccess sont des fichiers de configuration d'Apache, permettant de:

  • Définir des règles dans un répertoire
  • Gérer l'accès à certains fichiers
  • Protéger l'accès à un répertoire par un mot de passe
  • Définir des pages d'erreurs personnalisées

2.2. PHP

PHP (Hypertext Preprocessor)

  • Langage de scripts coté serveur
  • Souvent utilisé pour dialoguer avec les bases de données

Points forts Points faibles
Portabilité implémentation du modèle objet difficile
faible coût Débogage impossible
simplicité d'utilisation



2.3. MySQL

  • Système de gestion de bases de données relationnelles
  • Il utilise SQL 
  • Robuste et rapide


Points forts Points faibles

Un serveur multi utilisateurs et multi thread

Interface d'administration austère

Un coût réduit

Documentation confuse

Simplicité de configuration

Pas de select imbriqués

Accessibilité de son code source

Pas de transactions jusqu'à la version 4



2.4. Pourquoi la combinaison (PHP, MySQL)?

Pourquoi la combinaison (PHP, MySQL)?

  • Une des caractéristiques intéressantes de PHP et de MySQL tient à ce qu’ils fonctionnent avec tous les systèmes d’exploitation les plus connus et avec la plupart des autres.
  • Un script PHP peut, dans la plupart des cas, être écrit de façon à être portable entre les systèmes d’exploitation et les serveurs web.

3. Comment ça marche?

  1. Le navigateur envoie l'adresse tapée au serveur.
  2. Le serveur web cherche dans son arborescence si le fichier existe, et si celui-ci porte une extension reconnue comme une application PHP. Si c'est le cas, le serveur web transmet ce fichier à PHP.
  3. PHP parse le fichier (analyse du code entre les balises <?php et ?>. Si ce code contient des requêtes vers une base de données MySQL, PHP envoie la requête SQL.
  4. La base de données renvoie les informations au script qui peut les exploiter (pour les afficher par exemple).
  5. PHP continue de parser la page, puis retourne le fichier dépourvu de code PHP au serveur web.
  6. Le serveur web renvoie donc un fichier ne contenant plus de PHP, mais seulement du HTML au navigateur, qui l'interprète et l'affiche.

4. Installation et configuration

  1. Installation du serveur Apache
  2. Installation

    Sudo apt-get install apache2

    Démarrer Apache

    /etc/init.d/apache2 start

    Tester le serveur Apache

    Taper l’adresse suivante http://localhost dans le navigateur

    On doit obtenir la phrase suivante:

         It works!

  3. Configuration de Apache
Configuration de serveur web apache sur le fichier

  /etc/apache2/apache2.conf

Pour activer des modules sur apache, il faut travailler sur le fichier

  /etc/apache2/httpd.conf

Pour choisir le port d’écoute, il faut modifier le fichier (par défaut 80)

  /etc/apache2/ports.conf


  • Timeout 120: Durée pendant laquelle le serveur attend des émissions/réceptions au cours d’une communication, ce temps est mis à 120s.
  • MaxClients 150: nombres max de clients connectés
  • StartServers 5 : nombres de processus serveurs initiaux crées
  • KeepAlive : définit si le serveur peut exécuté plus d’une requête par connexion
  • KeepAliveTimeout 15 : délai au bout duquel la connexion TCP est fermée
  • Installation de PHP
    • Télécharger le module PHP
    • Installer le module avec make install
    • Configurer PHP avec Apache dans le fichier httpd.conf
    • Spécifier l’emplacement des fichiers

    DocumentRoot ″/var/www″

    <Directory  ″/var/www″>

    DirectoryIndex index.php


  • Installation de MySQL
    • Télécharger le module MySQL
    • Créer un groupe et un utilisateur MySQL
    • Créer la BDD et les tables