Installer Apache, MariaDB et PHP7 (LAMP Stack) sur Ubuntu 16.04 LTS

Lamp Stack : Linux Apache MariaDB PHP
Lamp Stack : Linux Apache MariaDB PHP

On va donc installer comme vous l’aurez compris grâce au titre, un lamp stack sur Ubuntu 16.04 LTS Xenial Xerus. On part du principe que vous avez fait une installation toute fraîche avec le partitionnement qui va bien et vous avez donc déjà le L de linux, et comme Ubuntu possède nativement php7 vous avez déjà le P… Bravo, vous allez faire un bon score à des chiffres et des lettres ! Il ne nous reste donc plus qu’à installer Apache et MariaDB.
 
Je vois déjà les raleurs dire que un vrai LAMP stack c’est avec Mysql et pas MariaDB, je sais, et je vous emmerde, ca commence par le même lettre de toute manière et c’est mieux comme ca.
 

Mise à jour d’Ubuntu

 
Nous voilà donc sur la console de notre Ubuntu 16.04. On va commencer par vérifier que tout est bien à jour :
 
[code]
sudo apt-get update

sudo apt-get upgrade

sudo apt-get dist-upgrade
[/code]
 
A ce stade, on est pas mal, il n’y a plus qu’à !
 

Installation d’Apache

 
[code]
sudo apt-get install apache2 apache2-utils
[/code]
 
Pensez à répondre « Yes » à la question « Do you want to continue ? » sinon, forcément ca ne marchera pas ! Une fois l’installation terminée, Apache doit logiquement être démarré … Pour vérifier que tout fonctionne faites simplement :
 
[code]
systemctl status apache2
[/code]
 
Logiquement vous devriez voir le message suivant : « Active: active (running) ». Si jamais ce n’était pas le cas, démarrer Apache comme suit :
 
[code]
sudo systemctl start apache2
[/code]
 
Enfin, petit détail utile mais qui a tout de même son importance, surtout pour un serveur web, pensez à démarrer Apache automatiquement au boot avec la commande suivante
 
[code]
sudo systemctl enable apache2
[/code]
 
Normallement, on est bien et Apache fonctionne. Pour vérifier la version d’Apache éxécuter simplement :
 
[code]
apache2 -v
[/code]
 
Vous devriez voir quelque chose comme « Server version: Apache/2.4.18 (Ubuntu) », si c’est le cas tout est ok pour le moment, et on va même s’en assurer en rendant visite à notre serveur. Ouvrez votre navigateur favori et tapez l’adresse IP de votre serveur dans la barre d’adresse. En toute logique vous devriez voir quelque chose comme ca :

Installation d'apache sur Ubuntu 16.04
It works !

 
A ce stade, tout va bien, il ne nous reste plus qu’à définir www-data (Apache) comme propriétaire de notre dossier web :
[code]
sudo chown -R www-data /var/www/html/
[/code]
 
Vous pouvez aussi vous ajouter au groupe www-data, en prenant soin de remplacer YOURNAME par votre nom d’utilisateur évidemment, afin d’obtenir les mêmes permissions :
[code]
sudo usermod -aG www-data YOURNAME
[/code]
 
Enfin réglez vos droits sur votre dossier web en fonction de vos besoins (ici 770 soit droit de lecture, d’écriture et d’exécution pour le user et le group, et aucun droit pour le reste) :
[code]
sudo chmod 770 -R /var/www/html/
[/code]
 

Installation de MariaDB

 
On aurait pu choisir MySQL qui est le choix originel du LAMP Stack, mais on préférera MariaDB, pour plusieurs raisons. Déjà, et c’est important, l’équipe de MariaDB est composée d’anciens membres de l’équipe MySQL, et surtout ils ont choisis de se lancer dans ce projet dans la crainte qu’Oracle décide de ne plus faire de MySql un projet open source.
 
Passons à l’installation :
[code]
sudo apt-get install mariadb-server mariadb-client
[/code]
 
