{{tag>Lucid Natty Oneiric serveur }}
----
====== Serveur web - LAMP =======
Un serveur [[wpfr>LAMP]] est un serveur web. Historiquement, l'acronyme "LAMP" fait référence aux quatre composantes d'un tel serveur web:
* **L**inux: le système d'exploitation constituant la base du système. Ici, il s'agit évidemment d'[[:ubuntu_distribution |Ubuntu]].
* **A**pache: le serveur HTTP qui gère la communication avec le client.
* **M**ySQL: le système de gestion de base de données.
* **P**HP: le langage de script utilisé pour générer les pages dynamiques.
Les serveurs Linux/Apache/MySQL associés à [[:Python]] ou [[http://fr.wikipedia.org/wiki/Perl_%28langage%29|Perl]] au lieu de PHP sont également appelé serveur "LAMP". Cependant, pour des soucis de simplicité, seul le cas (majoritaire) où PHP est utilisé comme langage de script est présenté ici. Vous pouvez obtenir des informations sur [[http://forum.ubuntu-fr.org/viewtopic.php?id=395008|l'installation de Python dans Apache sur le forum]]
===== Installation =====
Le prérequis pour un serveur "LAMP" est d'avoir un système d'exploitation GNU/Linux. La première étape est donc d'[[:installation |installer Ubuntu]] (ou une de ses [[:variantes]]). La variante [[:ubuntu_server|Ubuntu server]] est particulièrement adaptée dans le cas d'un serveur de production contrôlable à distance (par [[:ssh]] notamment) et ne nécessitant pas d'interface graphique.
==== Alternative 1: Installation par tâches ====
=== Méthode graphique ===
Préalable : installer [[apt>tasksel]]
[[:Synaptic]] permet d'installer automatiquement tous les paquets correspondants à une tâche. La liste des tâches est accessible par le menu //Édition/Sélectionner paquets par tâches//. Il suffit de sélectionner « serveur LAMP » et de valider puis de cliquer sur le bouton « Appliquer » pour installer les paquets nécessaires.
=== Méthode en lignes de code ===
[[:Tasksel]] permet également d'installer automatiquement tous les paquets nécessaires sans avoir recours à une interface graphique.
Dans le cas d'un serveur "LAMP", l'installation complète se résume à l'utilisation d'une seule [[:terminal |commande]]:
sudo tasksel install lamp-server
Si vous voulez désinstaller lamp ne faites surtout pas "sudo tasksel remove lamp-server". \\
__Tasksel ne doit jamais être utilisé pour la suppression de paquet__. \\
Celui-ci supprime les paquets nécessaires au reste du système sans se poser de question.(([[https://help.ubuntu.com/community/Tasksel|Tasksel sur Help Ubuntu]]))
ou sans passer par tasksel
sudo apt-get install lamp-server^
//**N'oubliez pas** le caractère **^** en fin de ligne.//
==== Alternative 2 : Installation des paquets (méthode recommandée) ====
Une alternative à la méthode précédente consiste à [[:tutoriel:comment_installer_un_paquet|installer]] directement les paquets nécessaires:\\
**[[apt>apache2,php5,mysql-server |apache2, php5, mysql-server]]**
En ligne de commande :
sudo apt-get install apache2 php5 mysql-server
Description des paquets :
* Le paquet [[apt>apache2|apache2]] installe le serveur [[:apache2 |Apache 2]].
* Le paquet [[apt>php5|php5]] installe le langage [[:php |PHP 5]] et, grâce aux dépendances, le module d'intégration dans Apache (paquet [[apt>libapache2-mod-php5|libapache2-mod-php5]] installé automatiquement en principe).
* Le paquet [[apt>mysql-server|mysql-server]] installe le serveur [[:mysql |MySQL]]. et, grâce aux dépendances, le module d'interface avec php (paquet [[apt>php5-mysql|php5-mysql]] installé automatiquement en principe).
Si après l'installation, le serveur refuse d'ouvrir les fichiers en php (firefox vous demande si vous voulez télécharger la page en php), il faudra vider le cache de firefox (ça peut suffire) et parfois (ré)installer le paquet libapache2-mod-php5. De même il arrive qu'il faille (ré)installer le paquet php5-mysql si php ne dispose pas des instructions de gestion des bases de données MySQL
si vous avez activé le module userdir qui permet à chaque utilisateur d'avoir son propre site dans public_html, il faut mettre quelques commentaires dans le fichier php5.conf qui se trouve dans /etc/apache2/mods-enable, il faut commenter les lignes avec ##
SetHandler application/x-httpd-php
SetHandler application/x-httpd-php-source
# To re-enable php in user directories comment the following lines
# (from to .) Do NOT set it to On as it
# prevents .htaccess files from disabling it.
##
##
## php_admin_value engine Off
##
##
Les méthodes d'installation décrites ici permettent d'obtenir un serveur "LAMP" pré-configuré et fonctionnel.\\
Une configuration n'est donc nécessaire que dans le cas d'une personnalisation de l'installation.
===== personnalisation de l'installation =====
==== Configuration d'Apache 2 ====
La configuration et les détails à propos d'Apache 2 sont accessibles sur la [[:apache2 |page dédiée à ce serveur HTTP]].
==== Configuration de PHP ====
La configuration et les détails à propos de PHP sont accessibles sur la [[:php |page dédiée à ce langage]].
==== Configuration de MySQL ====
La configuration et les détails à propos de MySQL sont accessibles sur la [[:mysql |page dédiée à ce serveur de base de données]].
Il est courant d'installer également [[:PHPMyAdmin]] afin de gérer la base de donnée MySQL dans une interface web écrite en PHP.
==== Configuration du répertoire de travail ====
La configuration du répertoire de travail est accessible sur cette [[tutoriel:lamp_repertoires_de_travail |page]]
===== Utilisation et accès au serveur =====
Une fois l'installation effectuée, le serveur est accessible (via un navigateur internet) à l'une des URL (locales) suivantes:
* http://127.0.0.1
* http://localhost
Il existe des interfaces graphiques pour utiliser Apache et MySQL. De la plus simple à la plus complète : [[https://launchpad.net/localhost-indicator|localhost-indicator]], [[https://launchpad.net/rapache|rapache]] et [[webmin]] (à utiliser avec prudence).
//Contributeurs : [[utilisateurs:oxossi]]