Magento Installation · 10 min read · Sep 10, 2025

Cómo instalar la plataforma de comercio electrónico Magento en Ubuntu 24.04

Magento es una plataforma de comercio electrónico de código abierto y bien conocida escrita en PHP. Magento es una solución de comercio electrónico robusta y poderosa utilizada por más de 240,000 comerciantes en todo el mundo. Magento es una plataforma versátil y escalable para construir una tienda de comercio electrónico. Es adecuada para construir tiendas en línea pequeñas, medianas y grandes. Magento te permite crear y alojar tus tiendas en línea en tu servidor.

En esta guía, te guiaremos a través de la instalación de Magento eCommerce en el servidor Ubuntu 22.04.

Prerrequisitos

Para comenzar con esta guía, asegúrate de haber preparado lo siguiente:

  • Un Ubuntu 24.04 con al menos 4GB de memoria.
  • Un usuario no root con privilegios sudo.
  • Un nombre de dominio apuntado a una dirección IP del servidor.

Instalación de dependencias

Antes de saltar a la instalación, debes asegurarte de que las dependencias de Magento estén instaladas. En esta sección, instalarás paquetes de software para Magento, que incluyen OpenSearch, Nginx, servidor MySQL, PHP-FPM, Redis, Composer y Git.

Primero, instala los paquetes ‘ apt-transport-https ‘ y ‘ gnupg ‘ con lo siguiente:

sudo apt install apt-transport-https gnupg -y

Ejecuta el siguiente comando para agregar la clave GPG de OpenSearch y el repositorio para distribuciones basadas en Debian/Ubuntu.

curl -o- https://artifacts.opensearch.org/publickeys/opensearch.pgp | \  
sudo gpg --dearmor --batch --yes -o /usr/share/keyrings/opensearch-keyring
echo "deb [signed-by=/usr/share/keyrings/opensearch-keyring] https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable main" | \  
sudo tee /etc/apt/sources.list.d/opensearch-2.x.list

add repo

Ahora actualiza el índice de paquetes de Ubuntu e instala las dependencias con el siguiente comando apt. Con esto, instalarás los paquetes OpenSearch, Nginx, MySQL, PHP-FPM, Redis, Composer y Git.

sudo apt update && sudo apt install opensearch nginx mysql-server composer git redis-server php-fpm php-bcmath php-common php-mbstring php-xmlrpc php-soap php-gd php-xml php-intl php-mysql php-cli php-redis php-ldap php-zip php-curl php-imagick

Ingresa Y para confirmar la instalación.

Después de la instalación, verifica todos los servicios para asegurarte de que estén en funcionamiento.

Verifica el servicio Nginx con lo siguiente. Verás que el servicio Nginx está en funcionamiento y habilitado.

sudo systemctl is-enabled nginx  
sudo systemctl status nginx

check nginx

Ahora verifica el servidor MySQL con el comando a continuación. Puedes ver en la salida a continuación que el servidor MySQL está en funcionamiento.

sudo systemctl is-enabled mysql  
sudo systemctl status mysql

check mysql

Verifica el servicio PHP-FPM utilizando el siguiente comando. El PHP-FPM debería estar en funcionamiento y habilitado automáticamente.

sudo systemctl is-enabled php8.3-fpm  
sudo systemctl status php8.3-fpm

check php-fpm

Verifica el servidor Redis utilizando el comando a continuación. Deberías ver que Redis está en funcionamiento y habilitado.

sudo systemctl is-enabled redis-server  
sudo systemctl status redis-server

check redis

Por último, verifica la versión de Composer con lo siguiente. Deberías tener Composer v2.7 instalado en tu sistema.

sudo -u www-data composer -v

check composer

Configurando OpenSearch

Después de haber instalado las dependencias, necesitas configurar OpenSearch. Magento utiliza OpenSearch para la búsqueda avanzada de productos e indexación. En esta sección, aumentarás la memoria máxima de heap predeterminada y deshabilitarás el plugin de seguridad de OpenSearch (solo para un entorno de desarrollo).

Abre el archivo ‘ /etc/opensearch/jvm.options ‘ utilizando el siguiente editor nano.

