Android

Comment installer Magento 2 sur Ubuntu 18.04

Magento 2.1.x in Ubuntu localhost Installation Guide 2017 | Magento 2 Tutorials

Magento 2.1.x in Ubuntu localhost Installation Guide 2017 | Magento 2 Tutorials

Table des matières:

Anonim

Magento est la principale plate-forme de commerce électronique de classe entreprise basée sur une technologie open source combinant des fonctionnalités puissantes avec une flexibilité et une interface conviviale.

Avec des fonctionnalités telles que des expériences d'achat engageantes, une architecture modulaire flexible et une évolutivité et des performances de niveau entreprise, Magento est une plate-forme de choix pour la plupart des marchands en ligne.

Dans ce tutoriel, nous allons vous montrer comment installer Magento 2.3 sur une machine Ubuntu 18.04. Nous utiliserons Nginx comme serveur Web, le dernier PHP 7.2 et MySQL / MariaDB comme serveur de base de données.

Conditions préalables

Assurez-vous d'avoir satisfait aux conditions préalables suivantes avant de poursuivre ce didacticiel:

  • Ayez un nom de domaine pointant vers l'IP de votre serveur public. Nous utiliserons example.com .Nginx est installé sur votre serveur Ubuntu en suivant ces instructions.Un certificat SSL installé pour votre domaine pour crypter les informations de l'utilisateur. Vous pouvez installer un certificat SSL Let's Encrypt gratuit en suivant ces instructions.

Pour pouvoir accéder au référentiel de codes Magento 2, vous devez générer des clés d'authentification. Si vous n'avez pas de compte Magento Marketplace, vous pouvez en créer un ici. Une fois que vous avez créé le compte, veuillez vérifier ces instructions sur la façon de générer un nouvel ensemble de clés d'authentification.

Mettez à jour les packages système vers les dernières versions et installez l'utilitaire de décompression:

sudo apt update && sudo apt upgrade sudo apt install unzip

Création d'une base de données MySQL

Si vous avez MySQL ou MariaDB installé sur votre serveur, vous pouvez ignorer cette étape, sinon vous pouvez installer le package serveur MySQL 5.7 à partir des référentiels par défaut d'Ubuntu en tapant:

sudo apt install mysql-server mysql-client Pour les nouvelles installations MySQL, il est recommandé d'exécuter la commande mysql_secure_installation pour améliorer la sécurité de votre serveur MySQL.

Connectez-vous au shell MySQL à l'aide de la commande suivante:

sudo mysql

Depuis le shell MySQL, exécutez l'instruction SQL suivante pour créer une nouvelle base de données nommée magento :

CREATE DATABASE magento;

Ensuite, créez un compte utilisateur MySQL nommé magento et accordez les autorisations nécessaires à l'utilisateur en exécutant la commande suivante:

GRANT ALL ON magento.* TO 'magento'@'localhost' IDENTIFIED BY 'change-with-strong-password'; Assurez-vous de changer le change-with-strong-password de change-with-strong-password avec un mot de passe fort.

Une fois cela fait, quittez la console MySQL en tapant:

EXIT;

Création d'un utilisateur système

Créez un nouvel utilisateur et groupe, qui sera le propriétaire du système de fichiers Magento, pour simplifier, nous nommerons l'utilisateur magento :

sudo useradd -m -U -r -d /opt/magento magento

Ajoutez l'utilisateur www-data au groupe magento et modifiez les autorisations du répertoire /opt/magento pour que Nginx puisse accéder à l'installation de Magento:

sudo usermod -a -G magento www-data sudo chmod 750 /opt/magento

Installer et configurer PHP

PHP 7.2 qui est la version PHP par défaut dans Ubuntu 18.04 est entièrement pris en charge et recommandé pour Magento 2.3. Étant donné que nous utiliserons Nginx comme serveur Web, nous installerons également le package PHP-FPM.

Exécutez la commande suivante pour installer PHP et tous les modules PHP requis:

sudo apt install php7.2-common php7.2-cli php7.2-fpm php7.2-opcache php7.2-gd php7.2-mysql php7.2-curl php7.2-intl php7.2-xsl php7.2-mbstring php7.2-zip php7.2-bcmath php7.2-soap

Le service PHP-FPM démarrera automatiquement une fois le processus d'installation terminé, vous pouvez le vérifier en imprimant l'état du service:

