¿Cómo migrar Magento 2.0.x de un servidor a otro?

12

Tenemos un entorno local para el desarrollo. Necesitamos hacer una migración del servidor local a un servidor Dev para la integración. ¿Existe alguna guía de migración detallada sobre cómo migrar Magento de un servidor a otro? ¿Cómo manejar los registros de la base de datos y el contenido generado por el usuario?

Pablo
fuente

Respuestas:

14

Hay una referencia rápida:

Básicamente, necesitamos cambiar la configuración de conexión en la aplicación / etc / env.php , la configuración de la URL core_config_datay establecer el permiso de sus archivos fuente.

--Después de importar la base de datos de respaldo, necesitamos cambiar web/unsecure/base_urly web/secure/base_urlrutas en la core_config_datatabla. Podemos comprobar:

SELECT * FROM core_config_data a WHERE a.`path` LIKE '%web/unsecure/base_url%'
UNION 
SELECT * FROM core_config_data a WHERE a.`path` LIKE '%web/secure/base_url%'

ingrese la descripción de la imagen aquí

Cambie estos valores a su propia url.

--Debe cambiar el host, dbname, nombre de usuario, aplicación pwd / etc / env.php :

  array (
    'table_prefix' => '',
    'connection' => 
    array (
      'default' => 
      array (
        'host' => 'localhost',
        'dbname' => 'mage21',
        'username' => 'root',
        'password' => '',
        'active' => '1',
      ),
    ),
  ),

--Cambie el permiso y el propietario de los archivos:

http://devdocs.magento.com/guides/v2.1/install-gde/prereq/file-sys-perms-over.html

http://devdocs.magento.com/guides/v2.1/config-guide/prod/prod_file-sys-perms.html

--Puede ejecutar la implementación de contenido estático php bin/magento setup:static-content:deploy

--Remember Magento para borrar la caché y eliminar var/generation, var/composer_home, var/view_preprocessed.

Aquí hay un buen documento: http://devdocs.magento.com/guides/v2.0/config-guide/prod/prod_deploy.html

[EDITAR]

Desde la versión Magento 2.2, hay muchas mejoras: http://devdocs.magento.com/guides/v2.2/config-guide/deployment/

Khoa TruongDinh
fuente
1
Acepte la respuesta si le ayuda a @zzpaul para que ayude a otros miembros de la comunidad. Acabo de notar que no
aceptaste
2

En primer lugar, vea que la base de datos se exporta al nuevo servidor.

Luego transfiera los archivos raíz de magento al nuevo servidor.

En la carpeta raíz, cambie a la nueva base de datos. Puede hacerlo yendo a app / etc / env.php y cambiando la información de la matriz DB. cambie el host, dbname, nombre de usuario y contraseña al nuevo.

Luego cambia las URL seguras y no seguras en la base de datos magento core_config_data a la nueva IP, no olvides el "/" después de tu IP, es obligatorio.

Haga que el usuario web sea el propietario del nuevo archivo (para apache es: sudo chown -R www-data / var / www / magentoroot). Establezca los permisos correctos de archivos y carpetas.

Finalmente, borre el caché ejecutando bin / magento cache: clean y bin / magento cache: flush.

TanguyB
fuente
¡Gracias! Funciona. Y encontré otra buena referencia: devdocs.magento.com/guides/v2.0/config-guide/prod/…
Paul
0

Piense también en configurar en la plataforma de destino cualquier trabajo cron que haya creado en la plataforma de origen e instalar cualquier extensión de PHP que haya tenido que instalar, como para memcached.

Si ha configurado el marco de prueba, deberá editar:

dev / tests / funcional / etc / config.xml

dev / tests / funcional / phpunit.xml

Su sitemap / sitemap.xml también será incorrecto. No estoy muy seguro de cuándo / si un trabajo cron puede actualizarlo. De lo contrario, actualice manualmente en Marketing -> SEO y búsqueda -> Mapa del sitio

Si ha habilitado 2FA, deberá realizar algunos cambios. No hice esto de la manera correcta, así que terminé desactivando el módulo 2FA y luego comenzando desde cero. Pero supongo que podría ser suficiente restablecer el autenticador:

php bin/magento msp:security:tfa:reset <username> <provider>

Ver https://docs.magento.com/m2/ee/user_guide/stores/security-two-factor-authentication-manage.html

Amblymoron
fuente