Magento · 9 min read · Nov 26, 2025

Instalación de la plataforma de comercio electrónico Magento con Apache2 y Let's Encrypt en Ubuntu 20.04

Magento es una aplicación web de comercio electrónico gratuita y de código abierto que te permite crear una tienda de comercio electrónico completamente funcional en minutos. Está escrita en PHP y combina potentes características con flexibilidad y una interfaz fácil de usar. Es una de las soluciones más populares para tiendas en línea autoalojadas debido a su simplicidad y potente panel de administración. Viene con un rico conjunto de características que incluyen, gestión del sitio, SEO, gestión de catálogos, navegación de productos y catálogos, gestión de pedidos, pago, promociones y herramientas de conversión, y mucho más.

En este tutorial, te mostraremos cómo instalar la plataforma de comercio electrónico Magento con Apache y SSL de Let’s Encrypt en Ubuntu 20.04.

Requisitos previos

  • Un servidor que ejecute Ubuntu 20.04 con 4 GB de RAM.
  • Un nombre de dominio válido apuntado a tu servidor.
  • Una contraseña de root configurada en tu servidor.

Instalar servidor LAMP

Magento se ejecuta en el servidor web, está escrito en PHP y utiliza MariaDB como base de datos. Por lo tanto, necesitarás instalar un stack LAMP en tu servidor.

Primero, instala el servidor web Apache y el servidor MariaDB con el siguiente comando:

apt-get install apache2 mariadb-server mariadb-client -y

La última versión de Magento solo es compatible con PHP 7.1.3+ y 7.2.x. Por lo tanto, necesitarás instalar las versiones de PHP compatibles con las extensiones requeridas en tu servidor.

Por defecto, Ubuntu 20.04 viene con la versión de PHP 7.4. Así que necesitarás agregar el PPA de Ondrej en tu sistema para poder instalar otras versiones de PHP.

Puedes agregar el PPA de PHP de Ondrej con el siguiente comando:

apt-get install software-properties-common -y  
add-apt-repository ppa:ondrej/php

A continuación, actualiza el repositorio e instala PHP con otras extensiones requeridas usando el siguiente comando:

apt-get install php7.2 libapache2-mod-php7.2 php7.2-bcmath php7.2-common php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-gd php7.2-xml php7.2-intl php7.2-mysql php7.2-cli php7.2-ldap php7.2-zip php7.2-curl wget curl unzip -y

Una vez que hayas terminado, puedes proceder al siguiente paso.

Configurar la base de datos de MariaDB

Por defecto, MariaDB no está asegurado. Por lo tanto, es una buena idea asegurar y establecer la contraseña de root de MariaDB. Puedes hacerlo con el siguiente comando:

mysql_secure_installation

Responde todas las preguntas como se muestra a continuación:

Enter current password for root (enter for none): 
Set root password? [Y/n] Y
New password: 
Re-enter new password: 
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Una vez que MariaDB esté asegurado, inicia sesión en el shell de MariaDB:

mysql -u root -p

Proporciona tu contraseña de root de MariaDB y luego crea una base de datos y un usuario para Magento:

MariaDB [(none)]> CREATE DATABASE magentodb;  
MariaDB [(none)]> CREATE USER 'magento'@'localhost' IDENTIFIED BY 'password';

A continuación, otorga todos los privilegios a la base de datos de Magento con el siguiente comando:

MariaDB [(none)]> GRANT ALL ON magentodb.* TO 'magento'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

A continuación, actualiza los privilegios y sal del shell de MariaDB usando el siguiente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;  
MariaDB [(none)]> EXIT;

Una vez que hayas terminado, puedes proceder al siguiente paso.

Descargar Magento

En el momento de escribir este tutorial, la última versión de Magento es 2.3.5. Puedes descargarla desde la página oficial de descargas de Magento.

Una vez descargado, extrae el archivo descargado en el directorio raíz de Apache con el siguiente comando:

mkdir /var/www/html/magento  
tar -xvjf magento-ce* -C /var/www/html/magento/

A continuación, otorga la propiedad y los permisos adecuados al directorio de magento:

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

Una vez que hayas terminado, puedes proceder al siguiente paso.

Configurar Apache para Magento

