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