Site icon baudet.me

Installer et configurer LAMP sur Ubuntu

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 :

Message s’affichant par défaut avec une nouvelle installation LAMP

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

Quitter la version mobile