Cómo instalar Magento 2 en Localhost

Publicado: 2021-04-12

Tabla de contenido

Actualizado el 13 de abril de 2021 : los usuarios pueden encontrar un error 404 Not Found al intentar instalar Magento 2.4.2. Siga la solución sugerida en el artículo para obtener el mejor resultado.

Ha pasado bastante tiempo desde que Magento presentó su versión 2.0. Con una interfaz de usuario más amigable y un rendimiento mejorado, es probable que muchos usuarios existentes de Magento 1 se cambien a Magento 2 tarde o temprano. Siguiendo la tendencia, SimiCart también lanzó la aplicación móvil Magento 2 en diciembre de 2016.

Hoy, le mostraremos cómo instalar Magento 2.4 localmente en Windows usando el servidor XAMPP. Este tutorial está dirigido a usuarios actuales de Magento 2 y también a usuarios que son completamente nuevos en Magento. Ahora, ¡comencemos!

Parte 1: Instalar y configurar XAMPP

Paso 1 : Descarga XAMPP

Enlace de descarga: https://www.apachefriends.org/download.html

Recomendamos instalar XAMPP con PHP versión 7.4.x, que es recomendado por Magento para M2.4. También según Magento, puede instalar Magento 2.4 con PHP 7.3, pero no está probado ni recomendado.

Paso 2 : Instalar XAMPP

Después de descargar XAMPP, haga doble clic en el archivo para instalarlo en su computadora.

Haga clic en Siguiente .

configuración de xampp paso 1

Deje la selección predeterminada como en la imagen. Haga clic en Siguiente .

configuración de xampp paso 2

Elija su carpeta de instalación. La ubicación predeterminada es C:\xampp . Después de eso, haga clic en Siguiente .

configuración de xampp paso 3

Haga clic en Siguiente .

configuración de xampp paso 4

Haga clic en Siguiente .

configuración de xampp paso 5

El programa de instalación ahora instalará xampp en su computadora. Por favor espera un momento.

Instalación de configuración de xampp

Una vez finalizada la configuración, verá la opción "¿Desea iniciar el Panel de control ahora?". Mantenlo seleccionado. Haga clic en Finalizar para salir de la configuración e ingresar al Panel de control de XAMPP.

finalización de la configuración de xampp

Paso 3 : Configurar XAMPP

En el Panel de control de XAMPP, haga clic en el botón Configurar en la fila "Apache" y haga clic en " PHP (php.ini) ".

configurar php.ini


En el archivo php.ini , busque estas filas y elimínelas ; antes de cada fila:

 ;extensión=intl
;extensión=jabón
;extensión=enchufes
;extensión=sodio
;extensión=xsl

Expanda memory_limit a 4G:

 límite_memoria=4G

Una vez que haya terminado, guarde y cierre el archivo. Luego, haga clic en el botón Inicio en 2 filas de Apache y MySQL para iniciarlos. No salgas de XAMPP después de este paso, solo déjalo correr.

Paso 4 : configurar el archivo de hosts

Abra C:\Windows\System32\drivers\etc\hosts . Agregue la siguiente línea a la última fila:

 127.0.0.1www.localhost.com

Paso 5 : Crear una base de datos

Navegue por la URL http://localhost/phpmyadmin/ para acceder a la página de phpMyAdmin. Ingrese un nombre de base de datos (“Magento2”, por ejemplo) y haga clic en Crear .

phpmyadmin

Tome nota del nombre de su base de datos, ya que querrá instalar Magento en ella más adelante (usando el usuario root ).

Parte 2: Instalar Elasticsearch

A partir de la versión 2.4, Magento requiere que Elasticsearch sea el motor de búsqueda del catálogo.

Descargue Elasticsearch 7.6.0: https://www.elastic.co/downloads/past-releases/elasticsearch-7-6-0 (Magento 2.4.x se prueba solo con Elasticsearch 7.6.x. Puede usar otros 7.x versiones a su discreción, pero recomendamos usar la versión probada de Elasticsearch).

