Comment migrer un site Prestashop d'un VPS ISPCONFIG Apache vers Nginx

Procédure

Pourquoi migrer vers Nginx ?

Nginx est un serveur web très réputé et gagnant de jour en jour en popularité. Il vient en remplacement du serveur web Apache. Il rencontre un grand succès pour les connaisseurs et est actuellement supporté par une communauté très active. Étant bien maintenu, s'il est bien maitrisé, il offre de nombreux avantages en termes de performance en comparaison avec Apache.

Avant de pouvoir migrer votre site, assurez-vous d'avoir ces renseignements :

  • le nom de la base de données du site
  • le nom d'utilisateur de la base de données du site et son mot de passe

Comment sauvegarder les fichiers web de votre boutique Prestashop sur le VPS ISPCONFIG Apache ?

Pour sauvegarder les fichiers web de votre site Prestashop sur le VPS ISPCONFIG Apache, il vous faudrait vous connecter sur votre site en FTP. Ainsi pour commencer, vous devriez vous assurer d'avoir un compte ftp qui va vous permettre de faire la sauvegarde de votre site.

Si vous avez besoin de modifier les paramètres du compte FTP de votre site à l'intérieur du VPS ISPCONFIG Apache, suivez la procédure suivante :

Connectez-vous sur ISPCONFIG --> Sites --> Utilisateur FTP --> nom de l'utilisateur FTP

Comment migrer un site Prestashop d'un VPS ISPCONFIG Apache vers Nginx

Vous pouvez aussi créer un nouveau compte ftp sous ISPCONFIG pour effectuer la sauvegarde.

Une fois que vous avez les paramètres de connexion ftp pour votre site, vous pouvez utiliser votre logiciel ftp client pour vous connecter sur le site à l'intérieur du serveur. Par exemple, avec "FileZilla", il vous faudrait ouvrir l'application, et de spécifier les paramètres de connexion qui sont :

  • le nom du serveur ou hostname de la forme vpsxxxxx.serveur-vps.net ou vpsxxxxx.lws-hosting.com
  • le nom d'utilisateur ftp de votre site (c'est ce paramètre qui vous permettra de vous connecter sur le site convenable à l'intérieur du vps)
  • le mot de passe de l'utilisateur ftp
  • vous pouvez aussi spécifier le port, mais ce n'est pas indispensable puisque c'est le port par défaut qui est utilisé sur le serveur (port 21).

Après cela, vous pouvez cliquer sur le bouton connexion rapide et la connexion à votre site se fera. Des informations concernant la connexion s'afficheront sur l'interface de Filezilla.

Comment migrer un site Prestashop d'un VPS ISPCONFIG Apache vers Nginx

Vous seriez accueilli par une fenêtre de validation de certificat que vous devriez confirmer.

Comment migrer un site Prestashop d'un VPS ISPCONFIG Apache vers Nginx

Une fois la connexion effectuée, vous trouverez la liste des répertoires liés à votre site dans l'interface dédiée au site distant (à droite). Et à gauche, vous trouverez une interface dédiée au site local qui contiendra vos fichiers locaux dans le répertoire active en cours.

Comment migrer un site Prestashop d'un VPS ISPCONFIG Apache vers Nginx

Les fichiers web de votre site se trouvent dans le répertoire web. Faites un double-clic sur le repértoire pour y entrer.

Comment migrer un site Prestashop d'un VPS ISPCONFIG Apache vers Nginx

Par la suite, la liste de vos fichiers web dans le site distant s'affiche.

Comment migrer un site Prestashop d'un VPS ISPCONFIG Apache vers Nginx

Ensuite dans votre répertoire local (à gauche), naviguez jusqu'à un repertoire où vous souhaitez déposer votre sauvegarde. Créez un nouveau dossier si besoin.

Comment migrer un site Prestashop d'un VPS ISPCONFIG Apache vers Nginx

Une fois votre dossier de sauvegarde du site créé, vous devez ensuite selectionner tous les fichiers web dans le site distant.

Comment migrer un site Prestashop d'un VPS ISPCONFIG Apache vers Nginx

Enfin, faites un clic droit sur les fichiers sélectionnés et cliquer "télécharger" pour les télécharger dans votre ordinateur dans le répertoire local ouvert.

Comment migrer un site Prestashop d'un VPS ISPCONFIG Apache vers Nginx

Patientez jusqu'à ce que le téléchargement soit terminé et vous disposerez d'une sauvegarde des fichiers web de votre site.

Comment exporter la base de données de votre site ?

Avant d'exporter la base de données de votre site, il est recommandé de mettre la mode maintenance sur votre boutique pour vous assurez que toutes les dernières commandes seront prises en compte avec la migration.

