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-FPM et MariaDB comme base de données. J'utiliserai Ubuntu 15.10 (Wily Werewolf) comme base pour l'installation. 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 15.10 - 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 5.6 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 php5-fpm php5-mhash php5-mcrypt php5-curl php5-cli php5-mysql php5-gd php5-xsl php5-json php5-intl php-pear php5-dev php5-common php-soap libcurl3 curl -y
Nous devons activer l'extension php5-mcrypt manuellement en créant un lien symbolique dans le répertoire conf.d.
cd /etc/php5/fpm/conf.d
sudo ln -s ../../mods-available/mcrypt.ini
cd /etc/php5/cli/conf.d
sudo ln -s ../../mods-available/mcrypt.ini
Modifiez maintenant les fichiers php.ini pour fpm et cli.
vim /etc/php5/fpm/php.ini
vim /etc/php5/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 et quittez.
Redémarrez le service PHP-FPM pour appliquer les modifications de configuration :
systemctl restart php5-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
Connectez-vous ensuite au shell MySQL (le shell MariaDB démarre 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.0.tar.gz
tar -xzvf 2.0.0.tar-gz
mv magento2-2.0.0/ 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.
- Configurer le jeton Github
Assurez-vous d'être inscrit sur github.com. Générez le jeton d'accès GitHub en cliquant sur votre profil supérieur, allez dans 'Paramètres> Jetons d'accès personnels ' et cliquez sur 'Générer un nouveau jeton'.
- Installer un composant 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.
Ensuite, il vous sera demandé le jeton GitHub, collez-le et appuyez sur "Entrée" pour continuer le composant tiers.
- 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:/var/run/php5-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/ etc.
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/
chown -R www-data .
systemctl restart nginx
Ouvrez maintenant le domaine Magento dans votre navigateur :
Dans mon cas, le nom 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 concernant l'indexeur et le cronjob de Magento, vous pouvez le résoudre en ajoutant le cronjob suivant à votre serveur :
crontab -u www-data -e
Ajoutez les lignes suivantes :
*/1 * * * * php -c /etc/php5/cli/php.ini /var/www/magento2/bin/magento cron:run */1 * * * * php -c /etc/php5/cli/php.ini /var/www/magento2/update/cron.php */1 * * * * php -c /etc/php5/cli/php.ini /var/www/magento2/bin/magento setup:cron:run
Enregistrez et quittez.
Magento 2 avec Nginx et PHP-FPM sur Ubuntu 15.10 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.