Com instal·lar Magento 2 a Ubuntu 20.04 LTS

Una guia completa sobre com configurar i desplegar la botiga Magento2 en un servidor Ubuntu 20.04.

Magento és una plataforma de comerç electrònic popular construïda i escrita en PHP, és utilitzada per moltes empreses a petita escala per vendre productes i crear presència en línia. Us permet crear una botiga en línia completa amb funcions com ara gestió d'inventaris, catàlegs de productes, enviament, facturació i molt més.

Si voleu crear una plataforma de compres elegant i empresarial per al vostre negoci, Magento hauria de ser un bon punt de partida. Així, en aquesta guia, veurem com configurar la versió 2.3 de l'edició de la comunitat de Magento amb la pila LAMP en un servidor Ubuntu 20.04.

Requisits previs

Necessitareu un servidor Ubuntu 20.04 LTS i hàgiu iniciat sessió com a sudo usuari habilitat. També necessitareu un nom de domini que apunti a la IP del vostre servidor Ubuntu 20.04. Farem servir exemple.com allà on es requereixi un nom de domini, substituïu-lo pel vostre domini. Abans de començar, actualitzeu la llista de paquets i, a continuació, actualitzeu els paquets al vostre servidor Ubuntu 20.04.

sudo apt update && sudo apt update

Instal·leu el servidor web Apache

Magento requereix un servidor web per funcionar, en aquesta guia hem optat per utilitzar executar l'aplicació Magento sobre la pila LAMP (Linux, Apache, MySQL, PHP). Per tant, instal·larem tots els paquets que consisteixen en la pila LAMP.

El servidor web Apache és un dels servidors web més populars d'Internet amb gairebé el 37,2% de la quota de mercat total del servidor web. També podeu optar per instal·lar Magento a la pila LEMP que utilitza el servidor web Nginx en lloc d'apache. Però en aquesta guia implementarem el nostre servidor Megento amb l'ajuda d'Apache.

Per instal·lar el servidor web Apache, executeu l'ordre següent:

sudo apt install apache2

Introduïu la vostra contrasenya d'usuari i premeu Y si se li demana. Quan s'hagi completat la instal·lació, hem de configurar el tallafoc sense complicacions (UFW) d'Ubuntu per permetre el trànsit al port. 80 & 443.

L'UFW inclou perfils preconfigurats que es poden canviar per permetre que l'aplicació accedeixi als ports del vostre servidor Ubuntu 20.04. Així, quan vau instal·lar el servidor web Apache, els perfils UFW anomenats "Apache", "Apache Full" i "Apache Secure" es van afegir a la llista d'aplicacions UFW. Permet que el servidor web Apache serveixi al port 80 & 443 executant:

sudo ufw permet "Apache Full"

Ara, tot el que hem de fer és habilitar l'UFW, però abans de fer-ho assegureu-vos que heu permès el port 22 (SSH). Si no canvieu les regles SSH UFW, és possible que us bloquegeu el vostre servidor Ubuntu 20.04.

sudo ufw permet "OpenSSH"

Finalment, activeu el tallafoc UFW executant:

sudo ufw enable

Premeu Y si rebeu una indicació que diu que l'ordre pot interrompre les connexions SSH, ja que ja hem afegit una regla per permetre SSH a través d'ella. Ara podeu accedir al servidor web Apache mitjançant el vostre navegador, introduïu l'adreça IP del vostre servidor Ubuntu 20.04 a la barra d'URL i premeu Intro.

Apache2 pàgina predeterminada d'ubuntu

Instal·leu MySQL Server

També necessitareu un servidor de bases de dades per executar Magento, ja que és on s'emmagatzema tot el contingut de la botiga de Magento. Instal·larem el servidor MySQL i crearem un usuari anomenat magentouser i una base de dades anomenada magento per al Magento.

El paquet MySQL s'anomena com mysql-server als dipòsits d'Ubuntu, instal·leu-lo executant:

sudo apt install mysql-server

A continuació, hem de configurar correctament la configuració de seguretat de MySQL. Afortunadament, el paquet MySQL inclou un script de seguretat que facilita la configuració del servidor MySQL. Per tant, executeu aquest script executant l'ordre següent:

sudo mysql_secure_installation

