LAMP

Un article de Wikipédia, l'encyclopédie libre.
La LAMP software bundle (ici avec Squid). Une solution de haute performance et à forte disponibilité pour environnement hostile

LAMP est un acronyme désignant un ensemble de logiciels libres permettant de construire des serveurs de sites web. L'acronyme original se réfère aux logiciels suivants :

Même si les auteurs de chacun de ces programmes ne se sont pas coordonnés pour construire des plates-formes LAMP, cette combinaison de logiciels s'est popularisée du fait du faible coût de l'ensemble et de la présence de tous ces composants dans la plupart des distributions GNU/Linux.

Cet acronyme a été inventé par Michael Kunze qui l'a utilisé pour la première fois en 1998 dans le magazine allemand c't. L'article en question voulait démontrer qu'un ensemble de logiciels libres pouvait concurrencer les offres commerciales disponibles[2].

Architecture[modifier | modifier le code]

Les rôles de ces quatre composants sont les suivants :

  • Linux assure l'attribution des ressources aux autres composants (Rôle d'un Système d'exploitation ou OS pour Operating System) ;
  • Apache est le serveur web « frontal » : il est « devant » tous les autres et répond directement aux requêtes du client web (navigateur) ;
  • MySQL et son fork MariaDB sont des systèmes de gestion de bases de données (SGBD). Ils permettent de stocker et d'organiser des données ;
  • le langage de script PHP permet la génération de pages web dynamiques et la communication avec le serveur MySQL/MariaDB.

Tous les composants peuvent être situés :

  • sur une même machine ;
  • sur deux machines, généralement Apache associé au langage de script d'un côté et les moteurs de bases de données MySQL/MariaDB de l'autre ;
  • sur de nombreuses machines pour assurer la haute disponibilité (répartition de charge et/ou failover).

Variantes[modifier | modifier le code]

De même que Python ou Perl peuvent remplacer PHP puisqu'ils commencent par la même lettre, certaines combinaisons utilisent le P pour PostgreSQL (qui remplace MySQL/MariaDB) et font désigner les composants mod_perl ou mod_python par le M. D'autres acronymes sont apparus pour nommer des plateformes de serveurs internet :

  • LAMA : Linux Apache MySQL/MariaDB ASP,
  • WAMP : Windows Apache MySQL/MariaDB PHP,
  • MAMP : Macintosh Apache MySQL/MariaDB PHP,
  • SAMP : Solaris Apache MySQL/MariaDB PHP,
  • LAPP : Linux Apache PostgreSQL PHP,
  • WASP : Windows Apache SQLServer PHP,
  • HAMP[3]  : Hurd Apache MySQL/MariaDB PHP.
  • *AMP : de manière plus générale, l'acronyme *AMP (star-AMP) signifie AMP sur n'importe quelle plate-forme (LAMP, WAMP, MAMP, XAMP...)
  • LEMP : Linux Nginx MySQL/MariaDB PHP.

Par ailleurs le projet GNU suggère l'emploi de l'acronyme GLAMP dans sa liste des « termes prêtant à confusion, que vous devriez éviter »[4], cela pour les mêmes raisons que celles qui animent le débat Linux ou GNU/Linux.

Voir aussi[modifier | modifier le code]

Sur les autres projets Wikimedia :

Articles connexes[modifier | modifier le code]

Références[modifier | modifier le code]