L’une des plus grosses galères, lorsqu’on souhaite accueillir un nouveau sur un bon hébergement, c’est de récupérer son site sur son hébergement mutualisé bon marché.

En effet, les hébergements tels que les plans d’hébergement mutualisé PERO d’OVH (ou éventuellement un hébergement IONOS) ne proposeraient qu’un accès FTP pour travailler. C’est-à-dire qu’il n’offre pas d’accès à un shell SSH et pas de gestionnaire de fichier digne de ce nom type cPanel.

Source : https://www.mister-wp.com/guests/quel-hebergeur-web/

Quasi-impossible d’être efficace là-dessus.

Si vous êtes ici, vous devez probablement penser comme moi que le protocol FTP est obsolète !?

Il reste bien sûr l’option de demander au client (ou à l’ancien webmaster du client) de bien vouloir upgrader son plan d’hébergement (IONOS ou OVH par exemple) vers un plan PRO qui offre un accès à un shell SSH ou mieux, un plan qui propose cPanel. Cependant, renvoyer la balle au client peut le faire fuir en pensant cela : pourquoi mon ancien webmaster a-t-il pu se débrouiller avec FTP, et ce nouveau spécialiste me dit qu’il faut que j’upgrade vers un plan avec SSH ? 

Difficile de faire comprendre au client qu’il est très facile de construire un site Web sur un petit plan mutualisé PERSO d’OVH (ou éventuellement un hébergement IONOS). Il suffit de lancer un « installateur de script » pour installer un CMS tel que WordPress, et votre hébergement mutualisé sera alors rempli avec des centaines/milliers de fichiers qu’il serait impossible de récupérer avec un accès FTP seul.

Et ne comptez pas sur un plugin de migration tel que Duplicator si votre site est un peu volumineux…

D’ailleurs, il peut être utile pour vous de connaître l’espace disque occupé par le site en question et sans gestionnaire de fichiers, ni panel de gestion, digne de ce nom, il vous faudra un…

Script PHP pour connaître la taille d’un répertoire (php get directory size)

Cette discussion sur Github (dans son ensemble, devrait vous intéresser : https://gist.github.com/eusonlito/5099936

Sinon, vous pouvez utiliser mon script à placer à la racine du site, mais il est un peu lent : 

<?php
function dir_size($directory) {
$size = 0;
foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory)) as $file){
$size += $file->getSize();
}
return $size;
}
function format_size($size) {
$mod = 1024;
$units = explode(' ','B KB MB GB TB PB');
for ($i = 0; $size > $mod; $i++) {
$size /= $mod;
}
return round($size, 2) . ' ' . $units[$i];
}
echo format_size(dir_size('./'));
?>

Espace disponible sur le compte d’hébergement que l’on quitte ?

Avant de se lancer dans la création d’une archive volumineux, il peut être utile de savoir combien d’espace disque il reste sur notre hébergement mutualisé OVH (ou éventuellement un hébergement IONOS).

Utilisez le script PHP suivant sur une système Linux (équivalent à la fonction df) :

<?php
function size($size, array $options=null) {
$o = [
'binary' => false,
'decimalPlaces' => 2,
'decimalSeparator' => '.',
'thausandsSeparator' => '',
'maxThreshold' => false, // or thresholds key
'sufix' => [
'thresholds' => ['', 'K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y'],
'decimal' => ' {threshold}B',
'binary' => ' {threshold}iB'
]
];
if ($options !== null)
$o = array_replace_recursive($o, $options);
$count = count($o['sufix']['thresholds']);
$pow = $o['binary'] ? 1024 : 1000;
for ($i = 0; $i < $count; $i++)
if (($size < pow($pow, $i + 1)) ||
($i === $o['maxThreshold']) ||
($i === ($count - 1))
)
return
number_format(
$size / pow($pow, $i),
$o['decimalPlaces'],
$o['decimalSeparator'],
$o['thausandsSeparator']
) .
str_replace(
'{threshold}',
$o['sufix']['thresholds'][$i],
$o['sufix'][$o['binary'] ? 'binary' : 'decimal']
);
}
echo "Free disk space<br>";

var_dump(size(disk_free_space('/')));

?>

Hébergement mutualisé pas cher ?

Ces plans d’hébergement pas chers restreignent les ressources serveurs ainsi que les temps maximum d’exécution. Dans 9 cas sur 10, lorsqu’on veut migrer un site depuis un plan Perso OVH (ou éventuellement un hébergement IONOS) avec un plugin comme Duplicator, on reçoit une « Timeout Error », tout simplement parce que le temps d’archivage est trop long et lourd pour le serveur les ressources qui sont allouées à l’espace d’hébergement.

Heureusement, il existe des solutions ! 😀

Nous avions déjà parlé de la possibilité de créer un script PHP afin de réaliser une archive compressée (.zip) des fichiers de son hébergement mutualisé PERSO OVH. Mais aujourd’hui, nous allons aller encore plus loin avec une procédure beaucoup plus intuitive, rapide et fiable.

Il s’agirait d’utiliser…

Un Shell PHP

Il en existe plusieurs tels que p0wny-shell par exemple.

Vous pouvez en trouver un certain nombre sur github : https://github.com/search?q=php+shell

Mais aujourd’hui, nous allons parler…

