LAMP

De ArchwikiFR
(Redirigé depuis Lamp)


Ce document décrit la procédure de mise en place d'un serveur Apache / MariaDB ou MySQL / PHP sur la distribution ArchLinux.

Sommaire

Installation

pacman -S apache php php-apache mariadb
Note: Installez MySQL depuis AUR si vous préférez utiliser le serveur de base de données d'Oracle en lieu et place de MariaDB.

Configuration

MariaDB

Reportez-vous à la page MariaDB (ou MySQL) pour l'installation, la configuration et le lancement du serveur SQL.

Note: Au premier lancement, le mot de passe est vide. Tapez donc Entrée lorsque le mot de passe est demandé. Puis, définissez un nouveau mot de passe (par défaut, phpMyAdmin, si vous comptez l'utiliser, impose d'avoir un mot de passe).

PHP

Une fois PHP installé, il nous faut configurer ce dernier pour prendre en compte MariaDB. Dé-commenter (enlevez le ; au début) la ligne suivante:

Fichier: /etc/php/php.ini
extension=mysql.so

Apache

Il ne reste plus qu'à configurer le serveur Apache pour prendre en compte PHP, pour cela, Rajoutez:

  • À la fin des chargements de modules (la liste des LoadModule):
Fichier: /etc/httpd/conf/httpd.conf
# Load php5 module
LoadModule php5_module modules/libphp5.so
  • À la fin des inclusions de fichiers de configuration (la liste des Include):
Fichier: /etc/httpd/conf/httpd.conf
# PHP settings
Include conf/extra/php5_module.conf

Pour démarrer automatiquement le serveur Apache :

systemctl enable httpd

Et éventuellement, pour le démarrer sans redémarrer :

systemctl start httpd

Si votre serveur ne démarre pas, vérifiez que le fichier /etc/hosts contient votre hostname. Dans l'exemple ci-dessous mon hostname est monSuperServeurHttpd :

Fichier: /etc/hosts
#
# /etc/hosts: static lookup table for host names
#
#<ip-address>    <hostname.domain.org>    <hostname>
127.0.0.1    localhost.localdomain    localhost monSuperServeurHttpd
# End of file

Si vous obtenez l'erreur "Apache is running a threaded MPM", c'est que apache utilise le module MPM threaded qui ne permet pas l'utilisation de php (Sauf via CGI). Remplacez :

Fichier: /etc/httpd/conf/httpd.conf
LoadModule mpm_event_module modules/mod_mpm_event.so

Par :

Fichier: /etc/httpd/conf/httpd.conf
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

Tests

Pour voir si le serveur MariaDB est démarré:

mysql

Pour Apache et PHP, rajoutez le fichier suivant dans /srv/http:

Fichier: /srv/http/test.php
<?php
  phpinfo ();
?>

Puis allez sur http://localhost/test.php, si vous tombez sur une page détaillant les options de PHP, votre serveur LAMP est fonctionnel.

Avancé

Répertoire utilisateur

Par défaut, Apache est configuré pour permettre l'accès au répertoire $HOME/public_html depuis l'url http://localhost/~user/.

Note: Si vous voulez modifier ce comportement et ainsi empêcher l'accès à ce répertoire depuis le réseau, il suffit de commenter la ligne suivante du fichier /etc/httpd/conf/httpd.conf:
#Include conf/extra/httpd-userdir.conf

Pour pouvoir accéder aux pages du répertoire $HOME/public_html, vous devez vous assurer d'avoir correctement défini les permissions afin qu'Apache puisse y accéder. Il faut pour cela que le répertoire $HOME/public_html ainsi que ses parents soit au minimum accessible en exécution pour l'utilisateur http, définir un +x à others est suffisant:

chmod o+x ~
chmod o+x ~/public_html

L'autre moyen serait de créer un groupe commun à l'utilisateur et à http et de lui donner l'accès à ce répertoire.

phpMyAdmin

Une page sur la configuration de phpMyAdmin est disponible afin de pouvoir administrer le serveur MariaDB de manière plus conviviale.

Outils personnels
Autres langues