Cómo instalar Magento 2 en Localhost
Publicado: 2021-04-12Tabla 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 .

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

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

Haga clic en Siguiente .

Haga clic en Siguiente .

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

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.

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) ".

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 .

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:

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:

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 comoen_US
. -
admin-email
: cámbielo a su correo electrónico -
currency
: configure la moneda predeterminada para usar en su escaparate. Ingresephp 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/ |
magento24
con su directorio de instalación de Magento- Insertar filas manualmente:


- 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:


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..."

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.

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.

¡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



