GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar Magento en Debian 11

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

  • Un servidor que ejecuta Debian 11.
  • Un nombre de dominio válido apuntado con la IP de su servidor.
  • Se configura una contraseña raíz en el servidor.

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

Luego, 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:

Seleccione MySQL Server 8 y haga clic en Aceptar 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 Apache Virtual Host

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

Acceder 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.example.com/admin_fgadpx . Debería ver la página de inicio de sesión de Magento2:

Proporcione su nombre de usuario y contraseña de administrador y haga clic en Iniciar sesión botón. Debería ver el panel de Magento2 en la siguiente página:

Conclusión

¡Felicidades! Ha instalado correctamente Magento2 en Debian 11. Ahora puede alojar su tienda en línea fácilmente con Magento. Siéntase libre de preguntarme si tiene alguna pregunta.


Debian
  1. Cómo instalar MySQL Workbench en Debian 10

  2. Cómo instalar MySQL en Debian 11

  3. Cómo instalar PHP-Fusion 9 en Debian 8

  4. Cómo instalar LAMP en Debian 8

  5. Cómo instalar PunBB en Debian 8

Cómo instalar MySQL 8 en Debian 10

Cómo instalar Debian 11

Cómo instalar Magento en Debian 10

Cómo instalar Go en Debian 10

Cómo instalar MySQL/MariaDB en Debian 11

Cómo instalar MySQL en Debian 10