Cómo instalar Magento 2 en Windows WSL • _

Tutoriales mayo 31, 2021

En este post veremos cómo instalar la plataforma de comercio electrónico Magento en Windows 10 WSL (Subsistema de Windows para Linux) 2 con el servidor HTTP Nginx en Ubuntu 20.04 | 18.04.

Magento 2 es una de las plataformas de comercio electrónico más populares en uso hoy en día para ejecutar tiendas online de gran éxito. Es una plataforma de código abierto y funciona muy bien en sistemas Linux, incluido Ubuntu.

Si está ejecutando Windows y desea usar Magento, usar Windows con WSL 2 podría ser su mejor opción y los pasos a continuación le mostrarán cómo hacerlo.

Con WSL, puede instalar el sistema operativo Linux completo dentro de Windows. Así que obtenga Windows, habilite WSL, instale un sistema operativo Linux y ejecute Magento.

En 2017, Windows lanzó la versión original de WSL. WSL 2 es una mejora con respecto a la versión 1 y viene con un aumento del rendimiento, compatibilidad total con las llamadas del sistema y construido con una nueva arquitectura que ofrece características que hacen de WSL una forma asombrosa de ejecutar un entorno Linux en Windows.

Si tiene una máquina que cumple con los requisitos anteriores para ejecutar WSL 2, continúe a continuación.

Para comenzar a ejecutar Magento en Windows con WSL, sigue los pasos a continuación:

Habilitar WSL en Windows

Para habilitar WSL en Windows, querrá abrir Potencia Shell terminal como administrador. Haga clic en Inicio y luego comience a escribir PowerShell.

A continuación, haga clic con el botón derecho Windows PowerShell aplicación y elija ejecutarla como administrador.

Cuando se abra la consola, ejecute los siguientes comandos:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

Después de la instalación, debería recibir un mensaje de éxito similar a las líneas siguientes:

Deployment Image Servicing and Management tool
Version: 10.0.19041.844

Image Version: 10.0.19042.844

Enabling feature(s)
[==========================100.0%==========================]
The operation completed successfully.

Habilitar plataforma de máquina virtual

WSL 2 requiere que la plataforma de máquina virtual de Windows 10 esté habilitada. Esto no es Hyper-V. Para habilitar la función de la plataforma VM en Windows, ejecute los siguientes comandos desde la misma consola del administrador de PowerShell.

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Si está utilizando una versión de Windows 10 anterior a 2004, luego use los siguientes comandos:

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart

Cuando haya terminado de ejecutar los comandos anteriores, reinicie su ordenador para que se apliquen todos los cambios de configuración. Si no reinicia, es posible que no se reconozca el siguiente comando.

Después de reiniciar su ordenador, vuelva a iniciar sesión e inicie PowerShell como administrador. Luego, ejecute los siguientes comandos para configurar WSL 2 como la versión predeterminada de WSL.

wsl --set-default-version 2

Instalar Ubuntu en Windows 10

Ahora que WSL 2 está instalado y listo para usarse, abra el enlace a continuación para descargar e instalar una copia de Ubuntu 20.04 desde la tienda de Windows.

Obtenga Ubuntu 20.04 LTS – Microsoft Store

Ubuntu 20.04 LTS en Windows le permite usar Ubuntu Terminal y ejecutar utilidades de línea de comandos de Ubuntu, incluidas bash, ssh, git, apt y muchas más.

Haga clic en el botón Obtener e instálelo. Después de instalar Ubuntu, querrá tener la opción de iniciar Ubuntu desde el entorno WSL de Windows.

Después de iniciar Ubuntu, debería instalarse y pedirle que cree su cuenta.

Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: richard
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

