GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar Magento 2 con Nginx y Lets Encrypt SSL en Ubuntu 20.04 LTS

Magento es un software de comercio electrónico de código abierto ampliamente utilizado y un sistema de gestión de contenido para sitios web de comercio electrónico basado en PHP Zend Framework. Utiliza MySQL o MariaDB como base de datos. Varien inició el desarrollo de Magento en 2008.

En este tutorial, le mostraremos paso a paso cómo instalar Magento 2 en la última versión de Ubuntu 20.04. Instalaremos Magento bajo la pila LEMP, el servidor web Nginx, PHP-FPM 7.3 y el servidor MariaDB.

Requisitos

Para este tutorial, instalaremos Magento 2 en el sistema Ubuntu 20.04 con 2 GB de RAM, 50 GB de espacio libre en disco y 2 CPU.

¿Qué haremos?

  • Instalar servidor web Nginx
  • Instalar y configurar PHP-FPM 7.3
  • Instalar y configurar el servidor MySQL
  • Instalar PHP Composer
  • Descargar e instalar Magento
  • Generar SSL Letsencrypt
  • Configurar Nginx Virtualhost para Magento
  • Posterior a la instalación de Magento

Paso 1:instalar el servidor web Nginx

Primero, instalaremos el servidor web Nginx en el sistema Ubuntu 20.04.

Instale Nginx usando el comando apt a continuación.

sudo apt install nginx

Una vez completada toda la instalación, inicie el servicio Nginx y agréguelo al inicio del sistema.

systemctl start nginx
systemctl enable nginx

Después de eso, verifique el estado del servicio Nginx usando el siguiente comando.

systemctl status nginx

El servidor web Nginx está funcionando en el servidor Ubuntu 20.04.

A continuación, abriremos los puertos HTTP y HTTPS en nuestro sistema Ubuntu.

Ejecute el siguiente comando ufw.

for svc in ssh http https
do
ufw allow $svc
done

Como resultado, los servicios SSH, HTTP y HTTPS se agregaron a la regla de firewall ufw.

Ahora ejecute habilitar el firewall ufw usando el siguiente comando.

ufw enable

Escribe 'y' y presiona Enter, y habrás habilitado el firewall ufw.

Paso 2:instalar y configurar PHP-FPm 7.3

Después de instalar el servidor web Nginx, instalaremos PHP-FPM en nuestro servidor Ubuntu 20.04.

De forma predeterminada, Ubuntu 20.04 viene con la versión más reciente de PHP/PHP-FPM 7.4. Pero por ahora, Magento solo funciona con PHP/PHP-FPM 7.3. Y en este paso, instalaremos PHP-FPM 7.3 desde el repositorio de PPA.

Antes de continuar, instale el paquete 'software-properties-common' y agregue el repositorio PPA para PHP 7.3 usando el siguiente comando.

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php

El 'repositorio add-apt' actualizará automáticamente todos los repositorios en el sistema.

Ahora instale los paquetes PHP-FPM 7.3 desde el repositorio de PPA usando el comando apt a continuación.

sudo apt install php7.3-fpm php7.3-common php7.3-curl php7.3-cli php7.3-mysql php7.3-gd php7.3-xml php7.3-json php7.3-intl php-pear php7.3-dev php7.3-common php7.3-mbstring php7.3-zip php7.3-soap php7.3-bcmath php7.3-opcache -y

Y la instalación de PHP-FPM 7.3 se ha completado.

Después de eso, vaya al directorio '/etc/php/7.3' y edite la configuración 'php.ini' para PHP-FPM.

cd /etc/php/7.3/
vim fpm/php.ini

Descomente y cambie la configuración como se muestra a continuación.

date.timezone = Asia/Singapore
memory_limit = 1G
max_execution_time = 1800
zlib.output_compression = On
cgi.fix_pathinfo = 0

opcache.enable=1
opcache.save_comments = 1

Guardar y cerrar.

A continuación, inicie el servicio PHP-FPM y agréguelo al inicio del sistema.

systemctl start php7.3-fpm
systemctl enable php7.3-fpm

El servicio PHP-FPM está funcionando, verifíquelo usando el siguiente comando.

ss -xa | grep php
systemctl status php7.3-fpm

Como resultado, PHP-FPM está funcionando en el servidor Ubuntu 20.04, se ejecuta en el archivo sock '/run/php/php7.3-fpm.sock'.

Paso 3:instalar y configurar el servidor MariaDB

En este paso, instalaremos el servidor de la base de datos MariaDB, configuraremos la contraseña raíz predeterminada para MariaDB y crearemos una nueva base de datos y un usuario para Magento.

Instale los paquetes del servidor MariaDB en Ubuntu 20.04 usando el comando apt a continuación.

