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 *