Marche à suivre pour installer et configurer un serveur LAMP (Linux, Apache, MySQL, PHPMyAdmin) sur notre OS préféré
Edit 18.01.2016 : Correction de la partie « Protéger /var/www »
Edit : Rajout de trucs et astuces à la fin de l’article.
NB : Comme cet article attire beaucoup de visiteurs sur ce site, n’hésitez pas à laisser un commentaire afin d’améliorer les parties qui ne vous semblent pas claires 🙂
Merci d’être passé, et bonne lecture !
Voici comment, en quelques étapes simples, installer un serveur web fonctionnel sur une machine tournant sous Ubuntu. On verra ensuite quelques réglages qui peuvent vous être utile.
Sources
Installation de LAMP
Cela se résume à saisir cette ligne de commande et entrer son mot de passe admin :
$ sudo apt-get install apache2 php5 mysql-server libapache2-mod-php5 php5-mysql
Cette commande lance le programme apt-get en mode install avec les droits administrateurs (sudo), et installe les paquets nécessaires à une solution LAMP fonctionnelle. C’est fini !
Pour tester que cela fonctionne, ouvrez un explorateur web et allez à la page « localhost » ou l’adresse 127.0.0.1. Si ça a marché, vous devriez voir quelque chose comme ça :
Si ce message n’apparaît pas, consultez la documentation sur Ubuntu-fr.
Protéger /var/www
Le répertoire par défaut d’Apache (dans lequel on veut mettre ses pages web) est /var/www, qui est sous droits administrateurs. Ce n’est jamais recommandé de travailler dans un tel dossier, c’est pourquoi nous allons en protéger son accès. Exécutez cette commande pour éditer le fichier de configuration :
$sudo gedit /etc/apache2/sites-available/000-default.conf
Ou, pour les versions d’Ubuntu plus anciennes que 14.04 ou Debian et ses dérivées :
$ sudo gedit /etc/apache2/sites-available/default
Editez le fichier à la section <Directory /var/www> et changez :
<Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from all </Directory>
en :
<Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.1 # local Allow from 192.168.1.0/24 # reseau </Directory>
Ainsi seule votre machine et celles du réseau 192.168.1.0 auront accès à ce répertoire.
Modifier le répertoire de travail
Commençons par créer le répertoire où nous voulons travailler. Par exemple :
$ mkdir /home/nicolas/www
Ensuite donnez-lui les droits d’accès nécessaires :
sudo chown -R $USER:users /home/nicolas/www
Remarque : Cela ne fonctionnera que si le dossier est dans une partition Linux non-cryptée.
Ensuite on configure une redirection (un alias) pour qu’Apache puisse accéder à ce répertoire :
sudo ln -s /home/nicolas/www /var/www
Et on ajoute le code suivant à la ligne après la balise </Directory> :
## ZONE PUBLIQUE Alias /public /home/nicolas/www/public <Directory /home/nicolas/www> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory> ## ZONE PRIVEE Alias /private /home/nicolas/www/private <Directory /home/nicolas/www> Options Indexes FollowSymLinks MultiViews AllowOverride All Order deny,allow Deny from all Allow from 127.0.0.1 # Local Allow from 192.168.1.0/24 # Réseau Allow from .w3.org # W3C Allow from sandbox.paypal.com # Paypal </Directory>
Il faut finalement ajouter un lien symbolique pour qu’Apache puisse voir ces dossiers depuis la racine du serveur :
sudo ln -s /home/nicolas/www/public /var/www/public sudo ln -s /home/nicolas/www/private /var/www/private
Voilà, vous pouvez commencer à développer en PHP localement, et de manière agréable. Vous pouvez aussi lire les liens cités en source pour aller plus loin !
Tips & Tricks
Corriger lorsque apache2 n’arrive pas à déterminer le nom de domaine
sudo sh -c 'echo "ServerName localhost" >> /etc/apache2/conf.d/name' && sudo service apache2 restart
Source : xubuntugeek.blogspot.ch
slt!
j’ai essayé d’installer par le mm procedure que la tienne mais ça ne passe pas; je reçois un message qui est:
Salut, ça fait un moment et j’imagine qu’il a réglé son problème mais je post quand même au cas où quelqu’un est bloqué au même point.
Il m’arrivais la même chose et j’ai réglé mon problème avec un apt-get -f upgrade. Voilà voilà
Salut Zakaria !
Sur ce blog, je ne donne pas d’aide en direct. Cependant, je pense que le problème vient de ta version d’Ubuntu qui est en unstable.
Tu auras probablement plus d’aide si tu t’adresses à un forum spécialisé 😉
Bonne recherche !
Article très utile, exactement ce que je cherchais pour monter un serveur de developpement et créer des fichiers en moins de deux dans mon répertoire personnel sans me casser les pieds à modifier les droits autant en édition qu’avec FTP etc.
J’ai pris des notes mais je sais que j’y reviendrais dans quelque mois voire quelques années, j’espère juste qu’à ce moment là l’article sera toujours hébergé avec la même URL.
Merci pour ta contribution Nicolas.
Merci Kiki.
Pour répondre à ta question : c’est le but de ce blog pour moi. Donc oui, il y a de fortes chances que cet article soit encore accessible à cette adresse dans quelques années 😉
A bientôt !
Merci pour les infos, cependant en mettant à jour mon apache pour supporter la dernière version de php par le ppa ppa:ondrej/php5 ça a mis à jour mon apache en version 2.4.6 et les règles ne marchent plus.
Quand j’accède à localhost/public il me dit que c’est « Forbidden ». Des idées ?
Bonjour Tigitz,
Essayez de vérifier la gestion des droits d’accès aux dossiers de votre serveur, dans le fichier httpd.conf.
Vous devez avoir quelque chose comme ça (source) :
Ensuite essayez d’activer le module userdir :
Et essayez d’aller vérifier sa configuration dans le fichier ci-après :
Vous devriez avoir quelque chose de ce type :
Bonne chance !
Salut,
je n’ai pas compris la partie ou tu parle de créer un Alias et « d’ajouter un code après la balise » ou est cette balise? o_o
Salut Ylan,
C’est expliqué plus clairement sur cette page, au point 2.1 :
http://doc.ubuntu-fr.org/tutoriel/lamp_repertoires_de_travail
Il faut bien lire et comprendre cette page, elle décrit comment on peut modifier les répertoires de travail par défaut, et attribuer des permissions sur lesdits répertoires.
Bonne lecture !
Merci pour ce tuto. C’est conforme à ce que j’ai fais aussi pour l’installation de Lamp.
Bon, moi, jai installer Phpmyadmin apres Lamp, et j’arrive à accéder PMA et pour les sites, jai eu à créer plusieurs repertoires dans /var/www de appache pour y unzipé mes sites Joomla (d’apres un autre tuto).
Maintenant, je veux savoir si l’on ne devrait pas avoir la possibilité de modifier aisément nos fichiers et sous répertoires des sites (manuellement) si on les mets dans ce nouveau dossier (soit: /home/nicolas/www comme dans ton tuto…. nicolas#remplacé par mon nom d’utilisateur Ubuntu)
Bonjour elkwaet,
Je ne suis pas sûr de comprendre la question, mais il me semble que c’est ce que je traite dans la partie « Modifier le répertoire de travail » ci-dessus.
Si on indique à Apache que notre répertoire de travail se situe dans notre /home, on pourra modifier plus aisément les fichiers et répertoires de travail, alors qu’il faut les droits admin pour modifier le contenu dans /var/www.
$ sudo apt-get install apache2 php5 mysql-server libapache2-mod-php5 php5-mysql
Ou faut-il inscrire cette phrase
Il faut la saisir dans le terminal de votre machine (sous Linux), et sans tapper le ‘$’ du début.
Vous pouvez faire le raccourci-clavier Ctrl+Alt+T pour ouvrir votre terminal directement.
Bonjour Nicolas,
en suivant ton tuto, merci btw, sudo gedit /etc/apache2/sites-available/default
est vide.
Normal?
Le post date un peu, ce n’est peut-être plus d’actu?
merci!
Bonjour Jonathan,
Merci pour ta remarque. En effet, depuis Ubuntu 14.04, c’est le fichier /etc/apache2/sites-available/000-default.conf qu’il faut modifier.
Tu peux te référer à cette page du site ubuntu-fr.org : https://doc.ubuntu-fr.org/tutoriel/lamp_repertoires_de_travail#protection_devarwww
Je vais mettre mon article à jour pour refléter ce changement.
Oui c’est vrai. Je suis sous ubuntu 15.10, je viens de resoudre le probleme comme ca. En fait, j’avais fais le tuto en utilisant le reportoire /var/www/ au lieu de /var/www/html. Ce qui a fait que je n’arrive pas a acceder a localhost par exemple avec Chromium, sauf avec 27.0.0.1. Idem pour acceder a mon localhost avec un autre PC. Je viens de modidifier et c’est parfait. Encore merci pour @nicolas et les autres.
Bonjour,
J’ai suivi le tuto de la doc Ubuintu-fr et celui ci et Git ne peut pas ecrire dans les dossiers web qui sont dans mon Home, idem pour un WordPress qui ne sait pas mettre a jour le .htaccess a cause de permission non accordée…
Dans le home, le dossier contenant les projets web doivent avoir quel droit? et appartenir à sebastien:sebastien ou sebastien:users?
merci d’avance
Bonjour Sébastien,
Que donne un ls -lau sur vos dossiers web ? Il est possible que le user utilisé par Apache n’ait pas accès à votre dossier personnel, et il faudrait ajouter ces droits sur vos dossiers.
slt
je viens vous demandé de l’aide ,depuis la 10 j ai installer ubuntu 16.04 server afin de configurer grr en locale, après avoir finir d’installer Apache ,mysql et phpmyadmin , j ai décompressé le dossier grr dans le dossier /var/www .Je n’arrive pas à accéder à l’interface de configuration de grr à travers le navigateur bien que j arrive à accéder à l interface de phpmyadmin sans problème.
merci bien
à vous
Bonjour Jennelly,
C’est sûrement un problème de droits. Je vous recommande la lecture de la partie « Modifier le répertoire de travail » de cet article, ou cet article, qui vous expliquera comment déplacer vos fichiers dans votre répertoire local, et ainsi pouvoir accéder à grr.
Bonne chance !