Cloner votre site
Dupliquer un site existant
Cloner votre site
Il existe plusieurs raisons de vouloir cloner un site, parfois il s’agit de créer une version de test ou de créer un nouveau site reprenant la structure d’un site existant avec une url différente.
La méthode dépend du type de votre site, les manipulation ne sont pas toujours les mêmes qu’il s’agisse d’un WordPress, d’un Magento ou d’un Drupal par exemple.
Même si les principales étapes sont communes, ce document nécessitera bien souvent d’être adapté en fonction de la situation rencontrée.
Avertissement: les commandes suivantes sont a réaliser avec précaution et il est conseillé de sauvegarder toutes les données de votre site avant d’effectuer ces manipulations.
Procédure
Préparation
Créer un nouveau site vierge comme expliqué sur la page de création d’un site, si le site d’origine est déjà sur votre hébergement Ethersys, penser à reprendre les configurations spécifiques si nécessaire (version de PHP, paramètres avancés…).
De plus si votre site utilise une base de données, ce qui est généralement le cas, vous devrez aussi créer une nouvelle base de donnée.
Clonage des fichiers
L’utilitaire le plus adapté pour copier vos fichiers est rsync, pour créer une copie d’un site existant vers un nouveau dossier la commande à utiliser est la suivante
rsync -aL dossier_ancien_site/ dossier_nouveau_site
(pour information l’option a permet de créer une archive complète et l’option h indique qu’il faut copier le contenu des liens symbolique au lieu de les suivre)
Il est possible que l’adresse du site soit en dur dans les fichiers du site, pour cela on remplace l’adresse par la nouvelle dans les fichiers avec la commande.
find dossier_nouveau_site -type f -exec sed -i 's/adresse_ancien_site/adresse_nouveau_site/g' {} \;
Penser également à mettre à jour les fichiers de configuration de votre site avec les paramètres de votre nouvelle base de données.
Le fichier à éditer dépend de votre site, app/etc/local/xml pour un Magento, wp-config.php pour un WordPress …
Clonage de la base de donnée
Il vous faut faire une sauvegarde de la base de données du site d’origine avec la commande
mysqldump -u UTILISATEUR_ANCIENNE_BASE -p NOM_ANCIENNE_BASE > sauvegarde_base.sql
Pour pouvoir gérer le changement d’adresse du site, une façon simple est de remplacer l’ancienne adresse par la nouvelle dans le contenu de la sauvegarde de la base. Pour cela on peux utiliser la commande sed, avec la syntaxe suivante
sed -i 's/adresse_ancien_site/adresse_nouveau_site/g' sauvegarde_base.sql
On dispose maintenant d’une base à jour pour le nouveau site que l’on peux charger avec la commande suivante
mysql -u UTILISATEUR_NOUVELLE_BASE -p NOM_NOUVELLE_BASE < sauvegarde_base.sql
Vider le dossier de cache
En fonction du type de site, il est aussi important de vider le dossier de cache (var/cache pour Magento par exemple)
Éviter le référencement
Si votre nouveau site est simplement une démo ou une copie de travail, vous ne désirez probablement pas qu’il soit référencé.
N’oubliez donc pas de placer à la racine du site un fichier robots.txt contenant
User-agent: *
Disallow: /
Astuces diverses
Protéger votre site
Si en plus de la désactivation du référencement, vous souhaitez que votre site ne soit pas du tout accessible et protégé par des identifiant vous pouvez vous ajouter une authentification HTTP
Option MySQL incorrecte
Lors de l’import vous pouvez avoir une erreur MySQL du type
ERROR 1005 (HY000) at line 3854: Can't create table `database`.`table_name` (errno: 140 "Wrong create options")
Si le site était assez ancien, des options MySQL dépréciées peuvent être présentes dans la sauvegarde, pour les supprimer on peux également utiliser sed, par exemple avec la commande
sed -i 's/ROW_FORMAT=FIXED//g' sauvegarde_base.sql
Qui supprimera ce paramètre de toutes les lignes ou il apparaît.