Extraiga el archivo .zip que acaba de descargar. En una ventana de terminal, cd al directorio extraído y ejecute este comando:

 .\bin\elasticsearch.bat

Cuando se complete la instalación, puede verificar si Elasticsearch está correctamente instalado en http://localhost:9200 , lo que debería darle algo como esto:

 {
   "nombre": "Cp8oag6",
   "cluster_name": "búsqueda elástica",
   "cluster_uuid": "AT69_T_DTp-1qgIJlatQqA",
   "versión" : {
     "número": "7.6.0",
     "build_flavor": "predeterminado",
     "tipo_construcción": "alquitrán",
     "build_hash": "f27399d",
     "build_date": "2016-03-30T09:51:41.449Z",
     "build_snapshot": falso,
     "lucene_version": "8.7.0",
     "minimum_wire_compatibility_version": "1.2.3",
     "minimum_index_compatibility_version": "1.2.3"
   },
   "tagline": "Ya sabes, para la búsqueda"
 }

Parte 3: Descarga Magento usando Composer

Como algunos de los complementos de Magento 2 no funcionan con composer 2.x, querrá usar una versión estable de composer 1.x para descargar Magento. La mejor manera de hacerlo sería instalando Composer-Setup.exe.

Esta configuración instalará la última versión de composer y configurará las variables de entorno PATH para que pueda llamar cómodamente a composer desde cualquier directorio. Una vez que haya terminado de instalar Composer, es necesario que desactualice a una versión anterior 1.x utilizando composer self-update --1 para garantizar la mejor compatibilidad.

A continuación, cd a C:\xampp\htdocs y ejecute el siguiente comando:

 composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition=2.4.2 <nombre-del-directorio-de-instalación>

El compositor debería tardar un tiempo en descargar e instalar todos los módulos necesarios. Cuando todo esté terminado, esto es lo que deberías ver:

descargar compositor Magento

Parte 4: Instale Magento usando la línea de comando

A partir de Magento 2.4, la interfaz de línea de comandos es el método de instalación predeterminado (y único) para Magento.

Durante la instalación de Magento 2.4, puede encontrar algunos errores. Para evitar tales errores, primero debe realizar algunos ajustes en los archivos de Magento.

Para evitar este error:

error gd2

Busque la función validateURLScheme en \vendor\magento\framework\Image\Adapter\Gd2.php y reemplácela con:

 función privada validarURLScheme (cadena $ nombre de archivo): bool
   {
       $esquemas_permitidos = ['ftp', 'ftps', 'http', 'https'];
       $url = parse_url($nombre de archivo);
       if ($url && isset($url['esquema']) && !in_array($url['esquema'], $esquemas_permitidos) && !file_exists($nombredearchivo)) {
           falso retorno;
       }
       devolver verdadero;
 }

A continuación, haga un cd en su directorio de Magento y ejecute este comando:

 configuración de php bin/magento: instalar --base-url=http://localhost/magento24/ --db-host=localhost --db-name=sunombre de base de datos --db-user=su usuario de base de datos --db-password=su contraseña de base de datos - -admin-firstname=admin --admin-lastname=admin [email protected] --admin-user=admin --admin-password=admin123 --language=en_US --currency=USD -- timezone=América/Chicago --use-rewrites=1 --backend-frontname=admin --search-engine=elasticsearch7 --elasticsearch-host=localhost --elasticsearch-port=9200 

