Magento – Migrar a servidor Vesta

Hacemos un respaldo de la base de datos

Creamos la base de datos, usuario e importamos:

mysql -u NombreUsuarioBaseDatos -p NombreBaseDatos < NombreBackupBaseDatos

Comprimimos la carpeta public_html:

tar -czvf hYYYYMMDDHHMM.tar.gz /RutaALaCarpetaPublicHtml/public_html 

Copiamos en comprimido en el public_html del servidor Vesta

Descomprimimos los archivos

Instalar Redis:

wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make

Ejecutar:

make test
sudo make install
make test
redis-server

Cerramos la terminal de Linux y abrimos otra

Ejecutamos:

redis-cli ping

Para verificar la versión instalada de redis:

redis-cli --versión

Las sesiones se pueden manejar a través de archivos o con Memcached.

Si las sesiones se van a manejar a través de archivos, se procede a:

Eliminar todos los archivos de la carpeta «session». Nos ubicamos en la carpeta session y ejecutamos el siguiente comando

sudo find . -name '*.*' -type f -delete

Otra opción es eliminar y crear nuevamente la carpeta «session», para ellos se procede a:

En la carpeta «var» del public_html, se elimina la carpeta «session» y se vuelve a crear la carpeta «session» con permisos «755»

sudo mkdir session

sudo chmod -R 755 session

En el archivo app/etc/env.php, el elemento «session» del vector «return» lo definimos como tipo «file»:

'session' => [
        'save' => 'files',
    

Creamos un archivo phpinfo.php en el directorio donde están instalado Magento con las siguientes lineas:

<?php
phpinfo();

Desplegamos en el navegador htpps://dominio.com/phpinfo.php para verificar los valores de las directivas:

max_execution_time
max_input_time
memory_limit

En el cpanel del Vesta activamos la versión del php.ini que convenga para la instalación: 7.1, 7.2, 7.4, etc.

Actualizamos las siguientes directivas en el /etc/php/7.x/fpm/php.ini:

max_execution_time = 300
max_input_time = 300
memory_limit = 2048M

Actualizamos las siguientes directivas en el archivo /etc/php/7.x/fpm/pool.d/dominio.com.conf:

php_admin_value[session.save_path] = /rutaAlDirectorioPrincipalInstalacionMagento/var/session
php_admin_value[max_execution_time] = 300
php_admin_value[memory_limit] = 2048M

Ejecutamos el siguiente comando:

sudo systemctl restart php7.x-fpm

En el navegador desplegamos https://dominio.com/phpinfo.php y verificamos que efectivamente se actualizaron los valores de:

max_execution_time
max_input_time
memory_limited

Si no se va a manejar las sesiones con archivos, sino más bien con Memcached, se procede a instalar con los siguientes comandos:

sudo apt update
sudo apt install memcached

Verificamos el archivo /etc/memcached.conf

vi /etc/memcached.conf

Ejecutamos:

echo "stats" | nc localhost 11211

Instalamos la extensión memcached de Php:

sudo apt install php-memcached
phpenmod memcached

En el php.ini actualizamos:

session.save_handler = "memcached"
session.save_path = "localhost:11211"
sudo service apache2 restart
sudo service memcached stop

sudo service memcached start

sudo service memcached restart

telnet localhost 11211

netstat -ap | grep 11211

ps aux | grep memcached

En el navegador desplegamos https://dominio.com/phpinfo.php y verificamos que aparezca la extensión memcached

Instalamos Varnish:

sudo apt-get update
sudo apt-get install varnish

Verificamos la versión instalada:

sudo varnishd -V

Editamos el archivo /etc/default/varnish y hacemos los siguientes cambios:

DAEMON_OPTS="-a :80 \
             -T localhost:6082 \
             -f /etc/varnish/default.vcl \
             -S /etc/varnish/secret \
             -p http_req_hdr_len=1048576 \
             -p http_resp_hdr_len=1048576 \
             -p http_req_size=1048576 \
             -p http_resp_size=1048576 \
             -p workspace_client=1048576 \
             -p workspace_backend=1048576 \
             -p workspace_session=1048576 \
             -p thread_pool_min=2000 \
             -s malloc,4G"
VARNISH_LISTEN_PORT=80

Hacemos un respaldo del archivo default.vcl

cp /etc/varnish/default.vcl /etc/varnish/default.vcl.bak

Editamos el archivo /etc/varnish/default.vcl y cambiamos el puerto a ’80’

backend default {
    .host = "127.0.0.1";
    .port = "80";
}
sudo php7.1 bin/magento setup:config:set --http-cache-hosts=IpDelServidor:80
En el cpanel del Vesta, hacemos los cambios respectivos para que Apache escuche por el puerto 8080

En el cpanel de Vesta, ingresando por web, en Plantilla Proxy, seleccionamos: «hosting_legacy»

Reiniciamos apache:

sudo service apache2 restart

Iniciamos Varnish:

sudo service varnish start

Si se quiere reiniciar Varnish:

sudo service varnish restart

Editamos el archivo /app/etc/env.php y lo actualizamos con la información del backend y la base de datos:

 'backend' => [
        'frontName' => 'storeadmin'
    ],
  'db' => [
        'table_prefix' => '',
        'connection' => [
            'default' => [
                'host' => 'localhost',
                'dbname' => 'mi_base_de_datos',
                'username' => 'usuario_base_de_datos',
                'password' => 'clave_de_usuario',
                'active' => '1'
            ]
        ]

Si en el directorio «var» existen las carpetas «page_cache» y «cache» se eliminan

Accedemos a la tabla «core_config_data» y hacemos los siguientes cambios, buscando siempre con Like %…% en el campo «path» y cambiando los valores en el campo «value».

Buscamos en el campo path con like %…%: web/unsecure/base_url y web/secure/base_url y actualizamos respectivamente en el campo «value»:

web/unsecure/base_url -> http://dominio.com

web/secure/base_url -> https://dominio.com

Buscamos con %…% en el campo «Path»: «admin/url/custom», si existen el ese registro actualizamos su valor a: https://dominio.com/storeadmin.

Si no existe el registro, lo creamos y le asignamos el valor: https://dominio.com/storeadmin

En la tabla «core_config_data» buscamos el path «web/secure/use_in_adminhtml» y colocar el valor «1»

Buscamos el patch «web/cookie» con Like %..% y le asignamos valor «null»

Verificamos que los directorios tengan permiso 755, si no los tienen procedemos a cambiarlos con el comando:

find /RutaALaCarpetaPublicHtml/public_html -type d -exec chmod -R 0755 {} \;de

Desde el cpanel del Vesta «Admin» configuramos los siguientes valores para mysql:

wait_timeout en 300

interactive_timeout en 300

max_allowed_packet en 500M

Nos posicionamos en el directorio public_html y desde allí ejecutamos los siguientes comandos:

sudo php7.1 bin/magento indexer:reindex
sudo php7.1 bin/magento cache:flush
sudo chmod -R 777 generated

Fuente:

https://qastack.mx/magento/127333/how-to-migrate-magento-2-0-x-from-one-server-to-another

http://www.rafelsanso.com/migrar-una-tienda-online-magento-otro-servidor/

https://redis.io/topics/quickstart

https://devdocs.magento.com/guides/v2.2/config-guide/varnish/config-varnish-configure.html

chevron_left
chevron_right

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Comentario
Nombre
Correo electrónico
Web