sudo systemctl status php7.2-fpm

La sortie doit indiquer que le service fpm est actif et en cours d'exécution.

● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2018-12-12 15:47:16 UTC; 5s ago Docs: man:php-fpm7.2(8) Main PID: 16814 (php-fpm7.2) Status: "Ready to handle connections" Tasks: 3 (limit: 505) CGroup: /system.slice/php7.2-fpm.service

Définissez les options PHP requises et recommandées en éditant le fichier php.ini avec sed ::

sudo sed -i "s/memory_limit =.*/memory_limit = 1024M/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/upload_max_filesize =.*/upload_max_filesize = 256M/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/zlib.output_compression =.*/zlib.output_compression = on/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/max_execution_time =.*/max_execution_time = 18000/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php/7.2/fpm/php.ini

Ensuite, nous devons créer un pool FPM pour l'utilisateur magento .

Ouvrez votre éditeur de texte et créez le fichier suivant:

sudo nano /etc/php/7.2/fpm/pool.d/magento.conf /etc/php/7.2/fpm/pool.d/magento.conf

user = magento group = www-data listen.owner = magento listen.group = www-data listen = /var/run/php/php7.2-fpm-magento.sock pm = ondemand pm.max_children = 50 pm.process_idle_timeout = 10s pm.max_requests = 500 chdir = /

Redémarrez le service PHP-FPM pour que les modifications prennent effet:

systemctl restart php7.2-fpm

Vérifiez si le socket PHP a été créé avec succès en exécutant la commande ls suivante:

ls -al /var/run/php/php7.2-fpm-magento.sock

La sortie devrait ressembler à ceci:

srw-rw---- 1 magento www-data 0 Dec 12 16:07 /var/run/php/php7.2-fpm-magento.sock=

Installation de Composer

Composer est un gestionnaire de dépendances pour PHP et nous l'utiliserons pour télécharger le noyau Magento et installer tous les composants Magento nécessaires.

Pour installer composer globalement, téléchargez le programme d'installation de Composer avec curl et déplacez le fichier dans le /usr/local/bin :

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

Vérifiez l'installation en imprimant la version du composeur:

composer --version

La sortie devrait ressembler à ceci:

Composer version 1.8.0 2018-12-03 10:31:16

Installer Magento

Il existe plusieurs façons d'installer Magento 2. Évitez d'installer Magento à partir du référentiel Github car cette version est destinée au développement et non aux installations de production.

Au moment de la rédaction de cet article, la dernière version stable de Magento est la version 2.3.0 . Dans ce tutoriel, nous allons installer Magento à partir de leurs référentiels à l'aide de composer.

Passez à l'utilisateur magento en tapant:

sudo su - magento

Démarrez l'installation en téléchargeant les fichiers magento dans le répertoire / opt / magento / public_html:

composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition /opt/magento/public_html

Vous serez invité à saisir les clés d'accès, à copier les clés à partir de votre compte de marché Magento et à les stocker dans le fichier auth.json , lors de la mise à jour de votre installation, vous n'aurez plus à ajouter les mêmes clés.

Authentication required (repo.magento.com): Username: e758ec1745d190320ca246e4e832e12c Password: Do you want to store credentials for repo.magento.com in /opt/magento/.config/composer/auth.json ? Y

La commande ci-dessus récupérera tous les packages PHP requis. Le processus peut prendre quelques minutes et s'il réussit, la fin de la sortie devrait ressembler à ceci:

Writing lock file Generating autoload files

Une fois le projet créé, nous pouvons démarrer l'installation de Magento. Nous pouvons installer Magento à partir de la ligne de commande ou à l'aide de l'assistant de configuration Web. Dans ce tutoriel, nous allons installer Magento en utilisant la ligne de commande.

Nous utiliserons les options suivantes pour installer la boutique Magento:

  • Les URL sécurisées de base et de base sont définies sur https://example.com , modifiez-les avec votre domaine. Administrateur Magento:
    • John Doe comme prénom et nom. [email protected] par e-mail. john comme nom d'utilisateur et j0hnP4ssvv0rD comme mot de passe.
    Nom de la base de données magento , nom d'utilisateur magento , change-with-strong-password mot de passe change-with-strong-password et le serveur de base de données se trouve sur le même hôte que le serveur Web. en_US , anglais américain comme langue par défaut. USD dollars comme devise par défaut. America/Chicago comme fuseau horaire.
