Comment migrer Magento 2.0.x d'un serveur à un autre?

12

Nous avons un environnement local pour le développement. Nous devons effectuer une migration du local vers un serveur de développement pour l'intégration. Existe-t-il un guide de migration détaillé sur la façon de migrer Magento d'un serveur à un autre? Comment gérer les enregistrements de la base de données et le contenu généré par l'utilisateur?

Paul
la source

Réponses:

14

Il y a une référence rapide:

Fondamentalement, nous devons modifier la configuration de connexion dans app / etc / env.php , la configuration d'URL core_config_dataet définir l'autorisation de vos fichiers source.

--Après l'importation de la base de données de sauvegarde, nous devons changer web/unsecure/base_urlet les web/secure/base_urlchemins dans le core_config_datatableau. Nous pouvons vérifier:

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%'

entrez la description de l'image ici

Changez ces valeurs en votre propre URL.

--Devrait changer d'hôte, dbname, nom d'utilisateur, pwd app / etc / env.php :

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

--Changez l'autorisation et le propriétaire des fichiers:

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

--Peut exécuter le déploiement de contenu statique php bin/magento setup:static-content:deploy

--Remember pour effacer le cache et supprimer Magento var/generation, var/composer_home, var/view_preprocessed.

Il y a un bon doc ici: http://devdocs.magento.com/guides/v2.0/config-guide/prod/prod_deploy.html

[ÉDITER]

Depuis la version Magento 2.2, il existe de nombreuses améliorations: http://devdocs.magento.com/guides/v2.2/config-guide/deployment/

Khoa TruongDinh
la source
1
Acceptez la réponse si cela vous aide @zzpaul afin d'aider les autres membres de la communauté. Je viens de remarquer que vous n'avez accepté aucune réponse de votre profil
Keyur Shah
2

Tout d'abord, vérifiez que la base de données est exportée vers le nouveau serveur.

Transférez ensuite les fichiers racine magento sur le nouveau serveur.

Dans le dossier racine, accédez à la nouvelle base de données. Pour ce faire, accédez à app / etc / env.php et modifiez les informations du tableau DB. remplacez l'hôte, le nom de base de données, le nom d'utilisateur et le mot de passe par le nouveau.

Ensuite, vous changez vos URL sécurisées et non sécurisées dans la base de données magento core_config_data par la nouvelle IP, n'oubliez pas le "/" après votre IP, c'est obligatoire.

Rendez l'internaute propriétaire du nouveau fichier (pour apache c'est: sudo chown -R www-data / var / www / magentoroot). Définissez les autorisations de fichier et de dossier correctes.

Enfin, videz le cache en exécutant bin / magento cache: clean et bin / magento cache: flush.

TanguyB
la source
Merci! Ça marche. Et j'ai trouvé une autre bonne référence: devdocs.magento.com/guides/v2.0/config-guide/prod/…
Paul
0

Pensez également à configurer sur la plate-forme cible tous les travaux cron que vous avez pu créer sur la plate-forme source et à installer toutes les extensions PHP que vous auriez dû installer, comme pour memcached.

Si vous avez configuré le framework de test, vous devrez alors modifier:

dev / tests / fonctionnel / etc / config.xml

dev / tests / fonctionnel / phpunit.xml

Votre sitemap / sitemap.xml sera également incorrect. Je ne sais pas trop quand / si un travail cron peut le mettre à jour. Sinon, mettez à jour manuellement dans Marketing -> SEO & Search -> Plan du site

Si vous avez activé 2FA, vous devrez apporter quelques modifications. Je ne l'ai pas fait correctement, j'ai donc désactivé le module 2FA, puis je suis reparti de zéro. Mais je suppose qu'il pourrait suffire de réinitialiser l'authentificateur:

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

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

Amblymoron
la source