sudo nano /etc/opensearch/jvm.options

Cambia la asignación de memoria predeterminada para OpenSearch según lo necesites. En este caso, utilizaremos 2GB para OpenSearch.

-Xms2g  
-Xmx2g

Guarda el archivo y sal.

Ahora abre la configuración predeterminada de OpenSearch ‘ /etc/opensearch/opensearch.yml ‘ con el editor nano.

sudo nano /etc/opensearch/opensearch.yml

Agrega la siguiente configuración para deshabilitar el plugin de seguridad en OpenSearch. Para demostración, puedes deshabilitar esto, pero para producción, debes habilitar el plugin de seguridad y configurar certificados TLS para tu instalación de OpenSearch.

plugins.security.disabled: true

Cuando termines, guarda y sal del archivo.

A continuación, ejecuta el comando a continuación para recargar el administrador de systemd. Después de haber instalado OpenSearch, debes recargar el administrador de systemd.

sudo systemctl daemon-reload

Ahora inicia, habilita y verifica el servicio Opensearch con el siguiente comando:

sudo systemctl enable --now opensearch  
sudo systemctl status opensearch

En la salida siguiente, puedes ver que OpenSearch está en funcionamiento y habilitado.

check opensearch servicer

Por último, verifica tu instalación de OpenSearch utilizando el siguiente comando ‘ curl ‘. Esto te mostrará información básica sobre tu instalación de OpenSearch.

curl -X GET http://localhost:9200

A continuación, puedes ver que OpenSearch 2.14 está en funcionamiento en el servidor Ubuntu.

test opensearch

Configurando PHP-FPM

En esta sección, modificarás la configuración predeterminada de PHP-FPM y habilitarás la extensión Opcache a través del archivo ‘php.ini’. Aumentarás el memory_limit predeterminado y ajustarás la opción date.timezone.

Abre la configuración de PHP-FPM ‘ /etc/php/8.3/fpm/php.ini’ con el siguiente editor nano.

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

Cambia la configuración predeterminada con lo siguiente. Además, ajusta el date.timezone y memory_limit según tu entorno de servidor actual.

date.timezone = Europe/Amsterdam

Cuando termines, guarda el archivo y sal.

Ahora ejecuta el comando a continuación para reiniciar el servicio PHP-FPM y aplicar tus cambios.

sudo systemctl restart php8.3-fpm

Configurando el servidor MySQL

Ahora que has configurado PHP-FPM, en la siguiente sección configurarás la instalación del servidor MySQL y crearás una nueva base de datos y usuario para Magento.

Asegura tu instalación del servidor MySQL ejecutando el comando a continuación.

sudo mysql_secure_installation

A continuación, se te preguntará sobre las configuraciones del servidor MySQL:

  • Ingresa y para habilitar el componente VALIDATE PASSWORD.
  • Ingresa 1 para establecer el nivel de fuerza de la contraseña en MEDIO.
  • Ingresa y cuando se te pida cambiar tu contraseña de root de MySQL.
  • Ingresa y para eliminar el usuario anónimo predeterminado.
  • Ingresa y para deshabilitar el inicio de sesión remoto para el usuario root de MySQL.
  • Ingresa y nuevamente para eliminar la base de datos de prueba predeterminada de MySQL.
  • Por último, ingresa y para recargar los privilegios de las tablas de MySQL y aplicar cambios.

Después de haber configurado MySQL, necesitas crear una nueva base de datos y usuario para Magento.

Inicia sesión en el servidor MySQL con el siguiente comando. Escribe tu contraseña de root de MySQL cuando se te pida.

sudo mysql -u root -p

Ahora ejecuta las siguientes consultas para crear una nueva base de datos y usuario para Magento. En este ejemplo, crearás un nuevo usuario y base de datos ‘ magento ‘ con la contraseña ‘ M4gentoPassw0rd__ ‘.

Asegúrate de cambiar los siguientes detalles con tu información. Además, la contraseña de MySQL para Magento debe tener un carácter especial, un número y una mayúscula.