A continuación, crea un nuevo archivo de configuración de host virtual de Apache para servir el sitio web de Magento.

nano /etc/apache2/sites-available/magento.conf

Agrega las siguientes líneas:


     ServerAdmin [email protected]
     DocumentRoot /var/www/html/magento/
     ServerName magento.linuxbuz.com
     
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
     
     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

Guarda y cierra el archivo, luego habilita el host virtual de Magento y el módulo de reescritura de Apache con el siguiente comando:

a2ensite magento.conf  
a2enmod rewrite

Finalmente, reinicia el servicio de Apache para implementar los cambios:

systemctl restart apache2

En este punto, el servidor web Apache está configurado para servir Magento.

Asegurar Magento con SSL de Let’s Encrypt

Siempre es una buena idea asegurar tu sitio web con el SSL gratuito de Let’s Encrypt. Primero, instala el cliente Certbot en tu servidor para descargar y configurar el SSL de Let’s Encrypt para tu sitio web.

apt-get install certbot python3-certbot-apache -y

Una vez que Certbot esté instalado, ejecuta el siguiente comando para descargar e instalar el SSL de Let’s Encrypt para tu sitio web:

certbot --apache -d magento.linuxbuz.com

Se te pedirá que proporciones tu correo electrónico válido y aceptes los términos del servicio como se muestra a continuación:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for magento.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/magento-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/magento-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/magento-le-ssl.conf

A continuación, se te pedirá que elijas si deseas o no redirigir el tráfico HTTP a HTTPS:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Escribe 2 y presiona Enter para finalizar la instalación.

Redirecting vhost in /etc/apache2/sites-enabled/magento.conf to ssl vhost in /etc/apache2/sites-available/magento-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://magento.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=magento.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/magento.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/magento.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-08-11. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all*
   of your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Acceder al sitio web de Magento

En este punto, tu sitio web de Magento está asegurado con SSL de Let’s Encrypt.

Ahora, abre tu navegador web y escribe la URL https://magento.linuxbuz.com. Serás redirigido al asistente de instalación basado en web de Magento:

Configuración de Magento

Haz clic en el botón Aceptar y Configurar Magento. Deberías ver la pantalla de preparación de Magento:

Verificación de preparación

Haz clic en el botón Iniciar Verificación de Preparación. Una vez que se haya completado la verificación de preparación, deberías ver la siguiente pantalla:

Todos los requisitos previos están cumplidos

Haz clic en el botón Siguiente. Deberías ver la pantalla de configuración de la base de datos:

Configurar la base de datos

Proporciona el nombre de tu base de datos de Magento, el nombre de usuario de la base de datos, la contraseña y haz clic en el botón Siguiente. Deberías ver el asistente de configuración web de Magento:

configuración web

Proporciona la dirección de tu tienda y administrador de Magento, habilita HTTPS y haz clic en el botón Siguiente. Deberías ver la pantalla de personalización de la tienda:

Configuraciones personalizadas de la tienda

Establece tu zona horaria preferida, moneda, idioma y haz clic en el botón Siguiente. Deberías ver la pantalla de creación de usuario administrador:

Crear un usuario administrador

Proporciona tu nombre de usuario de administrador, correo electrónico, contraseña y haz clic en el botón Siguiente. Deberías ver la siguiente pantalla:

Instalar ahora

Haz clic en el botón Instalar Ahora para comenzar la instalación. Una vez que la instalación se haya completado con éxito, deberías ver la siguiente pantalla:

Instalación exitosa

Haz clic en la dirección de administración de Magento. Deberías ver la página de administración de Magento:

Inicio de sesión de Magento

Proporciona tu nombre de usuario de administrador de Magento, contraseña y haz clic en el botón Iniciar sesión. Deberías ver el panel de control de Magento en la siguiente pantalla:

Panel de control de Magento

También puedes acceder a la tienda de Magento utilizando la URL https://magento.linuxbuz.com. Deberías ver la siguiente pantalla:

Página de inicio de Magento

Conclusión

¡Felicidades! has instalado con éxito Magento con SSL de Let’s Encrypt en Ubuntu 20.04. Ahora puedes desplegar tu propia tienda en línea fácilmente. No dudes en preguntarme si tienes alguna pregunta.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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