Se us demanarà diverses preguntes, aquestes són la configuració òptima per al servidor MySQL:

  • Voleu configurar el component VALIDAR LA CONTRAsenya?[s/n]: Introduïu Y
  • Hi ha tres nivells de política de validació de contrasenyes.
    • Introduïu 0 = BAIX, 1 = MITJÀ i 2 = FORT: introduïu 2
  • Definiu aquí la contrasenya per a root.
    • Contrasenya nova: introduïu una contrasenya per a l'usuari root de MySQL.
    • Torna a introduir la contrasenya nova: repeteix la contrasenya escollida.
  • Vols suprimir usuaris anònims? [s/n]: Introduïu Y
  • No permeteu l'inici de sessió d'arrel de forma remota? [y/n]: Introduïu Y
  • Eliminar la base de dades de prova i accedir-hi? [y/n]: Introduïu Y
  • Torneu a carregar les taules de privilegis ara? [y/n]: Introduïu Y

A continuació, per verificar i validar que el servidor MySQL està instal·lat i funciona correctament, inicieu sessió al servidor MySQL com a usuari root mitjançant:

sudo mysql

Introdueix el teu sudo contrasenya d'usuari quan se us demani que ho feu i premeu Intro. L'usuari root de MySQL utilitza el unix_socket per autenticar l'inici de sessió. El que això significa essencialment és que has de ser a sudo usuari per iniciar sessió al servidor MySQL com a usuari root.

Creeu una nova base de dades i usuari per a Magento

Ara podem crear un usuari de MySQL per a Magento i si heu seguit cada pas d'aquesta guia, heu de tenir la consola MySQL oberta. Creeu una base de dades anomenada magento introduint la següent consulta a la consola MySQL:

CREAR BASE DE DADES magento;

Per crear un nou usuari de MySQL anomenat magentouser, executeu aquesta consulta a la consola:

CREAR USUARI 'magentouser'@'%' IDENTIFICAT AMB mysql_native_password PER 'contrasenya';

Nota: Substituïu el contrasenya a la consulta amb una contrasenya segura de la vostra elecció.

Llavors concedeix el nou magentouser accés complet al magento base de dades:

GRANT TOT EN magento.* A 'magentouser'@'%' AMB L'OPCIÓ GRANT;

Hem de configurar el log_bin_trust_function_creators paràmetre com a 1, ja que està desactivat a l'última versió de MySQL i sense habilitar-lo Magento genera alguns errors durant la instal·lació. Per fer-ho, executeu la consulta següent:

SET GLOBAL log_bin_trust_function_creators=1;

Finalment, torneu a carregar els privilegis i la configuració de la base de dades que hem canviat i sortiu de la consola mitjançant aquestes consultes:

PRIVILEGIS FLUSH; SORTIR;

Instal·leu PHP i les extensions necessàries

Magento requereix PHP i poques extensions de PHP per funcionar. En el moment d'escriure aquest article, la versió de l'edició de la comunitat de Magento 2.3 no funciona amb l'última versió de PHP 7.4 i per tant hem d'instal·lar la versió PHP 7.3.

Hem d'afegir un PPA de PHP de tercers perquè puguem instal·lar la versió de PHP 7.3 ja que els dipòsits d'Ubuntu només tenen l'últim 7.4 paquets. Afegiu el PPA i actualitzeu la llista de paquets executant aquestes ordres:

sudo add-apt-repository ppa:ondrej/php && sudo apt update

A continuació, instal·leu PHP 7.3 i tots els mòduls PHP que requereix Magento executant l'ordre següent:

sudo apt install php7.3 php7.3-common php7.3-mysql php7.3-fpm php7.3-gmp php7.3-curl php7.3-intl php7.3-mbstring php7.3-xmlrpc php7.3- gd php7.3-xml php7.3-cli php7.3-zip php7.3-bcmath php7.3-soap libapache2-mod-php7.3

Un cop instal·lat PHP 7.3, hem de configurar alguns paràmetres bàsics recomanats per Magento perquè funcionin correctament. Executeu aquesta ordre per obrir el fitxer de configuració de l'extensió FPM amb nano

sudo nano /etc/php/7.3/fpm/php.ini

Aquí hi ha algunes de les configuracions recomanades per a la majoria de llocs web de Magento.

