Magento est un logiciel de commerce électronique open source et un système de gestion de contenu pour les sites Web de commerce électronique basé sur PHP Zend Framework. Il utilise MySQL ou MariaDB comme backend de base de données. Le développement de Magento a été lancé en 2008 par Varien.
Dans ce tutoriel, je vais vous montrer comment installer Magento 2 avec Nginx, PHP 7.0 en mode FPM et MariaDB comme base de données. J'utiliserai Ubuntu 16.04 (Xenial Xerus) comme système d'exploitation serveur. Si vous ne disposez pas encore d'une configuration de serveur minimale, veuillez consulter ce didacticiel pour obtenir une configuration de base appropriée.
Prérequis :
- Ubuntu 16.04 - 64 bits.
- Privilèges racine.
Étape 1 - Installer Nginx
Connectez-vous à votre serveur Ubuntu avec votre compte root (par exemple par SSH) et mettez à jour le référentiel.
sudo su
apt-get update
Installez ensuite Nginx :
apt-get install nginx -y
Vérifiez que nginx a été installé correctement en vérifiant le port :
netstat -plntu | grep 80
Étape 2 - Installer et configurer PHP-FPM
Dans cette étape, nous allons installer PHP 7 en mode PHP-FPM. De plus, nous allons installer les extensions PHP suivantes requises par magento.
- php-gd
- php-mhash
- php-mcrypt
- php-xsl
- php-poire
- php-soap
Installez les packages avec la commande apt ci-dessous :
apt-get install php7.0-fpm php7.0-mcrypt php7.0-curl php7.0-cli php7.0-mysql php7.0-gd php7.0-xsl php7.0-json php7.0-intl php-pear php7.0-dev php7.0-common php7.0-mbstring php7.0-zip php-soap libcurl3 curl -y
Modifiez maintenant les fichiers php.ini pour fpm et cli.
vim /etc/php/7.0/fpm/php.ini
vim /etc/php/7.0/cli/php.ini
et augmentez la limite de mémoire et le temps d'exécution de php et activez la compression zlib en ajoutant les lignes suivantes à la fin des fichiers :
memory_limit = 512M
max_execution_time = 1800
zlib.output_compression = On
Enregistrez le fichier et quittez l'éditeur.
Redémarrez le service PHP-FPM pour appliquer les modifications de configuration :
systemctl restart php7.0-fpm
Étape 3 - Installer et configurer MariaDB
Je vais utiliser MariaDB au lieu de MySQL ici. Installez MariaDB avec la commande apt :
apt-get install mariadb-server mariadb-client -y
Définissez le mot de passe de l'utilisateur racine MariaDB avec cette commande :
mysqladmin -u root password mypassword
mysql_secure_installation
Set root password? [Y/n] Y
New password:
Re-enter new password: <-- Enter the new password
Remove anonymous users? [Y/n] Y
... Success!
Disallow root login remotely? [Y/n] Y
... Success!
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
... Success!
Connectez-vous ensuite au shell MySQL (le shell MariaDB se lance avec la commande mysql ) avec votre mot de passe root, créez une base de données avec le nom 'magentodb ' et un utilisateur 'magentouser ' avec le mot de passe '[email protected] '. Veuillez choisir un mot de passe sécurisé pour le 'magentouser' sur votre serveur et non celui '[email protected] ' que j'ai utilisé dans cet exemple !
Connectez-vous au shell MySQL :
mysql -u root -p
Dans le shell MySQL, exécutez ces commandes :
create database magentodb;
create user [email protected] identified by '[email protected]';
grant all privileges on magentodb.* to [email protected] identified by '[email protected]';
flush privileges;
\q
Base de données créée et configurée.
Étape 4 - Installer et configurer Magento 2
Nous allons installer Magento dans le répertoire '/var/www/magento2'. Pour l'installation de Magento, nous avons besoin du composeur PHP.
- Installer le compositeur php
Accédez au répertoire racine, téléchargez le fichier d'installation de composer avec curl et exécutez-le pour installer composer.
cd ~/
curl -sS https://getcomposer.org/installer | php
Déplacez le fichier "composer.phar" dans le répertoire bin de votre serveur et renommez-le composer afin qu'il puisse être exécuté facilement :
mv composer.phar /usr/bin/composer
Vérifiez maintenant que la commande composer fonctionne :
composer -v
- Télécharger et extraire Magento 2
Accédez au répertoire Web '/var/www/' et téléchargez Magento à partir de son référentiel Github, puis décompressez le fichier tar.gz téléchargé :
cd /var/www/
wget https://github.com/magento/magento2/archive/2.0.7.tar.gz
tar -xzvf 2.0.7.tar.gz
mv magento2-2.0.7/ magento2/
Terminé.
- Configurer la clé Magento
Enregistrez un compte sur le site Web de Magento repo.magento.com. Ce compte est requis pour utiliser Magento et le magasin Magento composer. Une fois inscrit, rendez-vous dans l'onglet 'Mon compte> Développeur> Secure Key s', générez ensuite vos clés.
- Installer des composants tiers pour Magento
Allez dans le répertoire d'installation de Magento 2 '/var/www/magento2' et lancez la commande composer :
cd /var/www/magento2/
composer install -v
Il vous sera demandé l'authentification Magento, utilisez la clé publique comme nom d'utilisateur et la clé privée comme mot de passe.
- Configurer l'hôte virtuel Nginx
Magento propose une configuration d'hôte virtuel Nginx prête à l'emploi, nous n'avons donc qu'à l'inclure dans notre configuration.
Accédez au répertoire de l'hôte virtuel Nginx et créez un nouveau fichier appelé magento :
cd /etc/nginx/sites-available/
vim magento
Collez la configuration ci-dessous :
upstream fastcgi_backend {
server unix:/run/php/php7.0-fpm.sock;
}
server {
listen 80;
server_name www.newmagento.com;
set $MAGE_ROOT /var/www/magento2;
set $MAGE_MODE developer;
include /var/www/magento2/nginx.conf.sample;
}
Remplacez www.newmagento.com par le nom de domaine du site Web que votre boutique utilisera.
Enregistrez et quittez.
Activez maintenant l'hôte virtuel et redémarrez Nginx :
ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled/
systemctl restart nginx
- Installer Magento
Nous allons installer magento en ligne de commande. Dans le répertoire Magento '/var/www/magento2/' il y a un fichier binaire avec le nom 'magento' qui est utilisé pour installer et gérer magento. Exécutez la commande :
bin/magento setup:install --backend-frontname="adminlogin" \
--key="biY8vdWx4w8KV5Q59380Fejy36l6ssUb" \
--db-host="localhost" \
--db-name="magentodb" \
--db-user="magentouser" \
--db-password="[email protected]" \
--language="en_US" \
--currency="USD" \
--timezone="America/New_York" \
--use-rewrites=1 \
--use-secure=0 \
--base-url="http://www.newmagento.com" \
--base-url-secure="https://www.newmagento.com" \
--admin-user=adminuser \
[email protected] \
[email protected] \
--admin-firstname=admin \
--admin-lastname=user \
--cleanup-database
nom du backend-front =la page d'administration de notre site magento, nous utilisons 'adminlogin '.
Clé =nos clés magento, nous pouvons la générer, ou la trouver au hasard sur http://randomkeygen.com/.
Base-url =assurez-vous qu'il en va de même avec la configuration de l'hôte virtuel.
A la fin de la procédure d'installation vous devriez voir ces lignes :
[SUCCESS]: Magento installation complete. [SUCCESS]: Magento Admin URI: /adminlogin
Avant de tester l'installation de Magento, assurez-vous que le propriétaire du répertoire Web est 'www-data ', puis redémarrez nginx.
cd /var/www/magento2/
chmod 700 /var/www/magento2/app/etc
chown -R www-data:www-data .
systemctl restart nginx
Ouvrez maintenant le domaine Magento dans votre navigateur :
Dans mon cas, le nom de domaine est :www.newmagento.com .
Essayez de vous connecter au tableau de bord d'administration de Magento :
www.newmagento.com/adminlogin
Remarque :
Si vous obtenez une erreur à propos d'un cronjob d'indexeur Magento manquant, vous pouvez le résoudre en ajoutant le cronjob suivant à votre serveur :
crontab -u www-data -e
Ajoutez les lignes suivantes :
* * * * * /usr/bin/php /var/www/magento2/bin/magento cron:run | grep -v "Ran jobs by schedule" >> /var/www/magento2/var/log/magento.cron.log * * * * * /usr/bin/php /var/www/magento2/update/cron.php >> /var/www/magento2/var/log/update.cron.log * * * * * /usr/bin/php /var/www/magento2/bin/magento setup:cron:run >> /var/www/magento2/var/log/setup.cron.log
Enregistrez et quittez.
Magento 2 avec Nginx et PHP-FPM 7 sur Ubuntu 16.04 est maintenant installé.
Conclusion
Magento est une plateforme de commerce électronique open source basée sur le PHP Zend Framework. Il s'agit d'un logiciel de commerce électronique complexe pour vous aider dans votre activité en ligne. Magento utilise une architecture MVC (Model-View-Controller) et MySQL ou MariaDB comme base de données. Magento est facile à installer, nous pouvons l'installer avec le serveur Web Nginx ou Apache. Magento est devenu l'un des logiciels d'e-commerce les plus populaires sur Internet et est utilisé par de nombreux sites Web de boutiques à succès dans le monde entier.