Pour exporter la base de données de votre site, il vous faudrait vous connecter sur l'interface phpmyadmin de votre VPS en suivant les procédures indiquées dans cet article "Comment se connecter à l'utilitaire PHPMyAdmin depuis ISP Config ?".

Il vous faudrait sûrement connaitre le nom de la base de données de votre site, le nom d'utilisateur de la base de données et le mot de passe avant de pouvoir y accéder.

Ensuite, une fois que vous êtes sur l'interface de phpmyadmin, vous devez :

  • cliquer sur la base de données dans le menu de gauche, aller dans l'onglet "Exporter" en haut,

Comment migrer un site Prestashop d'un VPS ISPCONFIG Apache vers Nginx

  • et enfin, cliquez sur le bouton "Exporter" et le téléchargement de votre base de données exportée sous format sql se procède.

Comment migrer un site Prestashop d'un VPS ISPCONFIG Apache vers Nginx

Comment recréer le site et sa base de données dans le VPS ISPCONFIG Nginx ?

Pour recréer le site et sa base de données dans le VPS ISPCONFIG Nginx, il vous faudrait maintenant vous connecter sur l'interface ISPCONFIG de ce VPS.

1. Connexion sur ISPCONFIG

La connexion sur ISPCONFIG avec le VPS Nginx est similaire à tout VPS avec ISPCONFIG. Vous pouvez suivre les indications dans l'article "Comment accéder à ISPConfig sur mon serveur dédié VPS?" pour vous connecter.

Vous seriez accueilli par l'interface d'authentification d'ISPCONFIG si vous n'êtes pas encore authentifié. Authentifiez-vous avec l'utilisateur admin et vous arriverez à la page d'accueil.

2. Création d'un nouveau client

Une fois que vous êtes connecté sur ISPCONFIG, vous pouvez ajouter un nouveau client via le menu client. Tapez-y les informations et enregistrez afin que le client soit créé.

Comment migrer un site Prestashop d'un VPS ISPCONFIG Apache vers Nginx

3. Création du site dans le nouveau VPS Nginx

Après cela, pour recréer votre site, vous devez aller dans le menu "Sites" sur le menu de haut, et par la suite cliquer sur le bouton vert "Ajouter un nouveau site".

Comment migrer un site Prestashop d'un VPS ISPCONFIG Apache vers Nginx

Tapez les paramètres de votre site très attentivement :

  • le nom du site doit être exactement le même
  • la valeur de "auto-sous-domaine" également devrait être le même
  • garder la même version php utilisée pour éviter les incompatibilités à moins que vous êtes sûr que la version php que vous allez utiliser soit compatible avec votre site
  • N'activez pas encore le certificat Let's Encrypt car sa mise en place requiert le pointage DNS
  • Et enregistrez

Comment migrer un site Prestashop d'un VPS ISPCONFIG Apache vers Nginx

Une fois que vous avez enregistré, la création du site se fera après quelques minutes, et vous percevrez un voyant en rouge en haut, indiquant le nombre de tâche qu'ISPCONFIG est en train de lancer pour appliquer les changements.

4. Création de la base de données dans le VPS ISPCONFIG Nginx

La prochaine étape après la création du site est la création de la base de données de votre site.

Recréez la base de données de votre site en suivant la procédure mentionnée dans cet article "Comment créer une base de données sous ISPConfig ?"

Reproduisez convenablement les informations de la base de données de votre site :

  • l'utilisateur et le mot de passe de la base de données devrait être exactement le même
  • le nom de la base de données de votre site devrait également être le même
  • reproduisez les mêmes paramètres que votre ancienne base de données

Comment importer les fichiers web du site dans le VPS ISPCONFIG Nginx ?

Pour vous permettre de déposer les fichiers web que vous venez de sauvegarder via FTP, il vous faudrait créer un utilisateur ftp dans votre serveur VPS ISPCONFIG Nginx. Suivez les indications dans cet article "Comment créer un compte FTP sous ISPConfig ?" pour créer un compte ftp pour votre site.

Une fois que votre compte ftp est créé, vous pouvez vous connecter sur le site dans l'autre VPS, en utilisant votre logiciel ftp client préféré.

Quand vous serez connectés :

  • ouvrez dans le site local le dossier de sauvegarde de votre site
  • ouvrez dans le site distant le répertoire "web/"
  • Sélectionnez tous les fichiers web de votre site sauvegardés localement
  • Faites un clic droit sur les fichiers sélectionnés et cliquer sur "Envoyer" pour téléverser les fichiers web dans le nouveau serveur

Comment migrer un site Prestashop d'un VPS ISPCONFIG Apache vers Nginx

Comment importer la base de données pour le nouveau site dans le VPS ISPCONFIG Nginx ?

