Table des matières

, , , ,

Cette page est un brouillon pour la remise en forme de la page lamp :!:

Serveur web - LAMP

Un serveur LAMP est un serveur web. Historiquement, l'acronyme «LAMP» fait référence aux quatre composantes d'un tel serveur web :

Les serveurs Linux/Apache/MySQL associés à Python ou Perl au lieu de PHP sont également appelés serveurs «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 l'installation de Python avec 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'installer Ubuntu (ou une de ses variantes). La variante Ubuntu server est particulièrement adaptée dans le cas d'un serveur de production administrable à distance (par ssh notamment) et ne nécessitant pas d'interface graphique.

Alternative 1 : Installation par tâches

Méthode graphique

Préalable : installer tasksel si nécessaire.

Le gestionnaire de paquets 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 des paquets par Tâches”. Il suffit de sélectionner «LAMP server» et de valider puis de cliquer sur le bouton «Appliquer» pour installer les paquets nécessaires.

Méthode en ligne de commande

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 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.1) et 2)

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 recommandée à la méthode précédente consiste à installer directement les paquets nécessaires :
apache2, php5, mysql-server

En ligne de commande :

sudo apt-get install apache2 php5 mysql-server

Description des paquets :

Si après l'installation, le serveur refuse d'interpréter les fichiers en PHP (Firefox vous demande si vous voulez télécharger le fichier qui correspond à la page en PHP), il faudra vider le cache de Firefox (ça peut suffire) et parfois (ré)installer le paquet libapache2-mod-php5.
Il arrive que juste après l'installation des différents paquets, il soit nécessaire de forcer Apache à recharger sa configuration afin qu'il prenne correctement en compte l'activation des modules PHP. Cela se fait avec la commande suivante :

sudo /etc/init.d/apache2 force-reload

ou

sudo service apache2 force-reload

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 web dans son dossier ~/public_html,3) il faut mettre quelques commentaires dans le fichier php5.conf qui se trouve dans /etc/apache2/mods-enable. Le contenu de ce fichier est présenté ci-dessous. Pour plus de clarté, les lignes qu'il faut commenter (avec un seul caractère #) sont commentées avec ## dans l'exemple :

<IfModule mod_php5.c>
    <FilesMatch "\.ph(p3?|tml)$">
	SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
	SetHandler application/x-httpd-php-source
    </FilesMatch>
    # To re-enable php in user directories comment the following lines
    # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
    # prevents .htaccess files from disabling it.
    ##<IfModule mod_userdir.c>
    ##      <Directory /home/*/public_html>
    ##        php_admin_value engine Off
    ##     </Directory>
    ##</IfModule>
</IfModule>

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 page dédiée à ce serveur HTTP.

Configuration de PHP

La configuration et les détails à propos de PHP sont accessibles sur la page dédiée à ce langage.

Configuration de MySQL

La configuration et les détails à propos de MySQL sont accessibles sur la 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 de répertoires de travail

Par défaut, Apache est configuré pour utiliser le répertoire de travail /var/www et c'est dans ce dossier qu'il convient d'installer les fichiers de votre site Web. Il faut être root pour pouvoir écrire dans ce dossier.

Un tutoriel qui explique comment configurer ses propres répertoires de travail avec des droits spécifiques à une utilisation à la fois «publique» (serveur web personnel) et «privée» (serveur de développement) est disponible sur cette 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 :

Il existe des interfaces graphiques pour utiliser Apache et MySQL. De la plus simple à la plus complète : localhost-indicator, rapache et Webmin (à utiliser avec prudence).

Contributeurs : oxossi

3) Le caractère ~ (tilde) représente le dossier personnel de l'utilisateur, soit /home/toto pour l'utilisateur toto.