sudo apt install mariadb-server

Una vez completada toda la instalación, inicie el servicio MariaDB y agréguelo al inicio del sistema.

systemctl start mariadb
systemctl enable mariadb

El servicio MariaDB está en funcionamiento.

A continuación, configuraremos la contraseña raíz de MariaDB utilizando la utilidad 'mysql_secure_installaltion'.

Ejecute el siguiente comando 'mysql_secure_installaltion'.

mysql_secure_installation

Escriba su contraseña segura para el usuario raíz de MariaDB y escriba 'Y' para toda la configuración.

Set a root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Como resultado, se configuró la contraseña raíz de MariaDB.

A continuación, crearemos una nueva base de datos y un nuevo usuario para la instalación de Magento.

Inicie sesión en el shell de MariaDB/MySQL usando el siguiente comando mysql.

mysql -u root -p

Ahora cree una nueva base de datos para nuestra instalación de Magento. Cree la base de datos 'magentodb' y el usuario 'magentouser' con la contraseña 'magentodbpass'.

Ejecute las consultas de MySQL a continuación.

create database magentodb;
create user [email protected]'localhost' identified by 'magentopassdb';
grant all privileges on magentodb.* to [email protected]'localhost';
flush privileges;

Ahora escriba 'salir' para cerrar sesión en el shell de MySQL.

Como resultado, se ha completado la nueva base de datos y usuario para la instalación de Magento.

Paso 4:Instalar Composer

Composer es un administrador de dependencias para PHP. es un administrador de paquetes a nivel de aplicación para PHP que le permite descargar dependencias y bibliotecas PHP adicionales a su proyecto PHP.

En este paso, instalaremos PHP Composer desde el repositorio de Ubuntu.

Instale Composer usando el comando apt a continuación.

sudo apt install composer -y

Una vez completada la instalación, verifique la versión del compositor a continuación.

composer --version

A continuación se muestra la respuesta que obtendrá.

Composer 1.10.1 2020-03-13 20:34:27

Como puede verse, Composer 1.10 se ha instalado en el servidor ubuntu 20.04.

Paso 5:descarga e instalación de Magento 2

En este paso, descargaremos e instalaremos Magento 2 y todos los paquetes de PHP necesarios mediante Composer.

Primero, vaya al directorio '/var/www/' y descargue el código fuente de Magento 2.3.5 CE (Community Edition) usando el comando wget como se muestra a continuación.

cd /var/www/
wget -q https://github.com/magento/magento2/archive/2.3.5.tar.gz

Una vez que todo esté completo, extraiga el código fuente de Magento y cambie el nombre del directorio extraído a directorio 'magento2'.

tar -xf 2.3.5.tar.gz
mv magento2-*/ magento2/

A continuación, vaya al directorio de instalación de Magento '/var/www/magento2' e instale todas las dependencias de paquetes de PHP para Magento usando el comando Composer como se muestra a continuación.

cd /var/www/magento2/
composer install

Una vez completada toda la instalación, fije la propiedad del directorio de instalación de Magento 2 al usuario 'www-data'.

chown -R www-data:www-data /var/www/magento2

Como resultado, se completó la instalación de Magento 2 y todas las dependencias de los paquetes.

Paso 6:generar SSL Letsencrypt

Para este tutorial, aseguraremos la instalación de Magento 2 utilizando SSL Letsencrypt. Y en este paso, generaremos el SSL Letsencrypt usando el comando certbot. Además, asegúrese de que su nombre de dominio se resuelva en la dirección IP del servidor.

Instale la herramienta certbot usando el comando apt a continuación.

sudo apt install certbot

Una vez completada la instalación, detenga el servicio Nginx.

systemctl stop nginx
certbot certonly --standalone --agree-tos --no-eff-email --email [email protected] -d magento.hakase-labs.io

Una vez que todo esté completo, obtendrá sus certificados SSL en el directorio '/etc/letsencrypt/live/magento.your-domain.com'.

Como resultado, se ha generado la instalación SSL Letsencrypt para Magento 2.

Paso 7:configurar Nginx Virtualhost para Magento 2

En este paso, agregaremos una nueva configuración de host virtual de Nginx para Magento 2.

Vaya al directorio '/etc/nginx/sites-available/' y cree una nueva configuración 'magento' usando el editor vim.

cd /etc/nginx/sites-available/
vim magento

Pegue la siguiente configuración en él.

upstream fastcgi_backend {
        server  unix:/run/php/php7.3-fpm.sock;
}

server {
    listen 80;
    listen [::]:80;
    server_name magento.hakase-labs.io;
    return 301 https://$server_name$request_uri;
}