file_uploads = Activat allow_url_fopen = Activat short_open_tag = Activat memory_limit = 256 M cgi.fix_pathinfo = 0 upload_max_filesize = 100 M max_execution_time = 360

Deseu els canvis prement Ctrl+O després sortiu de l'editor nano prement Ctrl+X. Ara tenim PHP i totes les extensions necessàries i així podem passar a obtenir Magento.

Instal·leu Composer

Composer és un gestor de dependències PHP que facilita la instal·lació de frameworks i biblioteques PHP. Necessitem Composer per descarregar i instal·lar Magento al nostre servidor Ubuntu 20.04.

Composer requereix un paquet anomenat descomprimir per extreure les biblioteques i marcs descarregats, instal·leu-lo executant:

sudo apt install unzip

A continuació, instal·leu el compositor a tot el sistema executant aquesta ordre:

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

L'ordre anterior hauria d'instal·lar el gestor de dependències de Composer al servidor Ubuntu 20.04. Comproveu que Composer estigui instal·lat correctament executant:

compositor
 SORTIDA:  ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_ / / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Versió del compositor 1.10.8 2020-06- 24 21:23:30 Ús: comanda [opcions] [arguments] 

Descarrega i instal·la Magento

Ara podem passar a descarregar i instal·lar Magento, ja que hem instal·lat i configurat tots els paquets necessaris que requereix Magento.

Creació d'un compte Magento

Per descarregar Magento al vostre servidor Ubuntu 20.04, necessitareu una clau d'accés a Magento 2. Per obtenir aquesta clau d'accés, necessitareu un compte de Magento. Si no esteu registrat i no teniu cap compte de Magento, aneu a aquesta pàgina i feu clic a "Registrar".

Un cop hàgiu acabat de crear un compte de Magento, podreu crear una nova clau d'accés perquè pugueu descarregar Magento 2 a la vostra màquina mitjançant el compositor. Podeu veure totes les vostres claus d'accés a Magento en aquesta pàgina. Si no hi ha cap clau d'accés a la pestanya Magento 2, feu clic al botó "Crea una nova clau d'accés" i doneu-li un nom i després premeu "D'acord".

Aquestes claus són les vostres credencials que s'utilitzen per descarregar Magento 2 des del dipòsit de Magento mitjançant Composer. Utilitzarem aquestes claus quan descarreguem Magento, però abans de fer-ho configurarem la propietat i els permisos del directori.

Propietat prèvia a la instal·lació i configuració de permisos

Els permisos dels fitxers poden fer o trencar la seguretat de qualsevol lloc web, per la qual cosa és necessari establir correctament la propietat i el permís de l'arrel del document del servidor Apache.

El propietari per defecte del /var/www/ directori és l'usuari root, però hem d'accedir i modificar els fitxers d'aquest directori. A més, el servidor web també necessita accés a l'arrel del document per escriure i modificar el contingut del lloc Magento.

Per tant, per resoldre aquest problema, afegirem l'usuari actual al fitxer www-dades grup, per fer-ho executa:

sudo usermod -a -G www-data $USER

El -a-G les opcions són importants a mesura que s'afegeixen www-dades com a grup secundari del compte d'usuari, que conserva el grup principal de l'usuari. Després d'afegir l'usuari al grup de servidors web, canvieu el propietari de /var/www/ i els seus subdirectoris utilitzant aquesta ordre:

sudo chown -R $USER:www-data /var/www/

Ara que hem configurat els permisos de preinstal·lació per a Magento, podem passar a baixar-lo a l'arrel del document del servidor web.

Descàrrega de Magento

Ara, en aquest punt, hauríeu de tenir un compte de Magento amb claus d'accés i permisos de preinstal·lació configurats correctament. Per tant, utilitzarem Composer per descarregar Magento a l'arrel del document Apache i després instal·lar-lo.

Canvia el directori actual a /var/www/ de manera que el terminal apunta cap a ell executant:

cd /var/www/

Executeu l'ordre següent per crear un projecte nou amb Composer conegut com magento.

compositor create-project --repository=//repo.magento.com/ magento/project-community-edition magento

