Laravel, Nginx, Mysql et Docker : la manière simple de mettre en place votre environnement de développement, staging ou production. Dans la majorité de vos projets, Docker peut faciliter l’installation de votre environnement en vous laissant définir votre propre infrastructure (services, réseaux et espace de stockage) dans un seul fichier.

Dans ce tutoriel, nous allons utiliser Docker Compose pour créer une application Laravel utilisant un service MySQL pour la base de données ainsi qu’un service Nginx comme serveur web.

Certaines données techniques de cet article prennent source dans le tutoriel rédigé par Digital Ocean : https://www.digitalocean.com/community…. Vous pouvez le parcourir pour compléter votre projet et avoir de plus amples informations à propos des fichiers présentés dans ce tutoriel.

Installer Laravel Sur Ubuntu 18.04 Avec Nginx, PHP Et Docker
Qwenty Docker Strasbourg tuto laravel

Laravel Nginx Mysql Docker : les prérequis

Avant de mettre en place notre environnement Laravel, Nginx et Mysql sur Docker, il est nécessaire de :



Laravel Nginx Mysql Docker : mise en place de la solution

Étape 1 – Installation de Laravel

Rendez-vous dans votre terminal et utilisez la commande suivante :
> composer create-project --prefer-dist laravel/laravel laravel

Cette commande va installer Laravel et toutes ses dépendances dans le dossier laravel.

Étape 2 – Création du fichier docker-compose.yaml

Rendez-vous dans le dossier de notre nouvelle application laravel, créez le nouveau fichier docker-compose.yml

> cd laravel

> nano docker-compose.yml

Ce nouveau fichier va nous permettre de spécifier les services, réseaux et volumes que nous allons utiliser pour notre application :

Étape 3 – Création du fichier Dockerfile

À la racine du dossier de notre application Laravel, créez le nouveau fichier Dockerfile :
> nano Dockerfile
Ce nouveau fichier va nous permettre de renseigner les instruction d’installation du serveur PHP (voir service app du fichier docker-compose.yaml) : les différentes extensions PHP à installer, la mise en place des droits sur les fichiers, etc.

Étape 4 – docker-compose build

Vous pouvez maintenant lancer la commande docker-compose build qui va builder nos différentes images et appliquer les instructions du Dockerfile :
docker-compose build

Étape 5 – Mise en place du fichier de configuration PHP

Vous avez la possibilité d’ajouter votre propre configuration de PHP en créant le fichier php/local.ini depuis la racine de notre application ; dans notre exemple, nous allons paramétrer les valeurs de upload_max_filesize et post_max_size pour notre application :

Étape 6 – Mise en place du fichier de configuration NGINX

Nous allons maintenant mettre en place la configuration du serveur NGINX ; créez le fichier nginx/conf.d/app.conf depuis la racine de notre application et copiez son contenu ci-dessous :

Étape 7 – Mise en place du fichier de configuration MySQL

Dernière étape de configuration, nous allons maintenant renseigner la configuration du serveur MySQL pour activer les logs et les inscrire dans le fichier de logs correspondant. Créez le nouveau fichier mysql/my.cnf depuis la racine de notre application et copiez son contenu ci-dessous :

Étape 8 – Lancement de notre application

Vous pouvez maintenant lancer votre application ! Depuis la racine du projet, exécutez la commande suivante :
> docker-compose up -d

Vous pouvez vous rendre à l’adresse configurée dans ce tutoriel, à savoir http://localhost (port 80).


Article similaire : Installer Laravel Sur Ubuntu 18.04 Avec Nginx, PHP Et Docker

Gatien Sancho

Gatien Sancho

Passionné de développement et nouvelles technologies, j'ai plaisir à partager mon savoir-faire avec les entreprises qui désirent donner un coup de pouce à la compétitivité de leurs services.

QWENTY

Développement, Cloud, Business Intelligence à Strasbourg.

 

À PROPOS

7 rue de Bucarest

67000 STRASBOURG

+33 06 01 82 24 04

gatien.sancho@qwenty.fr