Androide

Cómo instalar magento 2 en ubuntu 18.04

How to install Magento 2 on Ubuntu 18 04 Complete Guide

How to install Magento 2 on Ubuntu 18 04 Complete Guide

Tabla de contenido:

Anonim

Magento es una plataforma líder de comercio electrónico de clase empresarial basada en tecnología de código abierto que combina potentes funciones con flexibilidad e interfaz fácil de usar.

Con características como Participar en experiencias de compra, Arquitectura modular flexible y Escalabilidad y rendimiento de grado empresarial Magento es una plataforma de elección para la mayoría de los comerciantes en línea.

En este tutorial, le mostraremos cómo instalar Magento 2.3 en una máquina Ubuntu 18.04. Usaremos Nginx como servidor web, el último PHP 7.2 y MySQL / MariaDB como servidor de base de datos.

Prerrequisitos

Asegúrese de cumplir con los siguientes requisitos previos antes de continuar con este tutorial:

  • Tenga un nombre de dominio que apunte a la IP de su servidor público. Usaremos example.com .Nginx se instala en su servidor Ubuntu siguiendo estas instrucciones. Se instaló un certificado SSL para su dominio para encriptar la información del usuario. Puede instalar un certificado SSL Let's Encrypt gratuito siguiendo estas instrucciones.

Para poder acceder al repositorio de código de Magento 2, deberá generar claves de autenticación. Si no tiene una cuenta de Magento Marketplace, puede crear una aquí. Una vez que cree la cuenta, consulte estas instrucciones sobre cómo generar un nuevo conjunto de claves de autenticación.

Actualice los paquetes del sistema a las últimas versiones e instale la utilidad de descompresión:

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

Crear una base de datos MySQL

Si tiene instalado MySQL o MariaDB en su servidor, puede omitir este paso; de lo contrario, puede instalar el paquete del servidor MySQL 5.7 desde los repositorios predeterminados de Ubuntu escribiendo:

sudo apt install mysql-server mysql-client Para nuevas instalaciones de MySQL, se recomienda ejecutar el comando mysql_secure_installation para mejorar la seguridad de su servidor MySQL.

Inicie sesión en el shell de MySQL con el siguiente comando:

sudo mysql

Desde el shell de MySQL, ejecute la siguiente instrucción SQL para crear una nueva base de datos llamada magento :

CREATE DATABASE magento;

Luego, cree una cuenta de usuario MySQL llamada magento y otorgue los permisos necesarios al usuario ejecutando el siguiente comando:

GRANT ALL ON magento.* TO 'magento'@'localhost' IDENTIFIED BY 'change-with-strong-password'; Asegúrese de cambiar change-with-strong-password con una contraseña segura.

Una vez hecho esto, salga de la consola MySQL escribiendo:

EXIT;

Crear usuario del sistema

Cree un nuevo usuario y grupo, que será el propietario del sistema de archivos Magento, por simplicidad magento al usuario magento :

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

Agregue el usuario www-data al grupo magento y cambie los permisos del directorio /opt/magento para que Nginx pueda acceder a la instalación de Magento:

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

Instalar y configurar PHP

PHP 7.2, que es la versión predeterminada de PHP en Ubuntu 18.04, es totalmente compatible y recomendado para Magento 2.3. Como usaremos Nginx como servidor web, también instalaremos el paquete PHP-FPM.

Ejecute el siguiente comando para instalar PHP y todos los módulos PHP necesarios:

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

El servicio PHP-FPM se iniciará automáticamente una vez que se complete el proceso de instalación, puede verificarlo imprimiendo el estado del servicio:

sudo systemctl status php7.2-fpm

La salida debe indicar que el servicio fpm está activo y ejecutándose.

● 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

Establezca las opciones PHP requeridas y recomendadas editando el archivo php.ini con 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

A continuación, debemos crear un grupo de FPM para el usuario de magento .

Abra su editor de texto y cree el siguiente archivo:

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 = /

Reinicie el servicio PHP-FPM para que los cambios surtan efecto:

systemctl restart php7.2-fpm

Verifique si el socket PHP se creó correctamente ejecutando el siguiente comando ls:

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

La salida debería verse así:

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

Instalando Composer

Composer es un administrador de dependencias para PHP y lo usaremos para descargar el núcleo de Magento e instalar todos los componentes necesarios de Magento.