Descripciones :

  • base-url : la ruta en la que se encuentra su directorio de Magento, que sigue el siguiente formato: http[s]://<host o ip>/<su directorio de instalación de Magento>/
  • db-host : el nombre de host o la dirección IP de su host
  • db-name : cámbielo por el nombre de la base de datos de Magento que acaba de crear
  • db-user : un usuario de base de datos con permiso completo. Usaremos el usuario raíz predeterminado.
  • db-password : la contraseña de su usuario de base de datos. Déjelo en blanco si está utilizando un usuario de base de datos 'raíz'
  • admin-firstname : su primer nombre
  • admin-lastname : su apellido
  • admin-email : su dirección de correo electrónico
  • admin-user : el nombre de usuario que utilizará para iniciar sesión en el Panel de administración
  • admin-password : la contraseña que utilizará para iniciar sesión en el Panel de administración
  • language : el idioma que usará en su Panel de administración y su escaparate. Utilice un código de idioma como en_US .
  • admin-email : cámbielo a su correo electrónico
  • currency : configure la moneda predeterminada para usar en su escaparate. Ingrese php bin/magento info:currency:list para obtener una lista de monedas admitidas junto con sus códigos
  • timezone : cambia a la zona horaria en la que te encuentras. Consulta la lista de zonas horarias admitidas para tener una mejor idea de qué rellenar.
  • url-rewrites : establecido en 1 para habilitar las reescrituras del servidor web. Esto ayudará con la clasificación de su sitio.
  • backend-frontname : establezca su URL de administrador. Omitir este parámetro dará como resultado una URL generada aleatoriamente para su ruta de administración de Magento (por ejemplo, admin_jkhgdfq)
  • search-engine : configure la versión de Elasticsearch que desea usar para esta instalación de Magento. El valor predeterminado es elasticsearch7
  • elasticsearch-host : el nombre de host o la dirección IP donde se ejecuta Elasticsearch. El valor predeterminado es localhost
  • elasticsearch-port : el número de puerto que está escuchando Elasticsearch. El valor predeterminado es 9200

Para obtener más opciones configurables, consulte la guía oficial de Magento.

Después de una instalación exitosa, verá este mensaje:

 Comprobación de permisos de archivos posteriores a la instalación...
 Por seguridad, elimine los permisos de escritura de estos directorios: 'C:/xampp/htdocs/magento24/app/etc'
 [Progreso: 1270 / 1270]
 [ÉXITO]: Instalación de Magento completa.
 [ÉXITO]: URI del panel de administración: /admin
Nada que importar.

Después de esto, tendremos que hacer algunos ajustes adicionales para que Magento funcione con Windows, así:

En app\etc\di.xml , reemplace Symlink con Copy

 <virtualType name="developerMaterialization" type="Magento\Framework\App\View\Asset\MaterializationStrategy\Factory">
    <argumentos>
        <argumento name="strategiesList" xsi:type="array">
            <item name="view_preprocessed" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink</item>
            <item name="default" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Copy</item>
        </argumento>
    </argumentos>
</tipo virtual>

En vendor\magento\framework\View\Element\Template\File\Validator.php , reemplace la línea 138 con:

 $realPath = str_replace('\\', '/',$this->fileDriver->getRealPath($ruta));

Finalmente, ejecute estos comandos:

 php bin/magento indexador: reindexar
Configuración de php bin/magento: actualizar
configuración de php bin/magento: contenido estático: implementar -f
php bin/caché de magento: vaciar

Ajustes adicionales para Magento 2.4.2 y superior

A partir de Magento 2.4.2, ahora es obligatorio entregar contenido desde la carpeta /pub/ para garantizar una mejor seguridad. Esta es la razón por la que se requieren ajustes adicionales para que su versión Magento 2.4.2 funcione correctamente.

Paso 1 : copie los archivos index.php y .htaccess de /pub/ a su carpeta raíz.

Paso 2 : busque la siguiente línea en index.php (en la carpeta raíz):

 requiere __DIR__. '/../app/bootstrap.php';

y reemplazarlo con

 requiere __DIR__. '/aplicación/bootstrap.php';