Voila, simple comme bonjour ! On va simplement vérifier que tout est ok :
[code]
systemctl status mysql
[/code]
 
Si tout va bien, vous devriez avoir le message : « Active: active (running) ». Si ce n’est pas le cas, démarrez le service comme suit :
[code]
sudo systemctl start mysql
[/code]
 
Enfin, tout comme nous l’avons fait pour Apache, pensez à démarrer MariaDB automatiquement au boot du système :
[code]
sudo systemctl enable mysql
[/code]
 
On va maintenant terminer notre installation avec le script de post install :
[code]
sudo mysql_secure_installation
[/code]
 
Et la c’est un peu comme qui veut gagner des millions, il suffit de répondre aux questions :
– Enter current password for root (enter for none) : Appuyez sur Enter
– Set root password? : Appuyez sur Y et définissez votre mot de passe3
– Remove anonymous users? : Appuyez sur Y ou Enter ca va plus vite
– Disallow root login remotely? : Appuyez sur Y ou Enter ca va plus vite
– Remove test database and access to it? : Appuyez sur Y ou Enter ca va plus vite
– Reload privilege tables now? : Appuyez sur Y ou Enter ca va plus vite
 
Bravo t’es un champion, champion ! On en a fini avec MariaDB et on a un LAMP Stack fonctionnel. Mais on ne va pas s’arreter en si bon chemin pour autant !
 

Installation de PHP7

 
On va maintenant installer PHP7. Pourquoi me direz vous, vu qu’il y a deja PHP7 dans Ubuntu 16.04 ! En fait on va simplement rajouter les extensions de php les plus communes … Pour ce faire rien de plus simple :
 
[code]
sudo apt-get install php7.0-fpm php7.0-mysql php7.0-common php7.0-gd php7.0-json php7.0-cli php7.0-curl libapache2-mod-php7.0
[/code]
 
Ensuite, il nous reste plus qu’a activer le module php7.0 d’Apache et de redémarrer notre serveur Apache :
 
[code]
sudo a2enmod php7.0

sudo systemctl restart apache2
[/code]
 

Tout marche bien navette ?

 
Bon nous voilà avec notre LAMP stack, il reste juste à vérifier que tout va bien, on va commencer par vérifier la version de php
 
[code]
php –version
[/code]
 
Normallement, vous devriez avoir les détails de votre version de php, si ce n’est pas le cas, vous avez raté une étape …
 
Ensuite, on va tester que tout fonctionne également du côté d’apache. On va donc créer un fichier test.php à la racine de notre répertoire web :
 
[code]
sudo nano /var/www/html/test.php
[/code]
 
Et coller le code suivant dedans :
 
[code]

[/code]
 
Sauvegarder et quittez (Ctrl+o puis Ctrl+x) et tapez l’ip de votre serveur dans la barre d’adresse de votre navigateur préféré en ajoutant bien sur test.php à la fin (127.0.0.1/test.php en local).
 
Vous devriez logiquement tomber sur une très belle page qui commence comme ca :
 

phpinfo
phpinfo : c’est très beau, avec pleins d’infos dedans

 
Si c’est le cas, vous voilà opérationnel, vous pouvez supprimer votre fichier
 
[code]
sudo rm /var/www/html/test.php
[/code]
 

1 Comment

  1. bonjour
    je tente depuis plusieurs jours d’installer Mysql ou mariaDB
    MAIS je n’arrive pas à me connecter à la base de donnée car je n’ai pas pu choisir un mot de passe. Je suis bloqué au niveau de ‘sudo mysql_secure_installation’
    voici le message d’erreur :
    Enter current password for root (enter for none):
    ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)

2 Trackbacks / Pingbacks

  1. Remplacer le cron de wordpress par une vraie cron task avec wp-cli – Dev Fool Stack
  2. Optimisation serveur dédié pour WordPress - Dev Fool Stack

Poster un Commentaire

Votre adresse de messagerie ne sera pas publiée.


*