Si tienes un Magento en un Hosting compartido o simplemente quieres tener una administración más sencilla del servidor una buena opción es HestiaCP.
Pasos previos
Primero que nada tendrás que crear un servidor HestiaCP (si ya tienes el servidor y el usuario creado puedes saltarte estos pasos) y seguir el artículo Primeros pasos con HestiaCP.
Luego crear un usuario en el HestiaCP, es tan sencillo como ir al panel de administración del HestiaCP, acceder con el usuario admin, y en el apartado Users ir a la opción Add User y llenar la información requerida.
Ahora tendrás que añadir el dominio para poder importar toda la información, puedes hacerlo con el botón Add Web Domain y añadir el dominio que tendrá magento.
Migración de Contenido Magento
Ahora dependiendo del origen y los permisos que tengamos tendremos dos opciones, la más óptima sería acceder por SSH al Magento, dependiendo de donde tengas alojado el Magento, es posible que no tengas ese acceso, por lo que también plantearemos una alternativa.
Por SSH
Primero que nada tendremos que migrar la BBDD, lo podremos hacer con el siguiente comando, ten en cuenta que tendrás que modificar el usuario y el nombre de la base de datos:
# mysqldump -u usuario -p base_de_datos > archivo.sql
En caso de no saber el nombre de la BBDD puedes hacer un show databases des de mysql o bien verificarlo en el archivo /rutamagento/app/etc/env.php, habrá una opción que ponga dbname, ese será el nombre de la DB.
Una vez tengamos la BBDD copiada, tendremos que mover la BBDD entre servidores, para ello podrás hacerlo con el comando (en todos los comandos recuerda verificar las rutas):
# scp archivo.sql root@ip:/home/usuario/archivo.sql
Ahora tienes que ir al directorio del Magento y utilizar el comando rsync para mover el Magento, en el caso de HestiaCP sería algo así:
# rsync -avh /var/www/html/magento2/ root@ip:/home/usuario/web/dominio/public_html/
Alternativa con FTP y phpMyAdmin
Para descargar la base de datos puedes hacerlo por phpMyAdmin (en algunos paneles como plesk o quizá otro Hosting se puede hacer directamente, lo importante es descargar la BBDD en el formato correspondiente)
Para hacerlo dirigete al phpMyAdmin y vamos ala BBDD que quieras descargar, ve a la pestaña de Exporta (export en inglés) añade el nombre que queramos, selecciona formato SQL y le dale al botón de Exporta, con esto tendrás la BBDD descargada en el PC:
Para descargar el Magento, puedes hacerlo con un software FTP como puede ser FileZilla, creamos una carpeta en el PC local y guarda los datos en el PC.
Para subir todo el contenido al HestiaCP no hace falta instalar FTP, puedes hacerlo mediante SFTP, el propio Filezilla te permite utilizar este protocolo.
Abre el gestor de sitios, arriba a la derecha del Filezilla:
Modifica el protocolo, añade la IP y el usuario root, con esto ya te podrás conectar:
Una vez hecho esto carga el contenido de Magento dentro de /home/usuario/web/dominio/public_html:
El archivo SQL lo puedes dejar directamente en /home/migracion con el propio Filezilla.
Importación Base de datos
Para que la Base de datos te salga en el panel HestiaCP, lo mejor es crear la base de datos desde el panel (si creas la BBDD desde mysql con create database funcionará pero no se verá la BBDD en el panel), puedes hacerlo en el apartado DB dentro del usuario.
una vez tengas la BBDD creada accede por SSH al HestiaCP, y desplazate al directorio donde tengas la base de datos, en nuestro caso sería:
# cd /home/Migracion/
Ahora ya puedes importar la base de datos:
# mysql -u root -p nombre_BD < archivo.sql
Asignación de permisos
Dirígete al dominio dentro de HestiaCP:
# cd /home/admin/web/tudominio/public_html
Luego assigna los permisos al usuario y verifícalos permisos de los archivos:
# chown usuario.usuario -R *
# find . -type f -exec chmod 664 {} \;
# find . -type d -exec chmod 775 {} \;
# chmod u+x bin/magento
Configuración local magento
Para que el Magento pueda conectar con la BBDD, tienes que modificar el fichero app/etc/env.php y actualizar los datos de la base de datos:
# nano app/etc/env.php
Dentro de las comillas después de la flecha tienes que introducir los parámetros:
'dbname' => 'Nombre_BBDD',
'username' => 'Usuario_BBDD',
'password' => 'Contraseña',
Una vez hecho esto verifica la versión de Magento y la versión PHP que requiere, para modificarlo en HestiaCP, tienes que ir al usuario donde tengas el dominio, editar dominio y Advanced Options, una vez ahí selecciona la versión que necesites (recuerda que en HestiaCP puedes activar versiones anteriores de PHP desde la configuración del servidor en el mismo panel):
Ahora ya deberías tener el Magento 2 funcionando correctamente en HestiaCP.
En el caso de querer modificar la URL de Magento tendrás que seguir el artículo: Modificar URL Magento 2
Solución de problemas:
Es posible que Magento te de algún error con la cache o no ubique bien algunos artículos, para ese caso puedes utilizar los comandos (la versión de PHP depende directamente de la que utilice el Magento):
# php7.4 bin/magento setup:upgrade
# php7.4 bin/magento setup:static-content:deploy -f
# php7.4 bin/magento cache:flush
# php7.4 bin/magento cache:clean
Dependiendo de la instalación tendremos nos pedirá instalar elasticsearch, puedes hacerlo con los comandos adjuntos (dependiendo de la versión de Magento necesitarás una versión diferente, puedes ver la versión que necesitas accediendo al enlace, si modificas en el comando wget en la parte final 7.6.1 la versión que necesitas debería descargare sin problemas):
# cd /opt
# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.1-amd64.deb
# dpkg -i elasticsearch-7.6.1-amd64.deb
# systemctl start elasticsearch
Recuerda, si tienes consultas sobre esta u otra cuestión relacionada con tus servidores en Clouding, no dudes en escribir a soporte@clouding.io ¡Estamos a tu lado para lo que necesites, consúltanos!