GNU/Linux >> Tutoriales Linux >  >> Ubuntu

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

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 características 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

  • Un servidor con Ubuntu 20.04 con 4 GB de RAM.
  • Un nombre de dominio válido apuntado con su servidor.
  • Se ha configurado una contraseña raíz 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 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. Puede descargarlo desde la página de descarga oficial de Magento.

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 Apache para implementar los cambios:

systemctl restart apache2

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

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

Tipo 2 y pulsa Intro 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, 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 web de Magento:

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

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

Haga clic en Siguiente botón. Debería ver la pantalla de configuración de 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 Siguiente botón. Debería ver el asistente de configuración web de Magento:

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

Establezca su zona horaria, moneda e idioma preferidos y haga clic en Siguiente botón. Debería ver la pantalla de creación de usuario administrador:

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

Haga clic en 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:

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

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

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

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. Siéntase libre de preguntarme si tiene alguna pregunta.


Ubuntu
  1. Cómo proteger Nginx con Lets Encrypt en Ubuntu 20.04/18.04

  2. Instalación de WordPress en Ubuntu Linux con Apache y MySQL

  3. Asegure Nginx con Lets Encrypt en Ubuntu 18.04

  4. Asegure Nginx con Lets Encrypt en Ubuntu 16.04

  5. Cómo instalar Nextcloud con Nginx y Lets Encrypt SSL en Ubuntu 20.04 LTS

Cómo instalar Vanilla Forums con Apache y Lets Encrypt SSL en Ubuntu 20.04 LTS

Cómo instalar Shopware 6 con Nginx y Lets Encrypt SSL en Ubuntu 20.04

Cómo instalar ProjectSend con Apache y Lets Encrypt SSL en Ubuntu 20.04

Cómo instalar Moodle con Nginx y Lets Encrypt SSL en Ubuntu 20.04

Cómo instalar MediaWiki con Nginx y Lets Encrypt SSL en Ubuntu 20.04

Cómo instalar Gitea con Nginx y Lets Encrypt SSL gratis en Ubuntu 20.04