server {

        listen 443 ssl http2;
        server_name magento.hakase-labs.io;

        ssl_certificate /etc/letsencrypt/live/magento.hakase-labs.io/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/magento.hakase-labs.io/privkey.pem;

        set $MAGE_ROOT /var/www/magento2;
        set $MAGE_MODE developer;
        include /var/www/magento2/nginx.conf.sample;
}

Guardar y cerrar.

A continuación, active el host virtual Magento Nginx y pruebe la configuración de nginx, y asegúrese de que no haya ningún error.

ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled/
nginx -t

Ahora reinicie el servicio Nginx usando el siguiente comando.

systemctl restart nginx

Como resultado, se ha creado y habilitado la configuración de host virtual de Nginx para Magento 2.

Paso 8:posinstalación de Magento

Abra su navegador web y escriba su nombre de dominio de instalación de Magento en la barra de direcciones.

https://magento.hakase-labs.io/

Ahora será redirigido a una conexión segura HTTPS y obtendrá la página de bienvenida y los Términos de servicio de Magento.

Haga clic en 'Aceptar y configurar Magento ' para continuar.

En la página "Verificación de preparación", asegúrese de que todos los requisitos estén en verde y haga clic en "Siguiente botón '.

Escriba los detalles de la base de datos MariaDB y el usuario que creamos anteriormente y haga clic en 'Siguiente '.

Para la 'Configuración web', cambie todo el protocolo HTTP a HTTPS y asegúrese de cambiar la 'Dirección de administración de Magento'.

Ahora haga clic en 'Opciones avanzadas' y marque todas las opciones de HTTPS, luego desmarque la opción 'Reescrituras de Apache' y haga clic en 'Siguiente ' de nuevo.

A continuación, en la configuración 'Personalizar su tienda' de Magento, déjela como predeterminada y haga clic en 'Siguiente botón '.

Ahora escriba los detalles del usuario administrador, el correo electrónico y la contraseña. Luego haga clic en Siguiente botón.

Haga clic en 'Instalar ahora' botón para instalar tu tienda Magento 2.

Ahora haz que toda la instalación no tenga ningún error.

Una vez finalizada toda la instalación, obtendrá 'Éxito ' página como se muestra a continuación.

Haga clic en 'Iniciar Magento Admin ' para iniciar sesión en su panel de administración de Magento.

Ahora escriba su usuario y contraseña de administrador de Magento, luego haga clic en 'Iniciar sesión' y obtendrá el panel de administración de Magento como se muestra a continuación.

Para la página de índice predeterminada de Magento, abra una nueva pestaña y escriba su nombre de dominio en la barra de direcciones.

A continuación se muestra la página de índice predeterminada de Magento.

Como resultado, se completó la instalación de Magento 2.

A continuación, regrese al shell de su servidor y configuraremos Magento Cron y eliminaremos el permiso para escribir de algún directorio de instalación de Magento.

Para configurar el cron de Magento, ejecute el siguiente comando.

cd /var/www/magento2
sudo -u www-data php bin/magento cron:install --force

El cron de Magento se ejecutará bajo el usuario 'www-data', verifíquelo con el siguiente comando.

crontab -u www-data -l

Como resultado, Magento Cron se ha agregado al sistema.

A continuación, debemos eliminar el permiso de escritura del directorio '/var/www/magento2/app/etc'.

Ejecute el comando chmod a continuación.

chmod u-w /var/www/magento2/app/etc

Y finalmente, la instalación de Magento 2 con servidor web Nginx, servidor MariaDB, PHP-FPM 7.3 en la última versión de Ubuntu 20.04 se completó con éxito.


Ubuntu
  1. Cómo instalar Nextcloud con Nginx y Lets Encrypt SSL en Ubuntu 20.04 LTS

  2. Cómo instalar Magento 2 con Nginx y Letsencrypt en Ubuntu 18.04

  3. Cómo instalar Magento con Nginx en Ubuntu 16.04

  4. Cómo instalar Shopware con NGINX y Lets encrypt en Ubuntu 18.04 LTS

  5. Instale Automad CMS con Nginx y Lets Encrypt SSL en Ubuntu 18.04

Cómo instalar ProjectSend con Apache y Lets Encrypt SSL en Ubuntu 20.04

Cómo instalar Moodle con Nginx y Lets Encrypt SSL en Ubuntu 20.04

Cómo instalar MediaWiki con Nginx y Lets Encrypt SSL en Ubuntu 20.04

Cómo instalar Gitea con Nginx y Lets Encrypt SSL gratis en Ubuntu 20.04

Cómo instalar Let's Encrypt SSL con Nginx en Ubuntu 16.04 LTS

Cómo instalar Nginx con Let's Encrypt SSL en Ubuntu 20.04 LTS