*AMP
# *AMP

*AMP (star-AMP) est un acronyme dérivé de LAMP désignant un ensemble de logiciels libres permettant de construire une architecture de serveur web sur n'importe quelle plateforme.

L'acronyme original se réfère aux logiciels suivants :

* « Apache », le serveur Web ;
* « MySQL ou MariaDB », le serveur de base de données ;
* À l'origine, « PHP », « Perl » ou « Python », les langages de script.

Même si les auteurs de chacun de ces programmes ne se sont pas coordonnés pour construire des plates-formes *AMP, 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.

## Architecture

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

* Apache est le serveur web « frontal » : il est « devant » tous les autres et répond directement aux requêtes du client web (navigateur) ;
* MySQL est un système de gestion de bases de données (SGBD). Il permet 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.

Tous les composants peuvent être situés :

* sur une même machine ;
* sur deux machines, généralement Apache et le langage de script d'un côté et MySQL de l'autre ;
* sur de nombreuses machines pour assurer la haute disponibilité (répartition de charge et/ou failover).

## Variantes

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) 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 :

* LAMP : Linux Apache MySQL PHP,
* WAMP : Windows Apache MySQL PHP,
* MAMP : Macintosh Apache MySQL PHP,
* SAMP : Solaris Apache MySQL PHP,
* XAMPP : Cross (X) Apache MySQL Perl PHP : Suite de logiciel *AMP multi-plateformes
* HAMP : Hurd Apache MySQL PHP.
