En este tutorial, le mostraremos cómo instalar Magento 2 con Apache en un VPS CentOS 8.
Magento es una plataforma de comercio electrónico gratuita, de código abierto y basada en la nube escrita en PHP. Magento ofrece una comunidad y una versión comercial de su plataforma:la versión comunitaria es gratuita y está diseñada principalmente para individuos y/o pequeñas empresas. Por otro lado, la versión empresarial está dirigida principalmente a medianas y grandes empresas y más a un entorno empresarial.
Magento es muy fácil de usar y es totalmente personalizable, lo que le permite crear y personalizar tiendas en línea en cuestión de minutos. Además de la excelente personalización, Magento ofrece potentes herramientas de marketing, optimización de motores de búsqueda y gestión de catálogos. Le permite ejecutar varias tiendas al mismo tiempo y administrarlas usando un panel. Este es esencialmente el paquete completo para el comercio electrónico, que proporciona todo lo que necesita para comenzar.
Comencemos con la instalación.
Requisitos
- Un VPS CentOS 8 con acceso raíz habilitado (nuestros VPS tienen acceso raíz) o un usuario con privilegios sudo.
- Un nombre de dominio válido apuntado con su servidor.
- Mínimo 4 GB de RAM y 2 núcleos de CPU.
Cómo empezar
Primero, deberá iniciar sesión en su CentOS 8 VPS a través de SSH como usuario raíz:
ssh root@IP_ADDRESS -p PORT_NUMBER
Asegúrese de reemplazar "IP_ADDRESS" y "PORT_NUMBER" con la IP de su servidor (obligatorio) y el número de puerto (si no es el predeterminado).
A continuación, ejecute los siguientes comandos para actualizar todos los paquetes instalados en su VPS:
dnf update -y
De manera predeterminada, SELinux está habilitado en el sistema CentOS 8. Esto a menudo puede causar conflictos y que los programas dejen de funcionar sin una razón clara de por qué, por lo que se recomienda desactivar SELinux en su sistema para garantizar un funcionamiento fluido.
Puede deshabilitar SELinux editando /etc/selinux/config
archivo:
nano /etc/selinux/config
Busque la siguiente línea:
SELINUX=enforcing
Y reemplácelo con la siguiente línea:
SELINUX=permissive
Guarde y cierre el archivo. Luego, reinicie su sistema para aplicar los cambios.
Instalación y configuración de Apache, MariaDB y PHP
Para que Magento funcione, requiere algunos paquetes de software de requisitos previos. Apache proporciona el servidor web que sirve el contenido, MariaDB es el servidor de base de datos que almacena los datos y PHP es el lenguaje de programación utilizado para ejecutar la tienda.
Primero, instale el servidor web Apache y MariaDB con el siguiente comando:
dnf install httpd mariadb-server -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 de PHP requeridas. De forma predeterminada, CentOS 8 se envía con la versión de PHP 7.2. Esto significa que no necesitaremos un repositorio de terceros para instalar PHP. Por lo tanto, simplemente puede instalar la versión PHP requerida con todas las dependencias usando el siguiente comando:
dnf install php php-cli php-mysqlnd php-opcache php-xml php-gd php-soap php-pdo php-bcmath php-intl php-mbstring php-json php-iconv php-zip unzip git -y
Una vez que todos los paquetes estén instalados, edite el php.ini
archivo y ajustar algunas configuraciones:
nano /etc/php.ini
Cambie los siguientes valores:
memory_limit = 1024M
upload_max_filesize = 256M
zlib.output_compression = on
max_execution_time = 18000
date.timezone = UTC
Guarde y cierre el archivo, luego inicie el servicio Apache y MariaDB y habilítelos para que comiencen en el arranque con el siguiente comando:
systemctl start httpd
systemctl start mariadb
systemctl enable httpd
systemctl enable mariadb
En este punto, el servidor LAMP está instalado en su servidor.
Crear una base de datos para Magento
Primero, asegure la instalación de MariaDB y configure la contraseña raíz de MariaDB con el siguiente comando:
mysql_secure_installation
Aparecerá un conjunto de indicaciones; así es como respondimos 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 MariaDB con el siguiente comando:
mysql -u root -p
Proporcione su contraseña raíz de MariaDB y luego cree una base de datos y un usuario para Magento con el siguiente comando:
MariaDB [(none)]> CREATE DATABASE magento2;
MariaDB [(none)]> CREATE USER 'magento'@'localhost' IDENTIFIED BY 'password';
Asegúrese de REEMPLAZAR 'contraseña' con una contraseña SEGURA.
A continuación, otorgue todos los privilegios a la base de datos de Magento con el siguiente comando:
MariaDB [(none)]> GRANT ALL ON magento2.* TO 'magento'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
A continuación, elimine los privilegios y salga de MariaDB con el siguiente comando:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Instalar Magento
Antes de comenzar, se recomienda crear un usuario de sistema no raíz para la instancia de Magento.
Puedes crear un usuario llamado magento
y luego agréguelos al grupo de servidores web Apache con el siguiente comando:
adduser magento
usermod -a -G apache magento
A continuación, también deberá instalar Composer en su sistema. Composer le permite instalar todas las bibliotecas y dependencias de PHP requeridas para su proyecto de Magento a través de un administrador de paquetes simple.
Puede instalar Composer con el siguiente comando:
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
A continuación, descargue la última versión de Magento desde su sitio web oficial.
Una vez completada la descarga, descomprima el archivo descargado en el directorio raíz web de Apache con el siguiente comando. Tenga en cuenta que el nombre del archivo puede ser diferente para usted, dependiendo de la versión que haya descargado:
unzip magento-ce-2.3.5-p1_sample_data-2020-04-24-10-19-21.zip -d /var/www/html/magento2
A continuación, cambie el directorio a magento2
e instale todas las dependencias de PHP requeridas con el siguiente comando:
cd /var/www/html/magento2
composer install
A continuación, establezca la propiedad y los permisos adecuados para el directorio de magento con el siguiente comando:
chown -R magento:apache /var/www/html/magento2
chmod -R 775 /var/www/html/magento2
Configurar Apache para Magento
A continuación, cree un archivo de configuración de host virtual de Apache para Magento con el siguiente comando:
nano /etc/httpd/conf.d/magento.conf
Agregue los siguientes gravámenes:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName magento.example.com
DocumentRoot /var/www/html/magento2/
DirectoryIndex index.php
<Directory /var/www/html/magento2/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/httpd/magento_error.log
CustomLog /var/log/httpd/magento_access.log combined
</VirtualHost>
Guarde y cierre el archivo cuando haya terminado. Luego, reinicie el servicio Apache para implementar los cambios:
systemctl restart httpd
En este punto, el servidor web Apache está configurado para servir la instancia de Magento a través de HTTP.
Paso 6:Acceda a la interfaz web de Magento
Ahora, abra su navegador web y escriba la URL http://magento.example.com
. Será redirigido a la página de bienvenida de Magento:
Haga clic en Aceptar y configurar Magento . Debería ver la página de verificación de preparación:
Haga clic en Comenzar verificación de preparación para verificar la versión correcta de PHP, las extensiones de PHP y los permisos de archivo. Una vez que la verificación de preparación se haya completado con éxito, debería ver la siguiente página:
Haga clic en Siguiente botón. Debería ver la página de configuración de la base de datos:
Proporcione el nombre de su base de datos de Magento, el usuario de la base de datos, la contraseña y haga clic en Siguiente botón. Debería ver la página de configuración web de Magento:
Proporcione su tienda Magento y su dirección de administrador y haga clic en Siguiente botón. Debería ver la siguiente página:
Establezca su zona horaria, moneda e idioma predeterminados y haga clic en Siguiente botón. Debería ver la página de creación de cuenta de administrador de Magento:
Proporcione su nombre de usuario, correo electrónico y contraseña deseados y haga clic en Siguiente botón. Debería ver la siguiente página:
Haga clic en Instalar Ahora botón para iniciar la instalación. Una vez que la instalación se haya completado con éxito, verá una página de Éxito que enumera todos los detalles de su instalación de Magento.
IMPORTANTE: A veces, la página del instalador dejará de mostrar nuevos cambios en alrededor del 91 % aunque la instalación se haya completado. En este caso, puede consultar el archivo de registro de instalación en /var/www/html/magento2/var/log/install.log
.
tail -f /var/www/html/magento2/var/log/install.log
Debería ver el siguiente resultado:
[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_1tez57
Ahora, abra su navegador web y escriba la URL http://magento.example.com/admin_1tez57
. Debería ver el inicio de sesión del administrador de la tienda Magento en la siguiente página:
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 predeterminado de Magento 2 en la siguiente página:
También puede acceder a su tienda Magento usando la URL http://magento.example.com
. Debería ver la siguiente página:
Crear el trabajo cron de Magento
También deberá crear un trabajo cron para programar tareas como reindexación, notificaciones, mapas del sitio, correos electrónicos y más. Magento proporciona una herramienta para crear las entradas cron correctas para mantener todo actualizado.
Cambie el directorio al directorio raíz de Magento:
cd /var/www/html/magento2/
A continuación, cree el crontab de Magento ejecutando el siguiente comando como usuario de Magento:
sudo -u magento ./bin/magento cron:install
Debería ver el siguiente resultado:
Crontab has been generated and saved
A continuación, verifique los trabajos cron instalados con el siguiente comando:
crontab -u magento -l
Deberías obtener el siguiente resultado:
#~ MAGENTO START f73db5f5dcf223372d4c9fab56bef0c1730eece898fad5cbee0c313b46b0dd1f
* * * * * /usr/bin/php /var/www/html/magento2/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /var/www/html/magento2/var/log/magento.cron.log
* * * * * /usr/bin/php /var/www/html/magento2/update/cron.php >> /var/www/html/magento2/var/log/update.cron.log
* * * * * /usr/bin/php /var/www/html/magento2/bin/magento setup:cron:run >> /var/www/html/magento2/var/log/setup.cron.log
#~ MAGENTO END f73db5f5dcf223372d4c9fab56bef0c1730eece898fad5cbee0c313b46b0dd1f
¡Felicidades! Eso es todo:ha instalado y configurado correctamente Magento 2 con Apache en CentOS 8.
Por supuesto, no tiene que hacer nada de esto si utiliza uno de nuestros servicios de alojamiento VPS de Magento, en cuyo caso simplemente puede solicitar a nuestros administradores expertos de Linux que configuren todo esto para usted, de forma rápida y sencilla. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.
PD . Si te gustó esta publicación, compártela con tus amigos en las redes sociales usando los botones a continuación, o simplemente deja un comentario en la sección de comentarios. Gracias.