Formation Magento 2 : Chapitre 1 – Partie A

Le fameux Magento 2 attendu depuis des années débarque, et c’est sur Github que les sources sont disponibles. Nous allons voir ensemble comment installer ce CMS sur votre machine, et comment le configurer correctement.

Pré-requis

Avant d’installer Magento 2, veuillez vérifier les éléments requis :
– Système d’exploitation Linux tel que RedHat Enterprise Linux (RHEL), CentOS, Ubuntu, Debian, etc…
Composer (Gestionnaire de dépendances pour PHP) (Installer les paquet curl et php5-cli si nécessaire avant de commencer l’installation expliquée sur ce lien)
– Apache 2.2 ou 2.4 / Ou Nginx 1.8
– PHP 5.6.x ou 5.5.22 (ou plus), ou 7.0.2 (supporté à partir de Magento 2.0.1)
– Les extentions PHP suivantes :
* bc-math (Pour Magento Enterprise)
* curl
* gd, ImageMagick 6.3.7 (ou plus) ou les deux
* intl
* mbstring
* mcrypt
* mhash
* openssl
* PDO/MySQL
* SimpleXML
* soap
* xml
* xsl
* zip

– MySQL 5.6 ou plus
– Mail Transfer Agent (MTA) ou un serveur SMTP
– Facultatif mais recommandés :
* php_xdebug2.2.0 ou plus (à installer uniquement sur les environnement de développement, pas en production)
* PHPUnit (en ligne de commande) 3.7 ou plus

Je vous propose une commande magique pour installer toutes les extentions PHP requises, ainsi que xdebug et PHPUnit :

sudo apt-get install curl php5-mysql libapache2-mod-php5 php5-mcrypt php5-curl php5-gd php5-imagick php5-xdebug phpunit php5-intl php5-xsl

N’hésitez pas à faire un phpinfo() pour vérifier que les modules soient bien présents et activés !

Composer et Magento

Composer est utilisé pour installer Magento 2, ce qui permet de gérer les extensions et les dépendances lors du processus d’installation.
Ouvrez votre terminal, et lancez les commandes suivantes :

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

Cloner le dépôt Github Magento 2

Installez git si ce n’est pas déjà fait :

sudo apt-get install git

Allez dans le dossier dans lequel installer Magento 2 sur votre machine (Sous Apache c’est souvent /var/www et sous Nginx, /usr/share/nginx/html) et lancer le clonage :

cd /var/www/
git clone -b 2.1 https://github.com/magento/magento2.git

Nous clonons la branche « 2.1 » qui est la branche « officielle » pour Magento2.
Vous pouvez cloner la branche « develop » si vous souhaitez suivre en temps réel les modifications de Magento2

 Lancement de Composer

Allez dans le dossier dossier racine de Magento 2 (cd magento2). Une fois dedans lancez la commande :

composer install

Vous verrez des paquets s’installer s’il vous en manque, et tant mieux, car avec Magento 2, on est sûr d’avoir tout ce dont on a besoin avant de le mettre en place ! Ne lancez pas la commande en sudo, si vous avez des soucis durant l’installation, essayez de supprimer le dosier « /home/<USER>/.composer »

Si vous avez une erreur du genre « enter your GitHub credentials to go over the API rate limit », allez sur le site de Github, créez votre compte. Une fois l’inscription terminée, saisissez votre login et votre mot de passe dans votre terminal. L’installation poursuivra son cours.

Si vous avez un message du type « please create a GitHub OAuth token to go over the API rate limit », rendez-vous toujours sur le site de Github pour suivre le processus pas à pas. Une fois le numéro de votre jeton obtenu, collez le dans le terminal.

Si vous avez un message du type « Authentication required (repo.magento.com): », rendez-vous sur le site de Magento, créez-vous un compte. Connectez-vous et allez dans la section « Developper > Secure Keys ». Créez une nouvelle clé (je l’ai appelée « magento2 ») , la clé publique vous servira de Username, et la clé privé de password. Renseignez ces infos dans le terminal pour continuer la suite de l’installation

 

Mise en place des propriétaires et des permissions du système de fichier

Pour rechercher l’utilisateur du serveur web, lancer la commande suivante :

  • Ubuntu / Apache: ps -ef | grep apache2
  • Ubuntu / Nginx : ps -ef | grep nginx

Comme je m’en doutais, l’utilisateur est « www-data » pour mon serveur. Nous utiliserons cette valeur pour les opérations suivantes, à vous d’adapter en conséquences si vous avez un résultat différent. Vérifiez le groupe de cet utilisateur, il est probable que le groupe soit le même que le nom d’utilisateur :

groups www-data

Rendez-vous donc dans le dossier racine de votre Magento (/usr/share/nginx/html/magento2 ou /var/www/magento2), et mettons l’utilisateur du serveur web en propriétaire :

cd /var/www/magento2
sudo chown -R :www-data .

Toujours en restant dans le dossier de votre Magento 2, mettez les permissions 770 pour dossiers, et 660 pour les fichiers :

sudo find . -type d -exec chmod 755 {} \; && sudo find . -type f -exec chmod 644 {} \; && sudo chmod u+x bin/magento; sudo chmod -R g+w ./{pub,var}; sudo chmod -R g+s ./{pub,var}

Ajoutez votre utilisateur au groupe www-data (à adapter selon votre installation) :

sudo adduser <username> www-data

N’oubliez pas de vous déconnecter et de vous reconnecter pour prendre en compte l’affectation au nouveau groupe !

Lancement de l’installation de Magento2

A partir de cet instant, vous pouvez vous rendre sur l’URL de votre Magento local pour lancer la procédure d’installation. Vérifiez bien la configuration de vos vhosts avant de tester :

sudo vi /etc/hosts

Ajoutez la ligne :

127.0.0.1 magento2.lan

Créez votre nouveau vhost :

sudo vi /etc/apache2/sites-available/magento2.conf

Voici ce que j’ai mis pour ma part sous apache :

<VirtualHost *:80>
    ServerName magento2.lan
    DocumentRoot /var/www/magento2
    SetEnv MAGE_MODE "developer"
    <Directory /var/www/magento2>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/magento2_error.log
    # Possible values include: debug, info, notice, warn, error, crit, alert, emerg.
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/magento2_access.log combined
</VirtualHost>

Activez le vhost avec un lien symbolique :

sudo ln -s /etc/apache2/sites-available/magento2.conf /etc/apache2/sites-enabled/magento2.conf

N’oubliez pas de redémarrer apache :

sudo service apache2 restart

Une fois terminé, rendez-vous à l’url de votre environnement, et la procédure d’installation va commencer.

Suivez pas à pas l’installation
N’hésitez pas à faire part de vos problèmes par commentaire, après avoir vérifié bien sur que votre soucis n’est pas référencé sur cette page : https://github.com/magento/magento2#troubleshooting

Pour lancer l’installation en ligne de commande, rendez-vous sur la page officielle de Magento !

Problèmes lors de l’installation

Changer la configuration de xdebug.max_nesting_level

sudo vi /etc/php5/apache2/php.ini

Ajoutez la ligne suivante :

xdebug.max_nesting_level=200

Redémarrez apache :

sudo service apache2 restart

Créer la BDD « magento2 »

C’est le nom que je lui ai donné, a vous de l’appeler comme vous le souhaiter selon la configuration renseignée dans l’installation.

Mettre à jour MySQL 5.6

Sous Ubuntu, lancez la commande suivante :

sudo apt-get install mysql-server-5.6

La commande supprimera l’ancienne version de MySQL par la même occasion.

PHP Storm change le propriétaire des fichiers

Rendez-vous dans PHPStorm :
Settings > Appearance & Behavior > System Settings
Décochez la case « safe write »

Continuer la formation
Installer Magento 2
Taggé sur :        