CREATE DATABASE magento;  
CREATE USER 'magento'@'localhost' IDENTIFIED BY 'M4gentoPassw0rd__';  
GRANT ALL PRIVILEGES ON magento.* to 'magento'@'localhost';  
FLUSH PRIVILEGES;

create database and user

A continuación, ejecuta la siguiente consulta para verificar los privilegios para el usuario ‘ magento ‘. Asegúrate de que tu usuario pueda acceder a la base de datos ‘ magento ‘.

SHOW GRANTS FOR magento@localhost;

Por último, escribe quit para salir del servidor MySQL.

show mysql user priv

Instalando Magento a través de la línea de comandos

En esta sección, descargarás el código fuente de Magento e instalarás las dependencias de PHP utilizando Composer. Luego, instalarás Magento utilizando la línea de comandos. Por último, generarás un crontab para Magento.

Ve al directorio ‘ /var/www ‘ y descarga el código fuente de Magento utilizando el siguiente comando wget. Consulta la página de GitHub de Magento y obtén la URL de la última versión de Magento.

cd /var/www  
wget https://github.com/magento/magento2/archive/refs/tags/2.4.7.tar.gz

Después de que la descarga esté completa, extrae el código fuente de Magento y renombra el directorio extraído a ‘magento2’. Con esto, tu instalación de Magento debería estar ubicada en ‘/var/www/magento2’.

tar -xf 2.4.7.tar.gz  
mv magento2-* magento2

Ahora ejecuta el comando a continuación para crear directorios adicionales para Composer y cambiar la propiedad del directorio ‘ /var/www ‘ al usuario ‘ www-data ‘.

sudo mkdir -p /var/www/{.config,.cache}  
sudo chown -R www-data:www-data /var/www

Luego, ejecuta el siguiente comando para dar al usuario ‘ www-data ‘ permiso para leer, escribir y ejecutar dentro del directorio ‘ /var/www/magento2 ‘.

sudo chmod u+rwx /var/www/magento2

A continuación, ve al directorio ‘ /var/www/magento2 ‘ e instala las dependencias de PHP para Magento con el comando Composer a continuación. Esto asegurará que tus dependencias para Magento estén instaladas.

cd /var/www/magento2  
sudo -u www-data composer install

Después de instalar las dependencias, ejecuta el comando a continuación para permitir que el usuario ‘ www-data ‘ tenga permiso de ‘ rwx ‘ en los directorios ‘ generated ‘ y ‘ var ‘ dentro de la raíz web de Magento.

sudo chown -R www-data:www-data /var/www/magento2/var /var/www/magento2/generated  
sudo chmod u+rwx /var/www/magento2/var /var/www/magento2/generated  
sudo chmod g+rw /var/www/magento2/var /var/www/magento2/generated

Ahora ejecuta el siguiente comando para iniciar la instalación de Magento. Asegúrate de cambiar los detalles de la URL, la base de datos MySQL, el usuario administrador y la contraseña para tu instalación de Magento.

sudo -u www-data bin/magento setup:install \  
--base-url=http://howtoforge.local \  
--db-host=localhost \  
--db-name=magento2 \  
--db-user=magento \  
--db-password=M4gentoPassw0rd__ \  
--admin-firstname=bob \  
--admin-lastname=admin \  
--admin-email=[email protected] \  
--admin-user=bob \  
--admin-password=BobAdm1nP4ssword \  
--currency=USD \  
--timezone=Europe/Amsterdam \  
--use-rewrites=1 \  
--session-save=redis \  
--search-engine=opensearch \  
--opensearch-host=127.0.0.1 \  
--opensearch-port=9200 \  
--opensearch-enable-auth=0 \  
--opensearch-index-prefix=magento22 \  
--opensearch-timeout=30

A continuación, puedes ver que la instalación de Magento comienza:

install magento

Una vez completado, verás la salida ‘ Instalación de Magento completa.’ y la ruta de URL de administrador para tu instalación de Magento. Asegúrate de guardar la URL generada para la página de administración de Magento.

installation complete

Para finalizar la instalación de Magento, ejecuta el siguiente comando para generar crontab para Magento y ejecutar la indexación para Magento.