Welcome to Ubuntu 20.04.2 LTS (GNU/Linux 4.4.0-19041-Microsoft x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Mon Apr 12 17:57:37 CDT 2021

  System load:    0.52      Processes:             7
  Usage of /home: unknown   Users logged in:       0
  Memory usage:   26%       IPv4 address for eth0: 10.0.2.15
  Swap usage:     0%

1 update can be installed immediately.
0 of these updates are security updates.
To see these additional updates run: apt list --upgradable

¡Deberias hacer eso!

Algunos comandos de solución de problemas para ejecutar cuando se encuentra con los problemas anteriores. Estos se ejecutan a continuación e intentan iniciar la imagen de Ubuntu nuevamente.

wsl --set-default-version 1
bcdedit /set hypervisorlaunchtype auto start

Ahora que el entorno WSL de Windows 10 está listo, continúe a continuación para instalar Nginx, MariaDB, PHP y configurar Magento para que se ejecute.

Instalar el servidor HTTP Nginx

Magento requiere un servidor web para funcionar, y Nginx es uno de los servidores web de código abierto más populares disponibles en la actualidad.

Para instalar Nginx en Ubuntu, ejecute los siguientes comandos:

sudo apt update
sudo apt install nginx

Después de instalar Nginx, los siguientes comandos se pueden utilizar para detener y comienzo Servicios Nginx.

sudo service nginx stop
sudo service nginx start

Para probar si Nginx está instalado y funcionando, abra su navegador web y busque la dirección IP o el nombre de host del servidor.

http: // localhost

Si ve la página anterior en el navegador, entonces Nginx está funcionando como se esperaba.

Instalar el servidor MariaDB

También necesitará un servidor de base de datos para ejecutar Magento. Un servidor de base de datos es donde se almacena el contenido de Magento.

Un verdadero servidor de base de datos de código abierto que puede usar con Magento es el servidor de base de datos MariaDB. Es rápido, seguro y el servidor predeterminado para casi todos los servidores Linux.

Para instalar MariaDB, ejecute los siguientes comandos:

sudo apt install mariadb-server mariadb-client

Después de instalar MariaDB, los siguientes comandos se pueden utilizar para detener, comienzo y permitir El servicio MariaDB se inicia siempre cuando se inicia el servidor.

sudo service mysql stop
sudo service mysql start

A continuación, ejecute los siguientes comandos para proteger el servidor de la base de datos con una contraseña de root si no se le solicitó durante la instalación.

sudo mysql_secure_installation

Cuando se le solicite, responda las preguntas siguientes siguiendo la guía.

  • Ingrese la contraseña actual para root (ingrese para ninguna): Simplemente presione el Ingresar
  • ¿Establecer contraseña de root? [Y/n]: Y
  • Nueva contraseña: Introducir la contraseña
  • Re-ingrese nueva contraseña: repite la contraseña
  • ¿Eliminar usuarios anónimos? [Y/n]: Y
  • ¿Deshabilitar el inicio de sesión de root de forma remota? [Y/n]: Y
  • ¿Eliminar la base de datos de prueba y acceder a ella? [Y/n]: Y
  • ¿Recargar tablas de privilegios ahora? [Y/n]: Y

Para verificar y validar que MariaDB esté instalado y funcionando, inicie sesión en la consola de la base de datos usando los siguientes comandos:

sudo mysql -u root -p

escriba la contraseña de root cuando se le solicite.

mariadb bienvenido

Si ve una pantalla similar a la que se muestra arriba, entonces el servidor se instaló correctamente.

Instalar PHP y módulos relacionados

Magento es una aplicación basada en PHP y se requiere PHP para ejecutarla. Ejecute los siguientes comandos para instalar PHP y los módulos relacionados para admitir Magento.

sudo apt install php-fpm php-common php-mysql php-gmp php-curl php-intl php-mbstring php-xmlrpc php-gd php-xml php-cli php-zip php-soap php-bcmath

Después de instalar PHP, vaya y configure algunos ajustes básicos que pueden ser necesarios para que Magento funcione correctamente.

Para este tutorial, se instaló PHP 7.4. Según su entorno, es posible que se instale otra versión de PHP. Así que verifica eso.

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

A continuación se muestran buenas configuraciones para configurar para la mayoría de los sitios web de Magento.

file_uploads = On
allow_url_fopen = On
short_open_tag = On
memory_limit = 256M
cgi.fix_pathinfo = 0
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = America/Chicago

Eso debería instalar PHP 7.4 con algunas configuraciones básicas para permitir que Magento funcione.

Después de configurar PHP, el siguiente comando se puede utilizar para detener e iniciar los servicios PHP7.4.

sudo service php7.4-fpm stop
sudo service php7.4-fpm start

Crear base de datos de Magento

Cuando todos los servidores estén instalados arriba, ahora es el momento de comenzar a configurar el entorno Magento. Primero, ejecute los pasos a continuación para crear una base de datos en blanco para que la use Magento.

Inicie sesión en la consola de la base de datos MariaDB usando los siguientes comandos:

sudo mysql -u root -p

Luego crea una base de datos llamada magentodb

CREATE DATABASE magentodb;

A continuación, cree un usuario de base de datos llamado magentodbuser y establecer contraseña

CREATE USER 'magentodbuser'@'localhost' IDENTIFIED BY 'new_password_here';

Luego, conceda al usuario acceso completo a la base de datos.

GRANT ALL ON magentodb.* TO 'magentodbuser'@'localhost' WITH GRANT OPTION;

Finalmente, guarde sus cambios y salga.

FLUSH PRIVILEGES;
EXIT;

Descarga Magento

En este punto, Magento está listo para descargarse e instalarse. Utilice los siguientes comandos para descargar la última versión de Magento.

Para obtener la última versión de Magento, es posible que desees utilizar el repositorio de GitHub … Instale Composer, Curl y otras dependencias para comenzar …

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

Cuando se le solicite, ingrese su claves de autenticación. Tu Llave pública es su nombre de usuario; tu llave privada es su contraseña…. ( https://marketplace.magento.com/customer/accessKeys/ )

Tendrá que registrarse para obtener una cuenta para crear la clave anterior.

Después de instalar curl y Composer arriba, cámbiese al directorio raíz de Nginx y descargue los paquetes de Magento desde GitHub… Reemplace siempre el número de rama con la última rama.

Para ver las versiones de Magento, vea esto página.

cd /var/www/
sudo composer create-project --repository=https://repo.magento.com/ magento/project-community-edition magento

Copie y pegue la clave de autenticación … (Su Llave pública es su nombre de usuario; tu llave privada es tu contraseña)

Output:
Authentication required (repo.magento.com):
Username: 234f2343435d190983j0ew8u3220
Password: 
Do you want to store credentials for repo.magento.com in /opt/magento/.config/composer/auth.json ? [Yn] Y

Después de descargar los paquetes de Magento, ejecute los siguientes comandos para instalar Magento con las siguientes opciones:

cd /var/www/magento
sudo bin/magento setup:install --base-url=http://example.com/ --db-host=localhost --db-name=magentodb --db-user=magentodbuser --db-password=db_user_password_here --admin-firstname=Super --admin-lastname=Admin --admin-email=admin@example.com --admin-user=admin --admin-password=admin123 --language=en_US --currency=USD --timezone=America/Chicago --use-rewrites=1
  • El software Magento se instala en el directorio raíz de localhost…. El administrador es administración; por lo tanto: la URL de su escaparate es http://exmaple.com
  • El servidor de la base de datos está en el mismo host local que el servidor web….
  • El nombre de la base de datos es magentodb, y el magentodbuser y la contraseña es db_user_password_here
  • Usa servidor reescribe
  • El administrador de Magento tiene las siguientes propiedades:
    • Nombre y apellido son: Usuario administrador
    • El nombre de usuario es: administración
  • y la contraseña es admin123
  • La dirección de correo electrónico es: admin@example.com
  • El idioma predeterminado es: (Inglés americano)
  • La moneda predeterminada es: Dólares estadounidenses
  • La zona horaria predeterminada es: Estados Unidos Central (América / Chicago)

Elasticsearch ahora está habilitado con paquetes de Magento. Si no lo está usando y tiene problemas después de ejecutar los comandos anteriores, use esta línea para deshabilitar el módulo Elasticsearch.

sudo php bin/magento module:disable {Magento_Elasticsearch,Magento_InventoryElasticsearch,Magento_Elasticsearch6,Magento_Elasticsearch7}

Después de eso, ejecute los siguientes comandos para configurar los permisos correctos para que funcione Magento 2.

Luego ejecute el comando a continuación para permitir www-datos usuario para poseer el directorio de Magento.

sudo chown -R www-data:www-data /var/www/magento/
sudo chmod -R 755 /var/www/magento/

Configurar Nginx VirtualHost

A continuación se muestra donde configura el archivo Nginx VirtualHost para el sitio de Magento que está creando. Este archivo define cómo se manejan y procesan las solicitudes de los clientes.

Ejecute los siguientes comandos para crear un nuevo archivo VirtualHost llamado Magento en el / etc / nginx / sites-available / directorio.

sudo nano /etc/nginx/sites-available/magento

A continuación se muestra una muy buena configuración para la mayoría de los sitios de Magento en el servidor Nginx. Esta configuración debería funcionar muy bien.

Copie el contenido a continuación y guárdelo en el archivo creado anteriormente.

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

server {
    listen 80;
    listen [::]:80;

    server_name  example.com www.example.com;
    index  index.php;

    set $MAGE_ROOT /var/www/magento;
    set $MAGE_MODE production;

    access_log /var/log/nginx/example.com-access.log;
    error_log /var/log/nginx/example.com-error.log;

    include /var/www/magento/nginx.conf.sample;
}

Guarda el archivo y cierra.

Después de guardar el archivo anterior, ejecute los siguientes comandos para habilitar el nuevo sitio, luego reinicie el servidor Nginx.

sudo ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled/
sudo service nginx restart

En esta etapa, Magento está listo y se puede iniciar yendo a la IP o al nombre de host del servidor.

https://example.com

Eso debería abrir la página de inicio de Magento.

Inicie sesión con la cuenta de arriba y listo.

¡Eso es!

Conclusión:

En este tutorial hemos visto cómo instalar Magento en Windows 10 con Ubuntu. Si encuentra algún error arriba, utilice el formulario de comentarios a continuación para informar.

También te puede gustar la publicación a continuación: