Blog

Installer Magento 2 beta en 5 minutes avec Docker

0.42.0-beta1, tel est le petit nom de cette première beta pour développeurs de Magento 2. Et dans le but de commencer à tester la bête le plus vite possible, on va voir comment avoir une beta qui tourne en 5 minutes montre en main, grâce à Docker (pour plus d’infos sur Docker, n’hésitez pas à consulter à notre précédent article).

English version was published on Magenticians

On va même aller plus loin en vous proposant deux types d’installations : un mode découverte avec un Magento 2 « en lecture seule » prêt à l’emploi pour découvrir la nouvelle interface d’administration et faire des tests au clickodrome™, et un mode développeur pour avoir un environnement de développement prêt à l’emploi et commencer à pouvoir s’amuser tout de suite avec les nouveautés techniques de Magento 2.

Disclaimer1 : Nous partons du principe que vous avez déjà Docker d’installé et fonctionnel sur votre machine.

Mode découverte

Attention ça va aller très vite. Ouvrez un terminal, et faites un copier/coller des commandes suivantes (n’oubliez pas de changer les mots de passe pour MySQL) :

docker run --name magento2_db -d -e MYSQL_ROOT_PASSWORD="motdepasseroot" -e MYSQL_DATABASE="magento2" -e MYSQL_USER="magento2" -e MYSQL_PASSWORD="motdepassemagento2" mysql
docker run --name magento2_web -d -p 80 --link=magento2_db:db chadrien/magento2:0.42.0-beta1
docker port magento2_web

Vous n’avez plus qu’à copier le port que cette dernière commande vous aura donné et de vous rendre sur http://127.0.0.1:PORT pour commencer l’installation de Magento 2.
Au moment de saisir les informations de base de données, mettez db pour l’hôte, et pour l’utilisateur, son mot de passe et le nom de base de données, reportez vous à ce qui a été saisi dans la commande Docker MySQL.
Si vous rencontrez l’erreur « Cannot determine required PHP extensions: Missing key ‘platform-dev’ in ‘composer.lock’ file« , cliquez sur « Try Again », jusqu’à ce que « Next » soit disponible. Enfin lors de l’installation finale, un message vous dira qu’il y a eu une erreur, n’en tenez pas compte c’est un var_dump qui traine dans le code de Magento 2. Lorsque la barre a atteint les 100%, allez à nouveau à l’URL http://127.0.0.1:PORT.

Installation de Magento 2

Installation de Magento 2

Mode développeur

Disclaimer 2 : On part du principe que vous avez composer et fig d’installés et fonctionnels sur votre machine.

Là aussi ça va aller vite, mais on va quand même avoir une étape supplémentaire d’installation de Magento 2 en local.

composer create-project -n magento/product-community-edition magento2 0.42.0-beta1

Allez ensuite dans le dossier magento2 fraichement créé et insérez le contenu suivant dans un fichier fig.yml (en changeant les mots de passe bien sûr !) :

web:
  image: chadrien/magento2:5.5-apache
  links:
    - db
  ports:
    - 80
  volumes:
    - ".:/var/www"
db:
  image: mysql
  environment:
    MYSQL_ROOT_PASSWORD: motdepasseroot
    MYSQL_DATABASE: magento2
    MYSQL_USER: magento2
    MYSQL_PASSWORD: motdepassemagento2

Ensuite on démarre nos conteneurs :

fig up -d
fig port web 80

Vous n’avez plus qu’à copier le port que cette dernière commande vous aura donné et de vous rendre sur http://127.0.0.1:PORT pour commencer l’installation de Magento 2.
Au moment de saisir les informations de base de données, mettez db pour l’hôte, et pour l’utilisateur, son mot de passe et le nom de base de données, reportez vous à ce qui a été saisi dans la commande Docker MySQL (cf. capture d’écran plus haut).

Et comme vous avez les sources en local, vous pouvez commencer à créer vos modules dans app/code et les changements seront aussitôt visibles dans Docker.


Voila qui achève cet article express, mais avec la sortie hier de Magento 2 en version beta il nous semblait important de partager avec un moyen d’aller au plus vite dans l’utilisation de Magento 2 plutôt que de perdre du temps avec sa mise en place.

En petit plus Périglioni, vous pouvez retrouver sur ce dépôt Github de quoi mettre en place des données de test (les sample data ne sont pas encore disponibles sur la beta).