sudo -u www-data bin/magento cron:install  
sudo -u www-data bin/magento cron:run --group index

Puedes verificar la lista de crontab para el usuario ‘www-data’ con lo siguiente:

crontab -u www-data -l

Puedes ver a continuación que el crontab para Magento está generado.

Por último, ejecuta el comando a continuación para limpiar la caché de tu instalación de Magento. Con esto, has completado la instalación de Magento, a continuación, necesitas configurar el servidor web Nginx.

sudo -u www-data bin/magento cache:clean

Configurando el bloque del servidor Nginx

En este punto, tu instalación de Magento está terminada, ahora crearás un nuevo servidor Nginx para ejecutar tu instalación de Magento. Asegúrate de tener un nombre de dominio apuntado a la dirección IP de tu servidor.

Crea una nueva configuración de bloque de servidor Nginx ‘ /etc/nginx/sites-available/magento.conf ‘ con el editor nano.

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

Inserta la siguiente configuración y asegúrate de cambiar la opción server_name con tu nombre de dominio de Magento.

upstream fastcgi_backend {  
 server unix:/run/php/php8.3-fpm.sock;  
}  
  
server {  
 listen 80;  
 listen [::]:80;  
 server_name howtoforge.local;  
 set $MAGE_ROOT /var/www/magento2/;  
 include /var/www/magento2/nginx.conf.sample;  
 client_max_body_size 2M;  
  
 access_log /var/log/nginx/magento.access;  
 error_log /var/log/nginx/magento.error;  
}

Cuando termines, guarda y sal del archivo.

Ahora ejecuta el comando a continuación para activar el bloque del servidor ‘ magento.conf ‘ y verificar la sintaxis de Nginx. Asegúrate de obtener la salida ‘ la sintaxis es correcta - la prueba es exitosa ‘.

sudo ln -s /etc/nginx/sites-available/magento.conf /etc/nginx/sites-enabled/  
sudo nginx -t

Por último, reinicia el servicio Nginx con lo siguiente para aplicar tu nueva configuración de bloque de servidor. Después de que se ejecute el comando, tu instalación de Magento estará disponible.

sudo systemctl restart nginx

Asegurando Magento con HTTPS

Si estás ejecutando Magento en un dominio público, debes asegurarlo con HTTPS. En esta sección, asegurarás tu instalación de Magento con HTTPS a través de Certbot y Letsencrypt.

Instala Certbot y el plugin Certbot Nginx utilizando el siguiente comando. Ingresa Y para confirmar la instalación.

sudo apt install certbot python3-certbot-nginx

Después de que la instalación esté completa, ejecuta el comando a continuación para generar certificados SSL/TLS de Letsencrypt. Asegúrate de cambiar la dirección de correo electrónico y el nombre de dominio a continuación con tu información.

sudo certbot --nginx --agree-tos --no-eff-email --redirect --hsts --staple-ocsp --email [email protected] -d howtoforge.local

Tu instalación de Magento debería estar automáticamente asegurada con HTTPS cuando el proceso haya terminado. Tus certificados SSL/TLS están en el directorio ‘ /etc/letsencrypt/live/domain.com ‘.

Accediendo a Magento

Abre tu navegador web y visita tu nombre de dominio de Magento como https://howtoforge.local. Si tu instalación es exitosa, verás la página de índice predeterminada de Magento como la siguiente.

magneto home

Ahora, visita la URL de administración de Magento, que es https://howtoforge.local/admin_ze87mmj. Consulta el proceso de instalación.

Ingresa tu usuario y contraseña de administrador para Magento y presiona Iniciar sesión.

login magento

Si es exitoso, deberías obtener el panel de administración de Magento como el siguiente:

magento dashboard

Conclusión

¡Felicidades! Has completado la instalación de Magento eCommerce en el servidor Ubuntu 24.04. Tienes Magento instalado con el stack LEMP (Linux, Nginx, MySQL y PHP-FPM), OpenSearch y Redis. También has asegurado Magento con HTTPS a través de Certbot y Letsencrypt.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.