Du Shell PHP b374k.php (Tutoriel)

Tout d’abord, rendez-vous sur sa page de présentation GitHub https://github.com/b374k/b374k et cliquez sur « …download« .

Ensuite, décompressez simplement l’archive téléchargée, et par mesure de sécurité, renommez le dossier avec une chaîne de caractères aléatoire.

Utilisez votre client FTP favori pour envoyer le tout à la racine de votre site Web (/www/, /public_html/…). Seulement 30 fichiers, ça va vite pour le coup ! 

Comment migrer un site depuis un hébergement mutualisé OVH ou IONOS ?

Rendez-vous sur votre site Web https://www.example.com/b374k-master-12345ABCDE/ (utilisez la chaîne de caractère inspirante de tout à l’heure) 😉
Cliquez simplement sur RUN :

Vous allez alors vous retrouver dans une magnifique interface graphique pleine d’options, où vous allez pouvoir naviguer dans vos dossiers grâce à des clics de souris, n’est-ce pas merveilleux ?

La fonctionnalité qui nous intéresse, c’est la possibilité de compresser un dossier sous forme d’archive (.zip par exemple). Pour cela, il suffit de sélectionner votre répertoire en cochant la case à côté de son nom > Action > Compress ! Un jeu d’enfant.

Attention, pour de meilleures performances, vous pouvez aussi choisir de créer une archive .TAR, plus rapide, moins gourmande (mais moins compressée).

Choisissez un petit nom pour votre archive et cliquez sur Compress !

L’opération va prendre quelques minutes avant d’afficher le message « Operation succeeded ».

Certains pourraient regretter qu’il n’y ait pas de barre de chargement progressive, ou au moins une indication de progression type « pourcentage », mais on ne va pas trop en demander non plus ! Ce n’est simplement pas possible techniquement avec la fonction « zip » (je pense).
Pour ma part, cela a pris environ 5 minutes pour une archive de 500 Mo environ. Vérifiez la taille de votre site et comptez- en moyenne au moins 1 minute par 100Mo, à la grosse louche. Cela dépend bien sûr du serveur et surtout, du nombre de fichiers. Il est plus rapide de créer une archive de 500 Mo avec 10 fichiers dedans, que de compresser des centaines de fichiers. Bref.

Soyez patients.

Me voilà avec une belle archive d’environ 500 Mo ! 😀 

Rendez-vous ensuite à l’adresse du fichier, via votre navigateur, pour récupérer l’archive…

Et si c’est trop lent parce que la bande passante que vous alloue le serveur est trop faible, utilisez votre gestionnaire de téléchargement favori : jDownloader. En partitionnant le téléchargement, ça va aller beaucoup plus vite.

Pour les pros, il est aussi possible de récupérer votre archive grâce à la commande WGET de votre hébergement disposant d’un accès au shell SSH.

Pensez à passer User Agent en paramètre pour passer le pare-feu d’OVH (ou éventuellement un hébergement IONOS) :

wget -U "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" https://www.example.com/BKP24avr.zip

Pas belle la vie ? 🙂

Attention : pensez à supprimer le dossier b374k-master-XXX de votre serveur immédiatement après avoir récupéré l’archive, sinon n’importe quel hacker disposant de l’adresse pourra prendre le contrôle de votre serveur et faire absolument ce qu’il veut de lui.

Si cette astuce vous a sauvé, merci de laisser un ÉNORME commentaire ci-dessous par inciter à partager ! 😉

Alerte Review Plugin à éviter : All-in-One WP Migration

Nous venons d’avoir une expérience très négative avec le plugin de la société d’origine bulgare, All-in-One WP Migration by Servmask. Société foncée par Yanislav Iliev, opérée depuis l’Asie (Nepal, Inde, Thaïlande) et l’Europe de l’est (Bulgarie, Russie), mais enregistrée au Delaware (paradis fiscal Américain). Pour vous faire votre propre avis sur All-in-One WP Migration, lisez ces reviews :

Cet avis personnel a été rédigé sur base de notre expérience client chez Servmask Inc, et les d’informations reprises ici sont publiques et consultables sur le site Angel.co et sur LinkedIn.

Autre solution pour migrer un site depuis un hébergement mutualisé OVH (ou éventuellement un hébergement IONOS)…

Laisser faire les pros : un hébergeur avec migration gratuite !

Lisez simplement la page de migration gratuite d’EasyHoster et laissez-vous assister par leur support technique :

→ https://www.easyhoster.com/migration-gratuite.php

Migrations offertes pour WordPress, ou tout type de sites Web… allez lire les conditions.

Hébergeur Web avec migration gratuite : EasyHoster !

Hébergement cPanel, avec le meilleur support WordPress ! -15%
Hébergement cPanel, avec le meilleur support WordPress !
Goûtez au confort d'un hébergement premium, à partir de 2,99€/mois. Bénéficiez de la puissance du dédié au prix du mutualisé.

Profitez de -15% sur votre première commande :
BIENVENUE15
VPS et serveurs dédiés très performants 100$ de crédits
VPS et serveurs dédiés très performants
Hébergeur idéal pour les projets spécifiques nécessitant un serveur dédié.

Obtenez 100$ de crédits (offerts sans engagement) en suivant notre lien d’affiliation.