Paso 3 : Vaya a la base de datos Magento 2 que creó recientemente (en http://localhost/phpmyadmin ) y busque la tabla core_config_data usando esta consulta SQL:

 SELECCIONE * DESDE core_config_data

En esta tabla, querrá insertar estas filas en:

Sendero Valor
web/seguro/base_static_url http://localhost/magento24/pub/static/
web/no seguro/base_static_url http://localhost/magento24/pub/static/
web/seguro/base_media_url http://localhost/magento24/pub/media/
web/no seguro/base_media_url http://localhost/magento24/pub/media/
Reemplace magento24 con su directorio de instalación de Magento
  • Insertar filas manualmente:
Insertar nueva tabla de base de datos
Ruta y valor de la nueva fila de la base de datos localhost
  • Insertar filas con consultas SQL:
 INSERTAR EN `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) VALORES (NULL, 'default', '0', 'web/secure/base_static_url', 'http://localhost/magento24/pub/static/', current_timestamp());
INSERTAR EN `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) VALORES (NULL, 'default', '0', 'web/unsecure/base_static_url', 'http://localhost/magento24/pub/static/', current_timestamp());
INSERTAR EN `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) VALORES (NULL, 'default', '0', 'web/secure/base_media_url', 'http://localhost/magento24/pub/media/', current_timestamp());
INSERTAR EN `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) VALORES (NULL, 'default', '0', 'web/unsecure/base_media_url', 'http://localhost/magento24/pub/media/', current_timestamp());

Sus filas recién agregadas deberían verse así:

Ahora borre el caché usando:

 php bin/caché de magento: vaciar

Y actualice su interfaz. Ahora debería poder ver una página en blanco como esta cuando acceda a su interfaz a través de la base-url configurada:

Magento 2 sin datos de muestra

Ahora puede acceder a su interfaz de Magento con su base-url configurada. Por ejemplo, con nuestra instalación de Magento 2.4.2, accedemos a nuestro nuevo sitio de Magento en http://localhost/magento24/ y a nuestro backend en http://localhost/magento24/admin .

*Nota: si se encuentra con este error al intentar iniciar sesión en su cuenta de administrador de Magento: "Necesita configurar la autorización de dos factores..."

Error de autenticación de dos factores en el backend de Magento

Intenta ejecutar este comando:

 módulo php bin/magento: deshabilitar Magento_TwoFactorAuth

Parte 5: importar datos de muestra (opcional)

Ejecute este comando para importar datos de muestra:

 php bin/magento muestra datos: implementar

Cuando se le solicite, ingrese sus claves de autenticación de Magento. Las claves públicas y privadas se crean y configuran en su cuenta de Magento Marketplace.

Claves de acceso de Magento

Una vez finalizada la importación de datos, ejecute:

 Configuración de php bin/magento: actualizar
configuración de php bin/magento: contenido estático: implementar -f
php bin/caché de magento: limpiar

Ahora, actualice la interfaz y debería poder ver la tienda Magento predeterminada con el tema Luma y datos de muestra.

Tema Magento 2 Luma

¡Eso es todo! Ha terminado de instalar Magento 2 en su host local. Ahora puede acceder a su frontend/backend de Magento 2 y comenzar a explorar las características de Magento 2. ¡Esperamos que encuentre útil esta publicación!


Otras lecturas

Los 10 mejores temas y plantillas gratuitos de Magento 2 en 2022
Los 10 mejores temas y plantillas gratuitos de Magento 2 en 2022
Sidra de pera 3 de enero de 2022 8 minutos de lectura
Los 12 mejores proveedores de alojamiento de Magento 2
Los 12 mejores proveedores de alojamiento de Magento 2
heiley nguyen 4 de junio de 2021 9 minutos de lectura
Los 10 mejores sitios web de Magento 2
Los 10 mejores sitios web de Magento 2
Sidra de pera 1 de septiembre de 2020 9 minutos de lectura
Los 10 mejores ejemplos de Magento PWA
Los 10 mejores ejemplos de Magento PWA
lucas vu 25 de diciembre de 2020 11 minutos de lectura