En esta guía, le mostraremos cómo instalar Magento 2 en un VPS Ubuntu 18.04 usando MySQL, Nginx y PHP-FPM 7.2.
Magento es una aplicación web de comercio electrónico de código abierto moderna y rica en funciones. Magento es totalmente personalizable para cumplir con los requisitos de cualquier usuario, lo que les permite crear y lanzar una tienda de comercio electrónico completamente funcional en minutos. Magento está escrito en PHP y utiliza MySQL/MariaDB como base de datos.
Esta guía también debería funcionar en otros sistemas Linux VPS, pero fue probada y escrita para un Ubuntu 18.04 VPS.
Requisitos previos:
- Un VPS con Ubuntu 18.04
- Acceso al usuario root, o acceso a una cuenta de usuario con privilegios sudo
Antes de comenzar, deberá iniciar sesión en su servidor y actualizar los paquetes de software de su sistema.
ssh root@Server_IP -p Port_Number
Recuerde reemplazar Server_IP y Port_Number con la dirección IP y el número de puerto SSH respectivos de su servidor.
Ejecute los siguientes comandos para actualizar su sistema e instalar todos los paquetes necesarios:
sudo apt-get update && sudo apt-get upgrade sudo apt-get install curl nano git
Paso 1:Instale MySQL y cree una base de datos
Ejecute el siguiente comando para instalar el servidor MySQL 5.7 más reciente desde los repositorios oficiales de Ubuntu:
sudo apt-get install mysql-server
Una vez que se complete la instalación, emita el siguiente comando para mejorar la seguridad de la instalación de su servidor MySQL (recomendamos responder con 'Y' a cada mensaje):
mysql_secure_installation
A continuación, debemos crear una base de datos MySQL y un usuario para la nueva instalación de Magento.
Inicie sesión en la consola de MySQL:
sudo mysql
Ejecute los siguientes comandos para crear una nueva base de datos, usuario y otorgar privilegios para la base de datos al usuario:
mysql> CREATE DATABASE magento; mysql> GRANT ALL PRIVILEGES ON magento.* TO 'magento'@'localhost' IDENTIFIED BY 'my_strong_password'; mysql> FLUSH PRIVILEGES; mysql> \q
Recuerde reemplazar my_strong_password
con una contraseña segura real.
Paso 2:Instale PHP 7.2, Composer y los módulos PHP requeridos
Desde la versión 2.3 Magento 2 es totalmente compatible con PHP 7.2.
Para instalar la última versión estable de PHP 7.2 y todos los módulos necesarios, ejecute:
sudo apt-get install php7.2-fpm php7.2-common php7.2-gd php7.2-mysql php7.2-curl php7.2-intl php7.2-xsl php7.2-mbstring php7.2-zip php7.2-bcmath php7.2-soap php7.2-opcache
Establezca la configuración de PHP recomendada:
sudo sed -i "s/memory_limit = .*/memory_limit = 768M/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 128M/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php/7.2/fpm/php.ini
Composer es un administrador de dependencias de PHP que le permite instalar paquetes de PHP. El compositor extraerá todas las bibliotecas y dependencias requeridas que necesita para este proyecto.
curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer
Paso 3:Instalar Magento
Al momento de escribir este tutorial, la última versión estable es Magento 2.3.0.
Clone el repositorio de Magento en /var/www/myMagentoSite.com
directorio usando el siguiente comando:
sudo git clone https://github.com/magento/magento2.git /var/www/myMagentoSite.com
Navegue al directorio de Magento:
cd /var/www/myMagentoSite.com
Ejecute Composer para instalar todas las dependencias de Magento:
sudo composer install
El comando puede tardar algún tiempo en completarse. Una vez completado, verá el siguiente resultado:
Generating autoload files
Para continuar con la instalación, puede utilizar el asistente de instalación o la línea de comandos. En esta guía instalaremos Magento usando setup:install
comando.
Ejecute el siguiente comando para iniciar la instalación. No olvide configurar la información correcta de la base de datos MySQL.
sudo bin/magento setup:install \ --base-url=http://myMagentoSite.com/ \ --db-host=localhost \ --db-name=magento \ --db-user=magento \ --db-password=my_strong_password \ --admin-firstname=First \ --admin-lastname=Last \ [email protected] \ --admin-user=admin \ --admin-password=my_strong_password123 \ --language=en_US \ --currency=USD \ --timezone=America/Chicago \ --use-rewrites=1
Si la instalación es exitosa, verá algo como el siguiente mensaje:
[SUCCESS]: Magento installation complete. [SUCCESS]: Magento Admin URI: /admin_1kd5tz Nothing to import.
Recuerde el URI de administrador de Magento:lo necesitará para acceder a su instalación de Magento más adelante.
Establezca los permisos correctos:
sudo chown -R www-data: /var/www/myMagentoSite.com
Ejecute el siguiente comando para crear el crontab de Magento:
sudo -u www-data php bin/magento cron:install
Crontab has been generated and saved
Paso 4:Instalar y configurar Nginx
Instale Nginx desde los repositorios oficiales de Ubuntu usando el siguiente comando:
sudo apt-get install nginx
Cree un nuevo bloque de servidor Nginx llamado myMagentoSite.com
(Debe cambiar esto a su nombre de dominio)::
sudo nano /etc/nginx/sites-available/myMagentoSite.com
A continuación, pegue el siguiente contenido en el archivo:
upstream fastcgi_backend { server unix:/run/php/php7.2-fpm.sock; } server { server_namemyMagentoSite.com
www.myMagentoSite.com
; listen 80; set $MAGE_ROOT /var/www/myMagentoSite.com; set $MAGE_MODE developer; # or production access_log /var/log/nginx/myMagentoSite.com-access.log; error_log /var/log/nginx/myMagentoSite.com-error.log; include /var/www/myMagentoSite.com/nginx.conf.sample; }
Active el bloqueo del servidor creando un enlace simbólico:
sudo ln -s /etc/nginx/sites-available/myMagentoSite.com /etc/nginx/sites-enabled/myMagentoSite.com
Elimine la configuración predeterminada de Nginx:
sudo rm -f /etc/nginx/sites-enabled/default
Pruebe la configuración de Nginx:
sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Reinicie el servidor nginx para que los cambios surtan efecto:
sudo service nginx restart
Ahora debería poder iniciar sesión en su back-end de Magento yendo a http://myMagentoSite.com/admin_1kd5tz
utilizando la información que configuró al ejecutar bin/magento setup:install
comando.
Eso es todo. Ha instalado con éxito Magento 2 con MySQL y Nginx en su Ubuntu 18.04 VPS. Para obtener más información sobre cómo administrar su instalación de Magento, consulte la documentación oficial de Magento. También publicamos una guía sobre cómo instalar Magento 2.4 con LEMP Stack en Ubuntu 20.04.
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 pedirle a nuestros administradores expertos de Linux que lo configuren por usted. 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.