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

Configuración de Magento

Magento es una aplicación web de comercio electrónico gratuita y de código abierto que le permite crear una tienda de comercio electrónico completamente funcional en minutos. Está escrito en PHP y combina funciones potentes 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 amplio conjunto de funciones que incluyen administración de sitios, SEO, administración de catálogos, exploración de productos y catálogos, administración de pedidos, pago, promociones y herramientas de conversión, y mucho más.

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

requisitos previos

  • Un servidor con Ubuntu 20.04 con 4 GB de RAM.
  • Un nombre de dominio válido apuntado con su servidor.
  • Una contraseña de root está configurada en su 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, deberá instalar una pila LAMP en su servidor.

Primero, instale 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, deberá instalar las versiones de PHP compatibles con las extensiones requeridas en su servidor.

De forma predeterminada, Ubuntu 20.04 se envía con la versión 7.4 de PHP. Por lo tanto, deberá agregar el PPA de Ondrej en su sistema para poder instalar otras versiones de PHP.

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

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

Luego, actualice el repositorio e instale 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 haya terminado, puede continuar con el siguiente paso.

Configurar la base de datos MariaDB

De forma predeterminada, MariaDB no está protegido. Por lo tanto, es una buena idea asegurar y configurar la contraseña raíz de MariaDB. Puedes hacerlo con el siguiente comando:

mysql_secure_installation

Responda 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é protegida, inicie sesión en el shell de MariaDB:

mysql -u root -p

Proporcione su contraseña raíz de MariaDB y luego cree 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, otorgue 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, elimine los privilegios y salga del shell de MariaDB con el siguiente comando:

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

Una vez que haya terminado, puede continuar con el siguiente paso.

Descargar Magento

Al momento de escribir este tutorial, la última versión de Magento es 2.3.5. Puedes descargarlo desde el sitio oficial de Magento. página de descarga.

Una vez descargado, extraiga el archivo descargado al directorio raíz web de Apache con el siguiente comando:

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

A continuación, otorgue la propiedad y el permiso 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 haya terminado, puede continuar con el siguiente paso.

Configurar Apache para Magento

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

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

Agregue las siguientes líneas:

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

Guarde y cierre el archivo, luego habilite el host virtual de Magento y el módulo de reescritura de Apache con el siguiente comando:

a2ensite magento.conf
a2enmod rewrite

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

systemctl restart apache2

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

Asegure Magento con Let’s Encrypt SSL

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

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

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

certbot --apache -d magento.linuxbuz.com

Se le pedirá que proporcione su correo electrónico válido y acepte el término 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 le pedirá que elija si desea redirigir o no 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 golpear Ingresar para terminar 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, su sitio web de Magento está protegido con Let’s Encrypt SSL.

Ahora, abra su navegador web y escriba la URL https://magento.linuxbuz.com. Será redirigido al asistente de instalación basado en la web de Magento:

Configuración de Magento

Haga clic en el De acuerdo y Configuración Magento botón. Debería ver la pantalla de preparación de Magento:

Comprobación de preparación

Haga clic en el comienzo Preparación Controlar botón. Una vez que se haya completado la verificación de preparación, debería ver la siguiente pantalla:

Se cumplen todos los requisitos

Haga clic en el próximo botón. Debería ver la pantalla de configuración de la base de datos:

Configurar la base de datos

Proporcione el nombre de su base de datos de Magento, el nombre de usuario de la base de datos, la contraseña y haga clic en el próximo botón. Debería ver el asistente de configuración web de Magento:

configuración web

Proporcione su tienda Magento y la dirección de administración, habilite HTTPS y haga clic en el próximo botón. Debería ver la pantalla de personalización de la Tienda:

Configuración personalizada de la tienda

Establezca su zona horaria preferida, moneda, idioma y haga clic en el próximo botón. Debería ver la pantalla de creación de usuario administrador:

Crear un usuario administrador

Proporcione su nombre de usuario de administrador, correo electrónico, contraseña y haga clic en el próximo botón. Debería ver la siguiente pantalla:

Instalar ahora

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

instalación exitosa

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

Inicio de sesión

Proporcione su nombre de usuario y contraseña de administrador de Magento y haga clic en el Señal en botón. Debería ver el tablero de Magento en la siguiente pantalla:

Tablero Magento

También puede acceder a la tienda Magento usando la URL https://magento.linuxbuz.com. Debería ver la siguiente pantalla:

Página de inicio de Magento

Conclusión

¡Felicidades! ha instalado correctamente Magento con Let’s Encrypt SSL en Ubuntu 20.04. Ahora puede implementar su propia tienda en línea fácilmente. No dude en preguntarme si tiene alguna pregunta.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *