Magento es una plataforma de comercio electrónico de código abierto escrita en PHP. Y es una plataforma de comercio electrónico muy popular y es propiedad y está administrada por Adobe Inc. La plataforma es flexible y tiene una gran variedad de funciones para crear una tienda en línea.
En este tutorial, lo guiaremos sobre cómo instalar Magento 2.4.3 usando la pila LAMP.
Comencemos la instalación.
1 1. Actualización del sistema
sudo apt update -y && apt upgrade -y
2 2. Instalación de PHP y extensiones de PHP
La versión predeterminada de PHP de Ubuntu 20.04 es PHP 7.4. En esta configuración usaremos PHP 7.4 ya que es la versión requerida para la versión 2.4.3. Procedamos a instalar PHP y las extensiones.
sudo apt install php libapache2-mod-php php-bcmath php-curl php-fpm php-gd php-intl php-mbstring php-mysql php-soap php-xml php-xsl php-zip php-cli
Modifiquemos algunos de los valores de PHP para cumplir con los requisitos.
Busque el archivo de configuración de PHP.
[email protected]:~# php --ini | grep "Loaded Configuration File"
Loaded Configuration File: /etc/php/7.4/cli/php.ini
Abra el archivo de configuración con su editor favorito.
nano /etc/php/7.4/cli/php.ini
Modifique el archivo de configuración con los valores a continuación.
memory_limit = 1G
upload_max_filesize = 128M
zlib.output_compression = on
max_execution_time = 18000
realpath_cache_size = 10M
realpath_cache_ttl = 7200
Luego guarde el archivo de configuración.
3 3. Instalación y configuración de la base de datos
La base de datos que vamos a utilizar en este tutorial es MariaDB.
Procedamos con la instalación de la base de datos.
sudo apt install mariadb-server -y
Configuremos el servidor MariaDB.
sudo mysql_secure_installation
Salida:
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none): Press Enter
You already have a root password set, so you can safely answer 'n'.
Change the root password? [Y/n] n
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
Reinicie el servicio MariaDB:
sudo systemctl restart mariadb
Vamos a crear la base de datos para nuestra aplicación.
Primero inicie sesión en nuestra consola MariaDB.
sudo mysql -u root
Ahora cree el nombre de la base de datos y el usuario de la base de datos.
MariaDB [(none)]> create database magento2;
MariaDB [(none)]> grant all privileges on magento2.* to 'magento_user'@'localhost' identified by 'mypassword';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
Por favor, no olvide cambiar "mypassword ” a su contraseña deseada.
4 4. Instalación y configuración del servidor web
Dado que este tutorial está en la pila LAMP, instalaremos el servidor web Apache.
sudo apt install apache2
Iniciemos y habilitemos el servidor web Apache.
sudo systemctl start apache2
sudo systemctl enable apache2
Cree un host virtual para nuestro sitio.
nano /etc/apache2/sites-available/domain.com.conf
Agregue el contenido a continuación.
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName domain.com
ServerAlias www.domain.com
DocumentRoot /var/www/magento2/pub
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory "/var/www/">
AllowOverride all
</Directory>
</VirtualHost>
Tenga en cuenta que debe cambiar el ServerName y ServerAlias a su propio dominio.
Habilitemos el host virtual
a2ensite domain.com.conf
Luego habilite el módulo mod_rewrite.
a2enmod rewrite
Reinicie Apache para que la configuración surta efecto.
systemctl restart apache2
5 5. Instalación de búsqueda elástica
A partir de la versión 2.4, todas las instalaciones deben estar configuradas para usar Elasticsearch.
Antes de continuar con la instalación de Elasticsearch, debemos instalar las dependencias requeridas.
sudo apt install apt-transport-https ca-certificates gnupg2
Importa la clave GPG.
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Agregue el repositorio de Elasticsearch.
sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list'
Instalemos ahora Elasticsearch .
sudo apt update
sudo apt install elasticsearch
Luego inicie y habilite el servicio.
systemctl start elasticsearch
systemctl enable elasticsearch
6 6. Instalación de Composer
Composer se utiliza para gestionar paquetes PHP.
Procedamos a instalar composer.
curl -sS https://getcomposer.org/installer -o composer-setup.php
sudo php -d memory_limit=-1 composer-setup.php --install-dir=/usr/local/bin --filename=composer
NOTA: Si encuentra "Error fatal de PHP:tamaño de memoria permitido agotado" al ejecutar Composer, es mejor establecer su valor PHP memory_limit en -1 o ilimitado.
7 7. Descargue e instale Magento 2.4.3
Para la mayoría de las situaciones, se recomienda instalarlo usando Marketplace creando una clave de acceso.
Vamos a crear una clave de acceso.
- Primero inicie sesión en su cuenta de Marketplace
- Vaya a Nombre->Mi perfil
- Vaya a Marketplace->Mis productos->Claves de acceso
- Bajo Magento 2 haga clic en la pestaña "Crear una nueva clave de acceso “
- En la ventana emergente, ingrese cualquier nombre en el cuadro de texto y luego haga clic en Aceptar.
- Ha terminado y verá las claves de acceso generadas.
Ahora procedamos con la instalación.
Primero ejecuta este comando.
composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition=2.4.3 /var/www/magento2
Después de ejecutar el comando anterior, le pedirá que proporcione el nombre de usuario y la contraseña, que son sus claves de acceso. .
Username: YOUR_PUBLIC_KEY
Password: YOUR_PRIVATE_KEY
Después de ingresar las credenciales, la instalación le preguntará si desea almacenar las credenciales en "/root/.config/composer/auth.json", simplemente seleccione Y.
Do you want to store credentials for repo.magento.com in /root/.config/composer/auth.json ? [Yn] Y
Ve a tu Magento directorio raíz.
cd /var/www/magento2
Procedamos ahora con la instalación.
bin/magento setup:install \
--base-url=http://domain.com \
--db-host=localhost \
--db-name=magento2 \
--db-user=magento_user \
--db-password=mypassword \
--admin-firstname=admin \
--admin-lastname=admin \
[email protected] \
--admin-user=admin \
--admin-password=myadminpassword \
--language=en_US \
--currency=USD \
--timezone=America/Chicago \
--use-rewrites=1
Después del proceso de instalación, verá el enlace de administración de su sitio.
[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_5shsgt
NOTA :Si la contraseña de su base de datos contiene caracteres especiales ([email protected]#$%^$*), encontrará un problema como este:
SQLSTATE[HY000] [1045] Acceso denegado para el usuario 'usuario'@'localhost'
SOLUCIONES: agregar barra invertida antes de los caracteres especiales.
Si la contraseña de su base de datos es algo así como "[email protected]" la contraseña de su base de datos debe establecerse a continuación:
–db-password= myp \ @55w0rd
8 8. Configurar los trabajos cron
Los trabajos cron se utilizan para automatizar operaciones importantes. Configuremos los trabajos cron.
sudo bin/magento cron:install
Antes de acceder a nuestra instancia, debemos corregir el permiso.
sudo chown -R www-data:www-data /var/www/magento2
Eso es todo, ahora puede acceder a su sitio de Magento, pero si tiene problemas para iniciar sesión en su sitio, debe deshabilitar la autenticación de dos factores, para ejecutar el siguiente comando.
sudo bin/magento module:disable Magento_TwoFactorAuth
Enhorabuena, ha instalado correctamente Magento 2.4.3 ahora puede acceder a su sitio en http://domain.com
9 Conclusión
Ha aprendido a instalar Magento 2.4.3 en Ubuntu 20.04 con la pila LAMP. Lo siguiente que debe hacer es proteger su sitio instalando un certificado SSL, por lo que le recomendamos que consulte nuestro artículo sobre Let's Encrypt.