L'importation de la base de données de votre site se fait également via l'utilitaire phpmyadmin sur le VPS ISPCONFIG Nginx. Ainsi, comme pour l'exportation, vous devez vous connecter sur phpmyadmin du VPS Nginx.

Attention ! Les ports utilisés pour phpmyadmin sur un VPS ISPCONFIG Apache et un VPS ISPCONFIG Nginx sont différents

Sur le VPS Nginx, il vous faudra accéder à l'url de phpmyadmin.  Celle-ci est communiquée dans l'email de livraison du VPS, et il est de cette forme :

"https://vpsXXXXX.serveur-vps.net:8081/phpmyadmin" (XXXXX étant le numéro du vps)

Une fois sur la première authentification, tapez :

  • "root" comme nom d'utilisateur
  • et saisissez le mot de passe admin d'ISPCONFIG dans le champ mot de passe
  • Validez

Comment migrer un site Prestashop d'un VPS ISPCONFIG Apache vers Nginx

Vvous arriverez sur l'authentification de phpmyadmin où vous devez taper les accès de l'utilisateur de la base de données que vous avez créé pour le site.

Comment migrer un site Prestashop d'un VPS ISPCONFIG Apache vers Nginx

Ensuite, pour l'importation de la base de données : choississez la base de données --> cliquez sur "Importer" --> cliquez sur "Choisir un fichier" 

Comment migrer un site Prestashop d'un VPS ISPCONFIG Apache vers Nginx

Choisissez le fichier sql de la base de données exportée dans vos repértoires locaux, naviguez plus bas et cliquez le bouton "importer" pour lancer l'importation.

Comment migrer un site Prestashop d'un VPS ISPCONFIG Apache vers Nginx

Le temps de l'importation dépendra de la performance de votre connexion internet et de la taille de votre base de données.

Comment faire les ajustements dans les configurations du site afin qu'il puisse bien fonctionner ?

Sur une configuration avec Nginx, vous devriez faire des ajustements au niveau du paramètre de votre site, afin que les redirections de base définies sur Prestashop soit conforme au syntaxe de Nginx.

Attention ! Il est déconseillé d'utiliser les fichiers .htaccess sur Nginx, ce qui signifie que les paramètres de redirection ainsi que les directives sur le fichier .htaccess de votre boutique devraient être ajustés à sa syntaxe et ajoutés via les directives Nginx sur ISPCONFIG

Avant de pouvoir définir les redirections, il vous faudrait noter le lien vers l'interface d'administration de votre boutique. Ce lien se présente sous la forme suivante :

https://nomdelaboutique.tld/adminxxxxxxxxx (xxxxxxxxx étant une suite de caractère aléatoire générée par Prestashop juste après l'installation de la boutique)

Notez bien la dernière partie "adminxxxxxxxxx" car il est différent sur chaque site.

Pour définir des redirections, il vous faudra ajouter des options dans les paramètres du site sur ISPCONFIG, en suivant la procédure suivante :

  • Connectez vous sur ISPCONFIG sur votre VPS Nginx
  • Naviguez sur : Sites --> Nom du site --> onglet "Options" --> "nginx Directives"
  • Et ajoutez-y ces lignes : 