Se us demanarà el nom d'usuari i la contrasenya després d'utilitzar l'ordre anterior. Les claus d'accés que hem creat s'han d'utilitzar aquí. Copieu la clau pública i enganxeu-la com a nom d'usuari i, de la mateixa manera, copieu la vostra clau privada i enganxeu-la al terminal com a contrasenya. A continuació, premeu Y per desar les credencials per a un ús futur.

 Sortida:  Creació d'un projecte "magento/project-community-edition" a "./magento" Advertiment de repo.magento.com: no heu proporcionat les vostres claus d'autenticació de Magento. Per obtenir instruccions, visiteu //devdocs.magento.com/guides/v2.3/install-gde/prereq/connect-auth.html Autenticació necessària (repo.magento.com): Nom d'usuari: e8b6120dce14c3d982a85525264897c4 Contrasenya: Voleu emmagatzemar les credencials per a repo.magento.com a /home/ath/.config/composer/auth.json ? [Yn] Y

Després que Magento i totes les seves dependències s'hagin descarregat a través de Composer, hem d'establir la propietat i el permís per al nou directori del projecte Magento i els seus fitxers també. Canvieu el directori a l'arrel del projecte Magento per:

cd /var/www/magento/

A continuació, canvieu el propietari del grup del directori del projecte Magento i els seus subdirectoris executant:

trobar el proveïdor generat var pub/pub estàtic/aplicació multimèdia/etc -type f -exec chmod g+w {} + && cerca el venedor generat var pub/pub estàtic/aplicació multimèdia/etc -type d -exec chmod g+ws {} + && chmod u+x bin/magento && sudo chown -R :www-data . 

Aquesta ordre donarà al grup de servidors web (www-dades) permisos per escriure als directoris i fitxers del proveïdor, pub/static, pub/media i app/etc. A més, farà el bin/magento executable, perquè puguem executar-lo i instal·lar Magento al nostre sistema.

Configuració d'Apache per a Magento

Instal·larem Magento mitjançant GUI, ja que és més intuïtiu que la instal·lació de la CLI en aquest cas. Per tant, hem de crear un amfitrió virtual per al servidor web Apache abans de poder continuar amb la instal·lació de Magento.

Obriu el fitxer d'amfitrió virtual predeterminat d'Apache amb nano mitjançant l'ordre següent:

sudo nano /etc/apache2/sites-available/000-default.conf

Canvieu l'arrel del document a /var/www/magento i afegiu-hi el fragment de codi següent a sota.

 AllowOverride All ServerName example.com ServerAlias ​​www.example.com

Substituïu el exemple.com a ServerName i ServerAlias ​​amb el vostre nom de domini. Els canvis en el teu 000-default.conf El fitxer hauria de semblar al text ressaltat que es mostra a continuació. Deseu els canvis prement Ctrl+O i sortiu de l'editor utilitzant Ctrl+X claus.

 ServerAdmin webmaster@localhost DocumentRoot /var/www/magento AllowOverride All ServerName example.com ServerAlias ​​www.example.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combinat 

A continuació, hem d'habilitar un mod d'Apache anomenat com mod_rewrite requerit per Magento. Proporciona una manera flexible i potent de manipular URL, així que activeu el mod executant:

reescriptura sudo a2enmod

Reinicieu el servidor Apache perquè els canvis que hem fet s'apliquin al servidor:

sudo systemctl reinicia apache2

Instal·lació de Magento

Finalment podem procedir a la instal·lació de Magento, ja que tenim tot el que necessita Magento per funcionar. Escriviu l'adreça IP del vostre servidor Ubuntu 20.04 a la barra d'URL del vostre navegador preferit.

Feu clic a "Acceptar i configurar Magento" per continuar amb la instal·lació de Magento. El primer pas de l'instal·lador web de Magento és la comprovació de la preparació, verificarà que es compleixin tots els requisits de Magento. Feu clic a "Iniciar comprovació de preparació" i un cop finalitzat el procés, premeu "Següent".

El següent pas és configurar els detalls i afegir una base de dades per a Magento. Ja hem creat un usuari de MySQL per a Magento anomenat magentouser i una base de dades anomenada magento a l'apartat anterior. Ompliu els detalls adequats en aquesta secció, és a dir, el nom d'usuari del servidor de bases de dades, la seva contrasenya i el nom de la base de dades i, a continuació, premeu "Següent" per continuar.

El tercer pas de la configuració de Magento és la configuració web. Substituïu l'adreça IP de l'entrada "Adreça de la botiga" pel vostre nom de domini si en teniu. No us oblideu de posar una barra inclinada (/) després del vostre nom de domini, en cas contrari, l'URL de l'adreça d'administrador esdevé inaccessible.

