Tutoriel : Installer magento2 avec Docker

Tutoriel : Installer magento2 avec Docker

Magento a annoncé la fin du support de Magento1 en juin 2020. Il est donc temps de préparer votre migration vers Magento2. Aujourd’hui, avec les nouveaux logiciels comme Docker, il est extrêmement simple et rapide d’installer un Magento2 en local.

Docker est un logiciel libre et gratuit permettant de lancer des applications dans des conteneurs jetables. Cela signifie qu’il n’est plus nécessaire d’installer et de configurer une VM (machine virtuelle) pour commencer à développer. Les gains de temps et de mémoires sont assez impressionnant.

Voici donc un tutoriel vous guidant dans l’installation en local de Magento2 avec Docker.

Pré-requis

1/ Le docker-compose de Magento2

git clone https://github.com/webkul/magento2-docker-compose
Architecture du repository git de webkul (magento2)
Le docker-compose :
version: '3'
services:
  web_server:
    build:
      context: ./web_server/
    container_name: apache2
    volumes:
      - ./magento2:/var/www/html
      - ./web_server/supervisord.conf:/etc/supervisor/conf.d/supervisord.conf
    ports:
      - "80:80"
    links:
      - database_server

  database_server:
    build:
      context: ./database_server/
      args:
        - mysql_password=mention_your_mysql_root_password
        - mysql_database=mention_your_database_name
    container_name: mysql
    volumes: 
      - ./database_server/supervisord.conf:/etc/supervisor/conf.d/supervisord.conf
      - ./database_server/mysql.sh:/etc/mysql.sh
    ports:
      - "3306:3306"

Avant tout, pensez à changer le « mysql_password » et la « mysql_database« .

Le docker-compose possède deux services qui sont :

  • Apache2 (votre serveur web) qui sera disponible sur le port 80. Ce service contiendra donc votre code Magento2.
  • Mysql (votre base de données) qui sera disponible sur le port 3306.
Vous pouvez rediriger les ports si vos ports 80 et 3306 sont déjà utilisés. Vous n’avez à vous soucier que des ports et des variables (mot de passe et nom de base).

2/ Télécharger Magento2

Rendez-vous sur la page de téléchargement Magento2. Téléchargez la version que vous souhaitez (créer un compte si nécessaire) et décompressez l’archive dans le dossier magento2-docker-compose/magento2/.

3/ Démarrer votre conteneur docker et installer Magento2

Allez à la racine de votre projet et tapez cette commande :

docker-compose up -d

Vous allez télécharger les images qui vous manque et vos conteneurs vont donc ensuite démarrer (si c’est la première fois que vous utilisez l’image, le téléchargement de celle-ci peut être long, ce sera beaucoup plus rapide ensuite). Pour vérifier que tout est ok, faites :

docker ps

Normalement, vous devriez avoir apparaître vos 2 conteneurs :

  • magento2-docker-compose_web_server
  • magento2-docker-compose_database_server
Si c’est le cas, alors on va pouvoir passer à l’installation de Magento 2 ! Sinon, ben… vous avez eu un problème dans l’une ou plusieurs des étapes précédentes 🙁

C’est parti ! Allons donc sur l’URL http://localhost/setup pour installer Magento 2 (n’oubliez pas de spécifier le port si vous n’utilisez pas le port 80).

Installation de magento2

Suivez donc les étapes les unes à la suite des autres et corriger les erreurs lorsqu’elles apparaissent. Pour la database, veuillez renseigner ces informations :

Configuration de la base de données Magento 2

Pour le Database Server Password et la Database Name, et bien c’est vous qui l’aviez choisi à l’étape 1. À remplir de la même manière ici donc.

Une fois arrivé à l’étape 6, cliquez sur « Install Now » et attendez que l’installation soit finie.

… Voilà ! Vous venez d’installer Magento2 en local à l’aide de Docker. Rien de bien compliqué, non ?

Pour arrêter vos conteneurs, tapez :

docker-compose stop

ou

docker stop nomDuConteneur

Tant que vous ne supprimez pas votre conteneur, votre base de données sera sauvegardée et vous n’aurez pas à relancer l’installation à chaque fois. En effet, revenez à la racine de votre projet et tapez la commande (docker start nomDuConteneur) pour relancer votre projet. Docker rime avec bonheur ! 😀

N’hésitez pas à me contacter dans les commentaires dans le cas où vous ayez rencontré des problèmes. 🙂

Si cela vous intéresse, allez voir comment déployer un wordpress dans le cloud totalement gratuitement.

Partagez avec vos amis !

Geoffrey Lopez

Geoffrey Lopez est un Web Developer spécialisé dans le commerce électronique. Actuellement apprenti à la Compagnie du Bicarbonate et étudiant en Master Cloud Computing & Mobility, Geoffrey souhaite par la suite devenir directeur e-commerce.

Cet article a 3 commentaires

  1. Ljr

    Bonjour
    Merci pour votre article
    Que pensez-vous d’installer Magento 2 avec docker pour un environnement de production ?
    Curieusement je ne trouve pas beaucoup d’information sur Google 🙁
    Merci pour votre réponse

    1. Bonjour,

      Veuillez m’excuser pour la réponse tardive.

      Magento est gourmand en terme de RAM et Docker aussi. Ce qui ne fait à mon sens pas un bon mélange. Personnellement, je privilégie docker pour un environnement de développement.

      Geoffrey

Laisser un commentaire