rewrite ^/(\d)(-[\w-]+)?/.+\.jpg$ /img/p/$1/$1$2.jpg last;
rewrite ^/(\d)(\d)(-[\w-]+)?/.+\.jpg$ /img/p/$1/$2/$1$2$3.jpg last;
rewrite ^/(\d)(\d)(\d)(-[\w-]+)?/.+\.jpg$ /img/p/$1/$2/$3/$1$2$3$4.jpg last;
rewrite ^/(\d)(\d)(\d)(\d)(-[\w-]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5.jpg last;
rewrite ^/(\d)(\d)(\d)(\d)(\d)(-[\w-]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6.jpg last;
rewrite ^/(\d)(\d)(\d)(\d)(\d)(\d)(-[\w-]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7.jpg last;
rewrite ^/(\d)(\d)(\d)(\d)(\d)(\d)(\d)(-[\w-]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8.jpg last;
rewrite ^/(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(-[\w-]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9.jpg last;
rewrite ^/c/([\w.-]+)/.+\.jpg$ /img/c/$1.jpg last;

# AlphaImageLoader for IE and FancyBox.
rewrite ^images_ie/?([^/]+)\.(gif|jpe?g|png)$ js/jquery/plugins/fancybox/images/$1.$2 last;

# Web service API.
rewrite ^/api/?(.*)$ /webservice/dispatcher.php?url=$1 last;

# Installation sandbox.
rewrite ^(/install(?:-dev)?/sandbox)/.* /$1/test.php last;

location / {
  try_files $uri $uri/ /index.php$is_args$args;
}

location /adminxxxxxxxxx/ {
  if (!-e $request_filename) {
    rewrite ^ /adminxxxxxxxxx/index.php last;
  }
}

# .htaccess, .DS_Store, .htpasswd, etc.
location ~ /\. {
  deny all;
}

# Source code directories.
location ~ ^/(app|bin|cache|classes|config|controllers|docs|localization|override|src|tests|tools|translations|var|vendor)/ {
  deny all;
}

# vendor in modules directory.
location ~ ^/modules/.*/vendor/ {
  deny all;
}

# Prevent exposing other sensitive files.
location ~ \.(log|tpl|twig|sass|yml)$ {
  deny all;
}

# Prevent injection of PHP files.
location /img {
  location ~ \.php$ { deny all; }
}

location /upload {
  location ~ \.php$ { deny all; }
}
  • Puis enregistrez. Les changements s'appliqueront après quelques minutes.

Comment migrer un site Prestashop d'un VPS ISPCONFIG Apache vers Nginx

Attention ! Toutes les directives contenant la partie "adminxxxxxxxxx" du lien vers l'interface d'administration devraient être remplacées par celle que vous avez noté précedemment

Une fois que vous avez effectués toutes ces procédures, il ne reste plus que le pointage de votre domaine vers le VPS ISPCONFIG Nginx.

Comment pointer la zone DNS de votre site vers le nouveau serveur VPS ?

La dernière partie qui s'agit du pointage DNS dépendra de votre configuration DNS. Pour pointer votre DNS, il vous faudrait savoir où est gérée la zone DNS de votre domaine.

  • Si elle est gérée via l'autre serveur ISPCONFIG avec Apache, vous avez deux possibilités : 

1. vous pouvez directement mettre à jour l'enregistrement de type A du domaine dans le VPS ISPCONFIG Apache

  • Connectez-vous sur ISPCONFIG
  • Allez dans l'onglet DNS
  • Choisissez la zone dns de votre domaine de la forme "mondomaine.tld."
  • Parmis les enregistrements, cliquez sur l'enregistrement de type A pour votre site de la forme "mondomaine.tld."
  • Mettez à jour la valeur de l'adresse ip en remplacant l'adresse ip de votre ancien serveur par celui du nouveau
  • Enregistrez
  • Refaites la même procédure si l'enregistrement www de votre domaine est également de type A

Comment migrer un site Prestashop d'un VPS ISPCONFIG Apache vers Nginx

2. ou recréer la zone DNS sur le VPS Nginx et mettre à jour les serveurs DNS principal et sécondaire en suivant les indications dans cet article "Comment créer un serveur DNS dans ISPConfig sur un serveur dédié VPS ?"

  • S'il est géré via un autre paneau, il vous faudrait vous connecter sur l'interface de gestion de la zone DNS de votre domaine pour changer l'adresse ip.

Une fois les paramètres appliqués, il ne vous faudrait plus que de patienter le temps de propagation DNS et votre site sera migré sur le nouveau serveur.

Comment remettre en place le certificat Let's Encrypt sur votre site ?

Après cela, vous pouvez créer un certificat Let's Encrypt sur le site qui vient d'être migré en accédant sur l'interface ISPCONFIG du VPS Nginx, en cochant l'option "Let's Encrypt" via le paramètre du site, et enfin en sauvegardant.

Comment migrer un site Prestashop d'un VPS ISPCONFIG Apache vers Nginx

La mise en place de certificat Let's Encrypt se fera après quelques minutes.

Après cela, vous pouvez enfin enlever la mode maintenance afin que vos clients puissent à nouveau visiter votre site, et y passer des commandes.

Conclusion

Vous êtes désormais en mesures de migrer votre site Prestashop à partir d'un VPS ISPCONFIG avec Apache vers un VPS ISPCONFIG avec Nginx. N'hésitez surtout pas à "déclencher une infogérance" si vous souhaitez profiter de l'expertise de notre equipe pour effectuer la migration à votre place.

Notez cet article :

5/5 | 2 avis

Cet article vous a été utile ?

Article utileOui

Article non utileNon

Vous souhaitez nous laisser un commentaire concernant cet article ?

Si cela concerne une erreur dans la documentation ou un manque d'informations, n'hésitez pas à nous en faire part depuis le formulaire.

Pour toute question non liée à cette documentation ou problème technique sur l'un de vos services, contactez le support commercial ou le support technique

checkMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Articles similaires

1mn de lecture

Comment migrer un site Wordpress d'un VPS ISPCONFIG Apache vers Nginx

2mn de lecture

Comment ajouter un site web sur un serveur dédié VPS ISP Config ?

1mn de lecture

Comment créer un sous-domaine dans un serveur dédié VPS ?

1mn de lecture

ISPconfig - Comment associer mon nom de domaine à mon serveur VPS ?


Poser une question à l'équipe LWS et à sa communauté