A continuació, feu clic a Opcions avançades i marqueu les dues opcions HTTPS si voleu utilitzar una connexió segura per al vostre lloc Magento. Mantingueu la resta de la configuració tal com estan i premeu Següent.

Nota: Si marqueu les opcions HTTPS, haureu d'obtenir certificats SSL per a això. Veurem com obtenir certificats SSL a la següent secció d'aquest tutorial.

A la configuració de "Personalitza la teva botiga", només hauràs de canviar la zona horària, la moneda per defecte utilitzada a la botiga i l'idioma per defecte de la botiga segons les teves necessitats. Mireu al voltant d'aquests paràmetres i configureu-los si cal, en cas contrari, feu clic a següent per continuar.

En el cinquè pas, haureu de crear un compte d'administració per al vostre tauler d'administració de Magento. Introduïu un nou nom d'usuari per al vostre administrador i introduïu una adreça de correu electrònic proporcionada pel proveïdor del vostre nom de domini. Creeu una contrasenya segura per al compte d'administrador i premeu Següent quan hàgiu acabat.

L'últim i últim pas és fer clic al botó "Instal·lar" per confirmar la configuració i començar el procés d'instal·lació. Quan s'hagi completat la instal·lació, la configuració de Magento us mostrarà el resum i alguns detalls importants sobre el vostre lloc Magento.

Anoteu aquests detalls en un lloc segur, com ara un registre en paper fora de línia o en una base de dades segura. L'adreça d'administració de Magento i la clau de xifratge mai s'han de compartir públicament. La clau de xifratge s'utilitza per xifrar la base de dades de Magento perquè les dades de l'usuari estiguin segures, fins i tot si hi ha una filtració de dades.

Creeu un certificat SSL per al vostre lloc Magento

El lloc de Magento està desplegat i es pot accedir just després de completar la instal·lació. Però si voleu servir trànsit web mitjançant HTTPS, haureu de configurar el certificat SSL per al vostre domini.

Letsencrypt és una autoritat de certificació sense ànim de lucre que proporciona certificats TLS de forma gratuïta. Utilitzarem un paquet anomenat certbot que ajuda a obtenir el certificat i a configurar automàticament l'amfitrió virtual d'Apache. Executeu aquesta ordre al terminal per instal·lar certbot:

sudo apt install certbot python3-certbot-apache

Per obtenir el vostre certificat de Letsencrypt i configurar l'amfitrió virtual Apache, executeu l'ordre següent:

sudo certbot --apache

Certbot començarà el procés per obtenir certificats de Letsencrypt, proporcionarà la vostra adreça de correu electrònic quan se us demani i després premeu la tecla Intro. A continuació, escriviu A per acceptar les condicions del servei de Letsencrypt. Se us demanarà si voleu compartir la vostra adreça de correu electrònic amb l'EFF, escriviu Y o N depenent de la teva elecció.

A continuació, se us donarà una llista de noms de domini per als quals voleu activar HTTPS. Escriviu el número adequat corresponent al vostre nom de domini i premeu Enter.

Després de seleccionar el vostre nom de domini, se us demanarà si voleu redirigir el trànsit HTTP a HTTPS, escriviu 2 i premeu enter. Certbot ara configurarà automàticament l'amfitrió virtual Apache per al domini exemple.com.

El paquet Certbot inclou cronjob que renova automàticament els certificats del vostre servidor abans que caduquin. Comproveu si la renovació automàtica funciona executant:

sudo certbot renew --dry-run

La sortida anterior significa que el cronjob de renovació automàtica funciona correctament. Per confirmar que Certbot ha funcionat, obriu el vostre navegador i visiteu el vostre domini //exemple.com.

De la mateixa manera, podeu accedir a la pàgina d'inici de sessió de l'administrador mitjançant el //example.com/admin_SecretString, aquest URL es trobava al final de la instal·lació de Magento.

Ara heu instal·lat Magento correctament al servidor Ubuntu 20.04 LTS i ara podeu començar a personalitzar la vostra botiga segons les vostres necessitats. Per obtenir més informació sobre Magento i sobre el desenvolupament de botigues, aneu a la pàgina de Magento Docs.