Para instalar Composer globalmente, descargue el instalador de Composer con curl y mueva el archivo al directorio /usr/local/bin :

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

Verifique la instalación imprimiendo la versión del compositor:

composer --version

La salida debería verse así:

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

Instalando Magento

Hay varias formas de instalar Magento 2. Evite instalar Magento desde el repositorio de Github porque esa versión está destinada al desarrollo y no a las instalaciones de producción.

Al momento de escribir este artículo, la última versión estable de Magento es la versión 2.3.0 . En este tutorial, instalaremos Magento desde sus repositorios usando Composer.

Cambie al usuario magento escribiendo:

sudo su - magento

Inicie la instalación descargando archivos magento al directorio / opt / magento / public_html:

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

Se le pedirá que ingrese las claves de acceso, copie las claves de su cuenta de Magento marketplace y almacénelas en el archivo auth.json , por lo que más tarde, cuando actualice su instalación, no tendrá que volver a agregar las mismas claves.

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

El comando anterior buscará todos los paquetes PHP requeridos. El proceso puede demorar unos minutos y, si tiene éxito, el final de la salida debería tener el siguiente aspecto:

Writing lock file Generating autoload files

Una vez creado el proyecto, podemos comenzar la instalación de Magento. Podemos instalar Magento desde la línea de comandos o usando el Asistente de configuración web. En este tutorial, instalaremos Magento usando la línea de comando.

Utilizaremos las siguientes opciones para instalar la tienda Magento:

  • Las URL seguras de Base y Base están configuradas en https://example.com , cámbielas con su dominio. Administrador de Magento:
    • John Doe como nombre y apellido. [email protected] como correo electrónico. john como nombre de usuario y j0hnP4ssvv0rD como contraseña.
    Nombre de la base de datos magento , nombre de usuario magento , change-with-strong-password contraseña change-with-strong-password y el servidor de la base de datos está en el mismo host que el servidor web. en_US , inglés de EE. UU. como idioma predeterminado. USD dólares como moneda predeterminada. America/Chicago como zona horaria.
Puede encontrar todas las opciones de instalación aquí.

Cambie al directorio Magento ~/public_html :

cd ~/public_html

Ejecute el siguiente comando para iniciar la instalación:

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" No olvide cambiar la contraseña ( j0hnP4ssvv0rD ) a algo más seguro.

El proceso puede demorar unos minutos y, una vez completado, se le presentará un mensaje que contiene el URI en el panel de administración de Magento.

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

Creando el crontab de Magento

Magento usa trabajos cron para programar tareas como reindexación, notificaciones, mapas del sitio, correos electrónicos y más.

Para crear el crontab de Magento, ejecute el siguiente comando como usuario de magento :

php ~/public_html/bin/magento cron:install

Crontab has been generated and saved

Verifique que el crontab esté instalado escribiendo:

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

Configurando Nginx

Por ahora, ya debería tener Nginx con certificado SSL instalado en su servidor Ubuntu, si no, verifique los requisitos previos para este tutorial.

Vamos a incluir la configuración predeterminada de Nginx incluida con Magento.

Cambie a su usuario de sudo, abra su editor de texto y cree el siguiente archivo:

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; } No olvide reemplazar example.com con su dominio de Magento y establecer la ruta correcta a los archivos de certificado SSL. Los fragmentos utilizados en esta configuración se crean en esta guía.

Antes de reiniciar el servicio Nginx, realice una prueba para asegurarse de que no haya errores de sintaxis:

sudo nginx -t

Si no hay errores, la salida debería verse así:

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

Finalmente, reinicie el servicio Nginx escribiendo:

sudo systemctl restart nginx

Verificando la instalación

Abra su navegador, escriba su dominio y suponiendo que la instalación sea exitosa, aparecerá una pantalla similar a la siguiente:

Ahora puede ir al URI de administrador de Magento, iniciar sesión como usuario administrador y comenzar a personalizar su nueva instalación de Magento.

Conclusión

Felicitaciones, ha instalado con éxito Magento 2.3 en su servidor Ubuntu 18.04. Ahora puede comenzar a personalizar su tienda.

La documentación para desarrolladores de Magento 2.3 es un buen punto de partida para obtener más información sobre cómo administrar su instalación de Magento.

ubuntu magento mysql mariadb php nginx composer ecommerce