23 thoughts on “Installer Magento 2

    • 24/10/2015 à 22:14
      Permalink

      Merci du retour il est désormais dans l’article !

      Répondre
  • 28/12/2015 à 11:39
    Permalink

    Bonjour et merci beaucoup pour cet article !
    C’est exactement ce que je cherchais 🙂

    Répondre
  • 06/01/2016 à 11:52
    Permalink

    Bonjour,
    Merci pour ce tuto très clair !
    Je sollicite votre aide. Tout me parait ok mais lorsque j’accède à l’url pour faire l’install, j’ai une page blanche avec une erreur :

    Autoload error
    glob() returned error while searching in ‘/var/www/vhosts/mondossier.fr/httpdocs/app/code/*/*/cli_commands.php’

    Je me casse la tête dessus et ne comprends pas cet erreur. J’en appel à votre aide ^^
    Merci beaucoup

    Répondre
  • 05/02/2016 à 15:41
    Permalink

    Bonjour,
    Je dépasse un peu le cadre de cet article très utile mais je me pose des questions sur le rôle et l’importance de composer dans la personnalisation d’une installation Magento 2.
    Je suis habituée aux versions précédentes de Magento et je m’interroge sur le type d’installation à utiliser. Il existe une version sans composer mais je me demande quelles seront les limites que je risque de rencontrer par la suite si j’utilise cette version. Je vais avoir besoin d’ajouter des modules, de personnaliser le thème et de faire de petits développements. Est-ce que ce sera possible sans composer ?
    Merci d’avance pour vos renseignements.

    Répondre
    • 05/02/2016 à 15:54
      Permalink

      Oui c’est possible. Dans le cas présent. Je parle d’une installation en local pour découvrir l’outil. Sinon il est possible de télécharger la version 2.0.1 de Magento 2 et de la mettre en place. Les mises à jour seront manuelles. Il est aussi possible de passer par un outil comme vagrant ou docker

      Répondre
  • 12/02/2016 à 11:25
    Permalink

    Bonjour,
    Je cherche à installer Magento 2.0 directement en ligne.
    J’ai transféré tous les fichiers sources (qui sont accessibles sur le site de magento à savoir : Magento-CE-2.0.2+sample_data-2016-01-28-02-39-03) via FTP et je me retrouve avec une page blanche et rien de plus.

    Quelqu’un pourrait-il m’aider svp ?
    En vous remerciant par avance !

    Répondre
    • 12/02/2016 à 11:37
      Permalink

      Uploader les fichier ne suffira pas. Il vaut mieux avoir un accès ssh afin de suivre le tuto

      Répondre
      • 12/02/2016 à 12:16
        Permalink

        Je suis sur OVH. Je viens de demander d’obtenir un accès SSH.
        Je ne sais pas comment faire pour installer « composer ».

        J’ai déjà installé plusieurs Magento 1.9, et je n’ai jamais eu autant de problèmes lors d’une installation. 🙁

        Répondre
        • 12/02/2016 à 12:19
          Permalink

          C’est un serveur dédié ou mutualisé ?

          Dans le cas d’un mutualisé je pense qu’en mettant les sources du Magento 2 téléchargées sur le site à la racine de votre FTP, vous aurez le process d’installation.

          Pour ce qui est des samples datas, aucune idée de la procédure en fonctionnant de cette manière.

          Répondre
          • 12/02/2016 à 13:01
            Permalink

            C’est un serveur mutualisé. Et ça m’indique tout simplement une page blanche.

  • 11/06/2016 à 13:49
    Permalink

    Bonjour,
    Je viens d’installer un magento 2.0.7 via FTP & Co sur un Performance 1 (php 5.5, update 5.6 dans le répertoire de ce magento 2) et SQL Privé (mySQL 5.7 avec 256 Mo de RAM) de chez OVH.
    L’installation s’est déroulé sans problème ni alerte, avec le check initial OK.
    Le front office (vierge) est rapide mais le back office, une fois connecté, semble bloqué.
    Les clics sur les icônes ne donnent aucune réaction, la MAJ de la langue dans le menu Admin (le seul lien qui réagisse) est impossible car le bouton Save Account ne donne rien.
    Problème de config ??? Bug de Magento ???
    Qui a déjà rencontré ce problème ?

    Merci de votre aide,

    Répondre
  • 16/06/2016 à 15:26
    Permalink

    @COTTET j’avais le meme probleme.

    Ma solution: la fonction symlink était désactivée dans php.ini
    En supprimant symlink dans la ligne disable_functions= … , et après avoir relancé apache, tout est rentré dans l’ordre

    Répondre
  • 29/08/2016 à 14:02
    Permalink

    Bonjour,

    je souhaite installer Magento 2 en local en tant que environnement Bac à sable avant de souscrire à une plateforme chez OVH. Pourrais-tu m’indiquer les niveaux de version idéales compatibles avec la dernière mouture de Magento (PHP, MySQL, Composer, …).
    Merci d’avance de ta réponse.
    PS : Dans ce cas, y-a-t-il des modifications à apporter à ton tuto ?
    Jack

    Répondre
  • 31/08/2016 à 17:44
    Permalink

    Excellent article ça m’a bien aidé merci beaucoup

    Répondre
  • 28/12/2016 à 20:04
    Permalink

    j’ai une erreur 500 quand je lance un magento 2 pb avec htaccess :

    pas d’installation possible

    erreur :
    .htaccess: Option FollowSymLinks not allowed here

    Avez vous rencontré ce type de souci…. j’avais un cas similaire avec une 1.9.3.1.. obligé de modifier le htaccess et le htaccess dans /media

    Cdt

    Répondre
  • 27/03/2017 à 21:34
    Permalink

    Si vous avez apache 2.4 n’oubliez pas de remplacer « Order allow,deny » & « Allow from all » PAR « Require all granted » dans le fichier .conf.

    2.2 configuration:
    Order allow,deny
    Allow from all

    2.4 configuration:
    Require all granted

    Source:
    http://httpd.apache.org/docs/2.4/upgrading.html#access

    Répondre
  • 24/05/2017 à 13:22
    Permalink

    Salut,
    J’ai essayé d’installer un magento2 sur Digital Ocean avec le one-click install, le truc déjà tout fait.
    J’ai beau reprendre des éléments du tuto, soit donner les bonne permissions sur les dossiers et fichiers, j’ai beau créer le fichier crontab, rien n’y fait.

    Impossible de mettre à jour magento car l’erreur cron apparaît toujours et impossible aussi de synchroniser les application, car la sychronisation, le please wait, est sans fin.

    C’est quoi le souci ?

    Répondre
  • 01/05/2018 à 06:58
    Permalink

    Salut,

    J’ai suivi toute la procédure mais avec une version php7.0
    Je suis arrivé jusqu’à la fin de la procédure sans encombre.
    Mais pourtant je n’arrive pas a lancer magento.
    page blanche avec :

    The requested URL /magento2/index.php was not found on this server.

    Apache/2.4.18 (Ubuntu) Server at localhost Port 80

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Nous utilisons des cookies afin de nous assurer de vous proposer la meilleure expérience sur ce site.
Ok