Cómo instalar Magento en Debian 11

Instalar MySQL

Magento es una aplicaci√≥n de comercio electr√≥nico gratuita y de c√≥digo abierto que le permite alojar su tienda en l√≠nea. Est√° escrito en PHP y utiliza el framework Zend. Es vers√°til y escalable, lo que lo hace adecuado para tiendas peque√Īas, medianas y grandes. Le permite alojar un sistema de carrito de compras en l√≠nea completamente funcional sin ning√ļn conocimiento de programaci√≥n. Es utilizado por miles de tiendas en l√≠nea debido a su simplicidad y facilidad de uso.

En este tutorial, le mostraré cómo instalar Magento2 en Debian 11.

Requisitos previos

  • Un servidor que ejecuta Debian 11.
  • Un nombre de dominio v√°lido apuntado con la IP de su servidor.
  • Una contrase√Īa de root est√° configurada en el servidor.

Instale Apache, PHP y otras extensiones requeridas

Primero, deber√° instalar Apache, PHP y otras extensiones de PHP necesarias en su servidor. Puede instalarlos todos usando el siguiente comando:

apt-get install apache2 php libapache2-mod-php php-common php-gmp php-curl php-soap php-bcmath php-intl php-mbstring php-xmlrpc php-mysql php-gd php-xml php-cli php-zip -y

Una vez que todos los paquetes estén instalados, edite el archivo php.ini y cambie algunas configuraciones predeterminadas:

nano /etc/php/7.4/apache2/php.ini

Cambie los siguientes valores:

file_uploads = On
allow_url_fopen = On
short_open_tag = On
memory_limit = 512M
upload_max_filesize = 128M
max_execution_time = 3600

Guarde y cierre el archivo, luego reinicie el servicio Apache para aplicar los cambios:

systemctl restart apache2

Instalar y configurar el servidor MySQL

Magento2 usa MariaDB o MySQL como base de datos. De forma predeterminada, la versión 10.5 de MariaDB se incluye en el repositorio predeterminado de Debian 11, que no es compatible con Magento2. Por lo tanto, deberá instalar MySQL Server 8 en su servidor.

Primero, descargue el archivo del paquete MySQL con el siguiente comando:

wget https://repo.mysql.com//mysql-apt-config_0.8.18-1_all.deb

A continuación, instálalo usando el siguiente comando:

apt install ./mysql-apt-config_0.8.18-1_all.deb -y

Se le pedirá que seleccione la versión de MySQL que desea instalar:

Instalar MySQL

Seleccione MySQL Server 8 y haga clic en el OK botón.

A continuación, actualice el repositorio e instale el servidor MySQL 8 con el siguiente comando:

apt-get update -y
apt-get install mysql-server -y

Una vez que MySQL esté instalado, conéctese a MySQL con el siguiente comando:

mysql -u root -p

Una vez que haya iniciado sesión, cree una base de datos y un usuario para Magento2 con el siguiente comando:

mysql> CREATE DATABASE magento2;
mysql> CREATE USER 'magento2'@'localhost' IDENTIFIED BY 'password';

A continuación, otorgue todos los privilegios a la base de datos de Magento2:

mysql> GRANT ALL PRIVILEGES ON magento2.* TO 'magento2'@'localhost';

A continuación, elimine los privilegios y salga de MySQL con el siguiente comando:

mysql> FLUSH PRIVILEGES;
mysql> EXIT;

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

Instalar compositor

Composer es un administrador de dependencias para PHP que se utiliza para administrar las dependencias de PHP requeridas para su proyecto.

Primero, instale la herramienta de línea de comandos curl con el siguiente comando:

apt-get install curl -y

A continuación, instale Composer usando el siguiente comando:

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

Obtendr√° el siguiente resultado:

All settings correct for using Composer
Downloading...

Composer (version 2.1.12) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer

A continuación, verifique la versión de Composer con el siguiente comando:

composer --version

Debería ver el siguiente resultado:

Composer version 2.1.12 2021-11-09 16:02:04

Instalar Magento2

A continuaci√≥n, cambie el directorio al directorio ra√≠z web de Apache y descargue la √ļltima versi√≥n de Magento2 con el siguiente comando:

cd /var/www/html
composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition magento2

Se le pedir√° que proporcione el nombre de usuario y la contrase√Īa de su cuenta de Magento como se muestra a continuaci√≥n:

Creating a "magento/project-community-edition" project at "./magento2"
Warning from repo.magento.com: You haven't provided your Magento authentication keys. For instructions, visit https://devdocs.magento.com/guides/v2.3/install-gde/prereq/connect-auth.html
    Authentication required (repo.magento.com):
      Username: a6b333ad41629bac913eaabb9b8e053c
      Password: 

Use la clave p√ļblica como su nombre de usuario y la clave privada como su contrase√Īa, luego presione la tecla Enter. Obtendr√° el siguiente resultado:

Do you want to store credentials for repo.magento.com in /root/.config/composer/auth.json ? [Yn] Y
Installing magento/project-community-edition (2.4.3-p1)
  - Downloading magento/project-community-edition (2.4.3-p1)
  - Installing magento/project-community-edition (2.4.3-p1): Extracting archive
Created project in /var/www/html/magento2
Loading composer repositories with package information

A continuación, establezca los permisos adecuados y la propiedad de Magento2 y otros directorios:

chown -R www-data:www-data /var/www/html/magento2/
cd /var/www/html/magento2
find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
chown -R :www-data . 
chmod u+x bin/magento

A continuación, deshabilite el módulo Elasticsearch con el siguiente comando:

php bin/magento module:disable {Magento_Elasticsearch,Magento_InventoryElasticsearch,Magento_Elasticsearch6,Magento_Elasticsearch7}

Obtendr√° el siguiente resultado:

The following modules have been disabled:
- Magento_Elasticsearch
- Magento_Elasticsearch6
- Magento_InventoryElasticsearch
- Magento_Elasticsearch7

Cache cleared successfully.
Generated classes cleared successfully. Please run the 'setup:di:compile' command to generate classes.
Info: Some modules might require static view files to be cleared. To do this, run 'module:disable' with the --clear-static-content option to clear them.

A continuación, instale Magento2 con el siguiente comando:

bin/magento setup:install --base-url=http://magento.example.com --db-host=localhost --db-name=magento2 --db-user=magento2 --db-password=password --admin-firstname=admin --admin-lastname=admin [email protected] --admin-user=admin [email protected] --language=en_US --currency=USD --timezone=America/Chicago --use-rewrites=1

Una vez que se haya instalado Magento2, debería ver el siguiente resultado:

Module 'Vertex_AddressValidation':
[Progress: 1363 / 1370]
Module 'Yotpo_Yotpo':
[Progress: 1364 / 1370]
Enabling caches:
Current status:
layout: 1
block_html: 1
full_page: 1
[Progress: 1365 / 1370]
Installing admin user...
[Progress: 1366 / 1370]
Caches clearing:
Cache cleared successfully
[Progress: 1367 / 1370]
Disabling Maintenance Mode:
[Progress: 1368 / 1370]
Post installation file permissions check...
For security, remove write permissions from these directories: '/var/www/html/magento2/app/etc'
[Progress: 1369 / 1370]
Write installation date...
[Progress: 1370 / 1370]
[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_fgadpx
Nothing to import.

Nota: Recuerde el URI de administrador de Magento2 del resultado anterior. Deber√° usarlo para acceder a la interfaz web de Magento.

Luego, deshabilite la autenticación de dos factores de Magento2, borre el caché e instale el Cron con los siguientes comandos:

sudo -u www-data bin/magento module:disable Magento_TwoFactorAuth
sudo -u www-data bin/magento cache:flush
sudo -u www-data bin/magento cron:install

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

Crear un archivo de configuración de host virtual de Apache

A continuación, deberá crear un archivo de configuración de host virtual de Apache para Magento2. Puedes crearlo con el siguiente comando:

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

Agregue las siguientes líneas:

<VirtualHost *:80>
     ServerAdmin [email protected]
      DocumentRoot /var/www/html/magento2/
     ServerName magento.example.com

     <Directory /var/www/html/magento2/>
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/magento2_error.log
     CustomLog ${APACHE_LOG_DIR}/magento2_access.log combined

</VirtualHost>

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

a2ensite magento2.conf
a2enmod rewrite

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

systemctl restart apache2

También puede verificar el estado de Apache con el siguiente comando:

systemctl status apache2

Debería ver el siguiente resultado:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-11-20 06:00:59 UTC; 4s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 18394 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 18398 (apache2)
      Tasks: 6 (limit: 4679)
     Memory: 15.1M
        CPU: 99ms
     CGroup: /system.slice/apache2.service
             ??18398 /usr/sbin/apache2 -k start
             ??18399 /usr/sbin/apache2 -k start
             ??18400 /usr/sbin/apache2 -k start
             ??18401 /usr/sbin/apache2 -k start
             ??18402 /usr/sbin/apache2 -k start
             ??18403 /usr/sbin/apache2 -k start

Nov 20 06:00:59 debian11 systemd[1]: Starting The Apache HTTP Server...

Acceda a la interfaz web de Magento2

Ahora, abra su navegador web y acceda a la interfaz de administración de Magento2 usando la URL http://magento.ejemplo.com/admin_fgadpx. Debería ver la página de inicio de sesión de Magento2:

Inicio de sesión en Magento

Proporcione su nombre de usuario y contrase√Īa de administrador y haga clic en el Acceso bot√≥n. Deber√≠a ver el tablero de Magento2 en la siguiente p√°gina:

Panel de Magento

Conclusión

¡Felicidades! Ha instalado correctamente Magento2 en Debian 11. Ahora puede alojar su tienda en línea fácilmente con Magento. 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 *