Comprendre un Serveur Web : les composants

Les serveurs Internet sont depuis les origines du Web essentiellement des logiciels libres Open Source, initiés sous Linux/Unix depuis les universités américaines... à commencer par le programme serveur lui-même.

Cet article précise les composants correspondants à Serveur, base de données, ftp, à quoi ça sert ?
- le serveur Web (Apache ou Nginx),
- le langage PHP (versions de 5 à 7),
- le serveur de Base de Données SQL (MySQL ou MariaDB ou...).

Article publié le 5 mai, et actualisé en mai 2020

 
 
 
 
 
 
 
 
 
 
 
 

 Les briques principales de WampServer

L’ensemble serveur Wamp intègre divers composants d’origine Linux, originellement programmés en C pour exécution en services [1] Windows, avec les multiples packages correspondants aux versions Visual C++ de Microsoft en modes 32bits voire 64 bits :
-  wampmanager : programme d’interface de gestion active l’icone (verte ou rouge)
- le service wampapache : programme exécutant Apache (le serveur Web [2])
- le service wampmysqld : démon caché qui sert les données en BDD SQL [3].
- php : langage fondamental d’exécution de SPIP : PHP présente des évolutions incompatibles [4]
- les packages VCRedist : groupes de bibliothèques librement redistribuables de MicroSoft, [5]
- check_vcredist.exe : palliatif indispensable d’identification des précédents (à charger en plus)..
- à votre WampServer manqueraient un serveur de mail, et un service FTP (inutile avec le partage Windows).

Des ’apps’ (applications complémentaires libres en source php) sont aussi fournies :
- phpmyadmin : facilite la manipulation directe des données en tables
- adminer : analogue, gère aussi les bases SQlite (accès fichier direct par php)
- phpsysinfo : une application d’exploration système (réservée aux geeks)

Deux langues "source" qui ne sont utilisées que par vous (et votre navigateur - role de client) :
- le HTML : la syntaxe utilisée pour écrire des pages Web lisibles,
- le CSS : la programmation des jolis habillages des textes écrits ci-dessus,
- le langage PHP : source de SPIP (vous n’aurez pas à y toucher avant... longtemps),
- le langage SPIP : syntaxe complémentaire a SPIP : notre but !
Enfin XDebug est une librairie complémentaire, inutile pour les débuts en SPIP [6]

Vous aurez aussi besoin de deux/trois outils extérieurs, à commencer par :
- un navigateur Web [7] : exemple FireFox Developper Edition
à compléter avec les extensions désirées Extensions du Navigateur WEB.
- un éditeur de texte (mieux que le Bloc-Notes) exemple : NotePad++
- à terme un logiciel de transfert FTP (pour échanger des fichiers avec un serveur Web distant).

 Les fichiers et outils à identifier

L’arborescence installée par Wamp est donc assez complexe, surtout qu’elle est pensée pour pouvoir facilement rajouter des versions multiples des principaux composants (PHP et SQL)..
les sous-répertoires des versions des composants sont suffixés de leur numéro de version [8]
- le dossier "Document Root" : c’est la racine de l’espace des dossiers offerts par votre service Web (WampServer y installant quelques fichiers programmes en PHP, vous devez déposer tous vos sites Web dans dans sous-dossiers).
(A noter : il est possible de partager cet espace-dossier entre serveurs).
- le(s) dossier(s) data de vos données en base : n’y touchez pas directement, mais c’est un sous-répertoire propre à chaque moteur de base de données, pour y enregistrer physiquement les tables.

 La notion de port(e)s IP pour les services

Ces divers composants qui s’exécutent sur le serveur doivent dialoguer entre eux, par exemple quand votre navigateur demande une page Web au serveur Apache, qui lui-même effectuera des requêtes SQL au serveur de BDD. Les Sytèmes d’Exploitation (Windows ou Linux) offrent des port(e)s de communication (parfois fermées par le pare-feu) conventionnellement numérotées, à destination de chaque tache serveur tournant sur l’ordinateur.

Les ports de ces services sont ’affectés’ de façon normalisée [9], même si certains programmes propriétaires ont pris leurs aises :
- le port 53 sert à demander aux serveurs de noms (les DNS) l’adresse IP d’un d’une URL symbolique [10]
- le port 80 dit ’http’, est systématiquement appelé par tous les navigateurs Internet spécifiques (ce qui permet l’inter-opérabilité du Net), ainsi que le port 443 pour les versions https [11].
- le port 3306 est normalement consacré pour accéder au programme serveur de base de données (MySQL ou MariaDB) :vous verrez que WampServer peut vous proposer un port alternatif, mais il faudra penser à le préciser lors de l’installation de SPIP...
- les ports 20 et 21 peuvent etre réservés pour les services FTP (mais c’est rare sous Windows).
Vous comprenez alors mieux la la notion d’installation des services pour Apache et MySQL proposés pour le fonctionnement permanent de votre WampServer ; notez que le raccourci activant l’icone colorée de WampServeur démarre ces services si nécessaire (les arrête à la sortie), et indique en permanence leur bon fonctionnement.


Merci de nous signaler les coquilles, imprécisions ou erreurs qui figureraient dans cette page.

[1Un service (voir ci-après #ports) est un programme serveur caché -un démon sortant de sa boite sur demande- pour répondre aux demandes du client/vous..

[2Outre apache, célèbre pour avoir initié la licence éponyme, certains hébergements préfèrent Nginx, qui rend un service équivalent, épuré et souvent plus rapide.

[3Choisir l’un des moteurs MySQL ou MariaDB : actuellement assez équivalents et interchangeables ; il est aussi possible d’utiliser PostgreSQL ou SQLite.

[4Vous voyez encore des traces de PHP3, et SPIP tourne encore en PHP5.6, que les hébergeurs abandonnent pour les divers PHP 7, 7.1 à 7.4+ toujours avec des incompatibilités.

[5Indispensables au fonctionnement sous Windows, chaque exécutable peut exiger une version spécifique d’un ensemble de dll, sinon plantages garantis et sans informations claires !

[6uniquement utile pour tracer des erreurs d’exécution des programmes PHP : vous commencerez par demander de l’aide sur IRC !

[7Dédiez un navigateur à vos taches de développement : vous y ajouterez progressivement de nombreuses extensions.., exemple FireFox (qui peut être déclaré à WampServer)

[8SPIP prend aussi cette codification habituelle des numéros de versions en x.y.z, avec les significations suivantes :

  • un X change pour des modifications profondes (ré-ecriture avec d’autres concepts),
  • un Y change pour un ajout de fonctionnalités sans grands changements,
  • le Z est incrémenté pour distinguer chaque modification (correction de bugs) mineure.

[9Evidemment il ne peut/doit y avoir deux serveurs prêts à répondre sur le même port...

[10Si un hôte virtuel (nom symbolique) n’est pas déclaré dans le DNS de votre réseau local (rôle souvent tenu par votre ’box’ ADSL),vos postes et smartphones n’y sauront trouver accès !

[11Mais certains programmes Windows ’mal-élevés’ comme Skype, préemptent peut-être ce port 80 sur votre ordinateur ; Wamp ne pourra fonctionner normalement.


Liens A2A visibles seulement pour les inscrits.
Liens visibles seulement pour les inscrits.

Article publié le 5 mai, et actualisé en mai 2020 .

Répondre à cet article