Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
lamp [Le 04/04/2023, 17:24] krodelabestiole [Envoi de courriel] plus de ref à ssmtp |
lamp [Le 30/11/2024, 15:19] (Version actuelle) krodelabestiole problèmes courants plus visibles / en lien, pas de redondance |
||
---|---|---|---|
Ligne 5: | Ligne 5: | ||
LAMP est un acronyme pour **L**inux, **A**pache, **M**ySQL, **P**HP. C'est une pile logicielle comprenant le système d'exploitation, un serveur HTTP, un système de gestion de bases de données et un langage de programmation interprété, et qui permet de mettre en place un [[:web#serveurs|serveur web]]. | LAMP est un acronyme pour **L**inux, **A**pache, **M**ySQL, **P**HP. C'est une pile logicielle comprenant le système d'exploitation, un serveur HTTP, un système de gestion de bases de données et un langage de programmation interprété, et qui permet de mettre en place un [[:web#serveurs|serveur web]]. | ||
- | * **Linux** : le système d'exploitation, on peut déployer la pile LAMP sur la plupart des distributions GNU/Linux ; | + | * **Linux** : le système d'exploitation. On peut déployer la pile LAMP sur la plupart des distributions GNU/Linux ; |
- | * **[[:apache2|Apache]]** : le serveur HTTP, il permet au serveur de communiquer avec le navigateur en utilisant le protocole HTTP(S) ; | + | * **[[:apache2|Apache]]** : le serveur HTTP. Il permet au serveur de communiquer avec le navigateur en utilisant le protocole HTTP(S) ; |
- | * **MySQL** : il s'agit d'un serveur de bases de données. Il sert à stocker, à manipuler et à accéder à des listes de données organisées en tableaux. Ce service peut être fournit par le logiciel [[:MySQL]] ou par [[:MariaDB]] (fork plus ouvert, plus performant, et 100% compatible MySQL). | + | * **MySQL** : il s'agit d'un serveur de bases de données. Il sert à stocker, à manipuler et à accéder à des listes de données organisées en tableaux. Ce service peut être fourni par le logiciel [[:MySQL]] ou par [[:MariaDB]] (fork plus ouvert, plus performant et 100 % compatible avec MySQL) ; |
- | * **[[:PHP]]** : PHP est un langage de programmation interprété qui permet de générer du contenu web dynamiquement. Il s'agit la plupart du temps de pages [[wpfr>HTML]]). | + | * **[[:PHP]]** : PHP est un langage de programmation interprété qui permet de générer du contenu web dynamiquement. Il s'agit la plupart du temps de pages [[wpfr>HTML]]. |
- | Un exemple type : un internaute veut afficher son profil sur un site web. Au moyen de son navigateur il effectue une requête sur un [[:web#serveurs|serveur web]] en appelant une [[:web#url|URL]] sur le domaine du serveur. Le module PHP d'Apache va interpréter un script qui envoie une requête au serveur MySQL en lui demandant les informations de l'utilisateur. Une fois ces informations récupérées, le script PHP met en forme le résultat sous forme de page web (HTML) qui est envoyée au navigateur web. | + | Voici un exemple typique d’utilisation. Un internaute veut afficher son profil sur un site web. Au moyen de son navigateur, il effectue une requête sur un [[:web#serveurs|serveur web]] en appelant une [[:web#url|URL]] sur le domaine du serveur. Le module PHP d'Apache va interpréter un script qui envoie une requête au serveur MySQL en lui demandant les informations de l'utilisateur. Une fois ces informations récupérées, le script PHP met en forme le résultat sous forme de page web (HTML) qui est envoyée au navigateur web. |
===== Installation ===== | ===== Installation ===== | ||
- | On peut déployer la pile LAMP sur n'importe quelle version ou [[:variantes|variante]] d'Ubuntu (le système d'explotation que vous utilisez). La variante [[:ubuntu_server|Ubuntu server]] est particulièrement adaptée dans le cas d'un serveur "headless" (sans interface graphique) contrôlable à distance (par [[:ssh]] notamment). | + | On peut déployer la pile LAMP sur n'importe quelle version ou [[:variantes|variante]] d'Ubuntu. La variante [[:ubuntu_server|Ubuntu server]] est particulièrement adaptée dans le cas d'un serveur //headless// (sans interface graphique) contrôlable à distance (par [[:ssh]] notamment). |
==== Méthode recommandée : installation des paquets ==== | ==== Méthode recommandée : installation des paquets ==== | ||
Ligne 31: | Ligne 31: | ||
* Le paquet [[apt>apache2|apache2]] installe le serveur HTTP [[:apache2 |Apache 2]] (c'est une dépendance de libapache2-mod-php). | * Le paquet [[apt>apache2|apache2]] installe le serveur HTTP [[:apache2 |Apache 2]] (c'est une dépendance de libapache2-mod-php). | ||
* Le paquet [[apt>php|php]] méta-paquet permettant d'installer au moins un interpréteur [[:PHP]] (aussi installé ici en dépendance de libapache2-mod-php). | * Le paquet [[apt>php|php]] méta-paquet permettant d'installer au moins un interpréteur [[:PHP]] (aussi installé ici en dépendance de libapache2-mod-php). | ||
- | * Le paquet [[apt>libapache2-mod-php|libapache2-mod-php]] module d'Apache (on peut aussi utiliser PHP en ligne de commande ou indépendamment en FastCGI, ce qui le rend plus performant mais plus compliqué à mettre en place) | + | * Le paquet [[apt>libapache2-mod-php|libapache2-mod-php]] module d'Apache (on peut aussi utiliser PHP en ligne de commande ou indépendamment en FastCGI, ce qui le rend plus performant mais plus compliqué à mettre en place). |
* Le paquet [[apt>mysql-server|mysql-server]] installe le serveur de bases données [[:mysql |MySQL]]. | * Le paquet [[apt>mysql-server|mysql-server]] installe le serveur de bases données [[:mysql |MySQL]]. | ||
* Le paquet [[apt>mariadb-server|mariadb-server]] installe le serveur de base données [[:mariadb|MariaDB]]. | * Le paquet [[apt>mariadb-server|mariadb-server]] installe le serveur de base données [[:mariadb|MariaDB]]. | ||
- | * Le paquet [[apt>php-mysql|php-mysql]] installe les module permettant d'utiliser MySQL ou MariaDB avec PHP. | + | * Le paquet [[apt>php-mysql|php-mysql]] installe les modules permettant d'utiliser MySQL ou MariaDB avec PHP. |
Une fois les paquets installés, ouvrez un des liens suivants dans votre navigateur : | Une fois les paquets installés, ouvrez un des liens suivants dans votre navigateur : | ||
Ligne 54: | Ligne 54: | ||
=== installation via Bitnami === | === installation via Bitnami === | ||
- | [[https://bitnami.com/|Bitnami]] est un fournisseur d'applications web telles que Wordpress et Moodle, mais celle qui nous intéresse, c'est [[https://bitnami.com/stack/lamp|LAMP]]. Il suffit de télécharger l'exécutable, autoriser son exécution puis l'exécuter en suivant les instructions. | + | [[https://bitnami.com/|Bitnami]] est un fournisseur d'applications web telles que Wordpress et Moodle. Celle qui nous intéresse est [[https://bitnami.com/stack/lamp|LAMP]]. Il suffit de télécharger l'exécutable correspondant, d’autoriser son exécution puis de l'exécuter en suivant les instructions. |
- | <note important>Si **[[apt>libncurses5]]** n'est pas installé, installez-le avant de lancer l'installation de LAMP sinon vous allez rencontrer des erreurs.</note> | + | <note important>Pour éviter des erreurs avec Bitnami, installez **[[apt>libncurses6]]** s'il ne l'est pas déjà avant d'installer LAMP.</note> |
===== Personnalisation de l'installation ===== | ===== Personnalisation de l'installation ===== | ||
Ligne 170: | Ligne 170: | ||
<note tip>En fonction du problème que vous rencontrez, consultez également les problèmes courants spécifiques à [[:apache2#problemes_courants|Apache]], ceux de [[:php#problemes_courants|PHP]] ou ceux de [[:mysql#problemes_courants|MySQL]].</note> | <note tip>En fonction du problème que vous rencontrez, consultez également les problèmes courants spécifiques à [[:apache2#problemes_courants|Apache]], ceux de [[:php#problemes_courants|PHP]] ou ceux de [[:mysql#problemes_courants|MySQL]].</note> | ||
+ | |||
+ | ==== Page blanche ==== | ||
+ | |||
+ | Voir comment [[:php#page_blanche|résoudre le problème]] sur la page concernant PHP. | ||
+ | |||
+ | ==== Code source visible dans le navigateur ==== | ||
+ | |||
+ | Le problème a aussi son [[:php#code_source_visible_dans_le_navigateur|chapitre dédié]] sur la page PHP. | ||
+ | |||
+ | ==== Erreurs numérotées ==== | ||
+ | |||
+ | Les erreurs affichées dans le navigateur, numérotées de 400 à 599, sont des [[wpfr>Liste_des_codes_HTTP|codes HTTP]] retournés par Apache. | ||
+ | |||
+ | Elles sont donc décrites sur la [[:apache2#problemes_courants|page concernant Apache]]. | ||
==== Conflit entre MySQL et MariaDB ==== | ==== Conflit entre MySQL et MariaDB ==== | ||
Ligne 182: | Ligne 196: | ||
Dans ce cas le plus simple est de supprimer les paquets ainsi que tous les fichiers de configuration de votre serveur de bases de données en [[:mysql#reinstallation_complete|réinstallant complètement MySQL ou MariaDB]]. | Dans ce cas le plus simple est de supprimer les paquets ainsi que tous les fichiers de configuration de votre serveur de bases de données en [[:mysql#reinstallation_complete|réinstallant complètement MySQL ou MariaDB]]. | ||
+ | |||
===== Voir aussi ===== | ===== Voir aussi ===== | ||