Vous pouvez trouver toutes les options d'installation ici.

Accédez au répertoire Magento ~/public_html :

cd ~/public_html

Exécutez la commande suivante pour démarrer l'installation:

php bin/magento setup:install --base-url=https://example.com/ \ --base-url-secure=https://example.com/ \ --admin-firstname="John" \ --admin-lastname="Doe" \ --admin-email="[email protected]" \ --admin-user="john" \ --admin-password="j0hnP4ssvv0rD" \ --db-name="magento" \ --db-host="localhost" \ --db-user="magento" \ --currency=USD \ --timezone=America/Chicago \ --use-rewrites=1 \ --db-password="change-with-strong-password" N'oubliez pas de changer le mot de passe ( j0hnP4ssvv0rD ) en quelque chose de plus sécurisé.

Le processus peut prendre quelques minutes et une fois terminé, un message contenant l'URI apparaîtra sur le tableau de bord d'administration de Magento.

: Magento installation complete.: Magento Admin URI: /admin_13nv5k Nothing to import.

Création de crontab Magento

Magento utilise des tâches cron pour planifier des tâches telles que la réindexation, les notifications, les sitemaps, les e-mails et plus encore.

Pour créer la crontab Magento, exécutez la commande suivante en tant qu'utilisateur magento :

php ~/public_html/bin/magento cron:install

Crontab has been generated and saved

Vérifiez que la crontab est installée en tapant:

crontab -l

#~ MAGENTO START adc062915d7b30804a2b340095af072d * * * * * /usr/bin/php7.2 /opt/magento/public_html/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /opt/magento/public_html/var/log/magento.cron.log * * * * * /usr/bin/php7.2 /opt/magento/public_html/update/cron.php >> /opt/magento/public_html/var/log/update.cron.log * * * * * /usr/bin/php7.2 /opt/magento/public_html/bin/magento setup:cron:run >> /opt/magento/public_html/var/log/setup.cron.log #~ MAGENTO END adc062915d7b30804a2b340095af072d

Configuration de Nginx

À l'heure actuelle, vous devriez déjà avoir Nginx avec certificat SSL installé sur votre serveur Ubuntu, sinon vérifiez les prérequis pour ce tutoriel.

Nous allons inclure la configuration Nginx par défaut livrée avec Magento.

Basculez vers votre utilisateur sudo, ouvrez votre éditeur de texte et créez le fichier suivant:

sudo nano /etc/nginx/sites-available/example.com /etc/nginx/sites-available/example.com

upstream fastcgi_backend { server unix:/var/run/php/php7.2-fpm-magento.sock; } server { listen 80; server_name example.com www.example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; set $MAGE_ROOT /opt/magento/public_html; set $MAGE_MODE developer; # or production access_log /var/log/nginx/example.com-access.log; error_log /var/log/nginx/example.com-error.log; include /opt/magento/public_html/nginx.conf.sample; } N'oubliez pas de remplacer example.com par votre domaine Magento et de définir le chemin d'accès correct aux fichiers de certificat SSL. Les extraits de code utilisés dans cette configuration sont créés dans ce guide.

Avant de redémarrer le service Nginx, faites un test pour vous assurer qu'il n'y a pas d'erreurs de syntaxe:

sudo nginx -t

S'il n'y a pas d'erreur, la sortie devrait ressembler à ceci:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

Enfin, redémarrez le service Nginx en tapant:

sudo systemctl restart nginx

Vérification de l'installation

Ouvrez votre navigateur, saisissez votre domaine et en supposant que l'installation est réussie, un écran similaire au suivant apparaîtra:

Vous pouvez maintenant accéder à l'URI Magento Admin, vous connecter en tant qu'administrateur et commencer à personnaliser votre nouvelle installation Magento.

Conclusion

Félicitations, vous avez correctement installé Magento 2.3 sur votre serveur Ubuntu 18.04. Vous pouvez maintenant commencer à personnaliser votre boutique.

La documentation pour les développeurs de Magento 2.3 est un bon point de départ pour en savoir plus sur la gestion de votre installation Magento.

ubuntu magento mysql mariadb php nginx composer ecommerce