Dernière mise à jour : 19/02/2019 à 17h11
Table des matières
Sauvegarde de la base de données
La totalité du contenu de votre site est enregistrée dans une base de données. Celle-ci fournit un service de stockage et récupération de données.
Pour récupérer votre site exactement comme il était avant, vous allez devoir faire une sauvegarde de votre base de données actuelle. Pour cela, nous vous invitons à regarder cet article.
Transfert des fichiers
Transférez tous les fichiers et répertoires de votre serveur FTP de l'ancien hébergement vers le serveur FTP du nouvel hébergement. Pour cela, nous vous invitons à regarder cet article (au lieu de copier vers le serveur en ligne, vous copierez vers le serveur local ou nouveau serveur.)
Restauration de la base de données sur le nouveau serveur
Il va falloir restaurer votre base de données, de façon à transférer l'ensemble du contenu que vous aviez sur l'ancien site, ainsi que sa configuration. Pour cela, rendez vous dans le panneau d'administration du nouveau site puis Outils->Base de données. Cliquez sur Parcourir, et choisissez votre fichier à restaurer (celui que vous avez créé lors de la première étape). Cliquez ensuite sur Restaurer pour faire la restauration de la base de données.
Migration du serveur
Après avoir fait une sauvegarde de votre base de données (impératif) et transféré l'ensemble des fichiers, vient le moment du transfert de l'adresse du site. Et là encore, rien de bien difficile.
Copiez/collez ce code dans un éditeur de texte (Notepad++, ...)
Code PHP :
<?php /** * @copyright © 2005-2019 PHPBoost * @license https://www.gnu.org/licenses/gpl-3.0.html GNU/GPL-3.0 * @author Kevin MASSY <reidlos@phpboost.com> * @version PHPBoost 5.2 - last update: 2019 02 19 * @since PHPBoost 3.0 - 2012 05 14 * @contributor Julien BRISWALTER <j1.seth@phpboost.com> * @contributor Sebastien LARTIGUE <babsolune@phpboost.com> */ define('PATH_TO_ROOT', '.'); require_once PATH_TO_ROOT . '/kernel/framework/io/data/cache/CacheData.class.php'; require_once PATH_TO_ROOT . '/kernel/framework/io/data/config/ConfigData.class.php'; require_once PATH_TO_ROOT . '/kernel/framework/io/data/config/AbstractConfigData.class.php'; require_once PATH_TO_ROOT . '/kernel/framework/phpboost/config/GeneralConfig.class.php'; require_once PATH_TO_ROOT . '/kernel/framework/helper/TextHelper.class.php'; require_once PATH_TO_ROOT . '/kernel/framework/util/Date.class.php'; $config_file = PATH_TO_ROOT . '/cache/CacheManager-kernel-general-config.data'; if (file_exists($config_file)) { $general_config = TextHelper::unserialize(file_get_contents($config_file)); } else { $general_config = new GeneralConfig(); $general_config->set_default_values(); } if (isset($_POST['url']) && isset($_POST['path'])) { $general_config->set_site_url($_POST['url']); $general_config->set_site_path($_POST['path']); file_put_contents($config_file, TextHelper::serialize($general_config)); echo 'Success'; } $site_url = $general_config->get_site_url(); $site_path = $general_config->get_site_path(); ?> <!DOCTYPE html> <html lang="en"> <head> <title>Server migration</title> <meta charset="UTF-8" /> <meta name="generator" content="PHPBoost" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="templates/default/theme/default.css" type="text/css" media="screen, print" /> <link rel="stylesheet" href="templates/default/theme/admin_design.css" type="text/css" media="screen, print" /> <link rel="stylesheet" href="templates/default/theme/admin_form.css" type="text/css" media="screen, print" /> <link rel="stylesheet" href="templates/default/theme/admin_colors.css" type="text/css" media="screen, print" /> </head> <body itemscope="itemscope" itemtype="http://schema.org/WebPage"> <form action="" method="post" class="fieldset-content"> <fieldset> <legend><h1>Migration</h1></legend> <div class="fieldset-inset"> <div class="form-element half-field"> <label for="url">Url : </label> <input type="text" size="55" maxlength="100" id="url" name="url" value="<?php echo $site_url ?>"> </div> <div class="form-element half-field"> <label for="path">Path : </label> <input type="text" size="55" maxlength="100" id="path" name="path" value="<?php echo $site_path ?>"> </div> </div> </fieldset> <fieldset class="fieldset-submit"> <div class="fieldset-inset"> <button class="submit" type="submit" name="submit" value="true">Submit</button> </div> </fieldset> </form> </body> </html>
- Enregistrez ce code où vous le souhaitez, au format PHP, et nommez le server_migration (Vous pouvez aussi récuperer le fichier "zipé" server_migration.zip)
- Transférez-le sur le FTP du nouveau site, à la racine du dossier, si vous avez mis PHPBoost dans un dossier, ou à la racine du serveur, si PHPBoost est à la racine de votre serveur
- Ensuite, vous allez devoir l'appeler. Pour cela entrez l'adresse du nouveau site et rajoutez à la fin server_migration.php (Attention, ne mettez pas www.example.org/news/news.php/server_migration.php, mais www.example.org/server_migration.php. Si PHPBoost est dans un dossier, ce sera www.example.org/dossier/server_migration.php)
Après avoir rentré l'adresse, vous tomberez sur :

Le champ URL correspondant à la nouvelle adresse de votre site. Par exemple, avant c'était www.example.org et dans votre nouvel hébergement vous avez choisi www.ton-site.fr, vous mettrez donc www.ton-site.fr.
Le champ Path correspondant à l'emplacement qu'aura PHPBoost sur votre hébergement. Si vous avez choisi de le transférer à la racine, ce sera seulement /, si vous avez décidez de le mettre dans un dossier, ce sera /nom_du_dossier.
Ajustement de la configuration du nouveau site
Votre nouveau site doit maintenant fonctionner mais il faut faire en sorte de pérenniser le changement que nous venons de faire en le faisant rentrer dans la base de données (le cache n'est qu'une photo à un instant donné du contenu de la base de données), si le cache est régénéré, ce sont les valeurs de la base de données qui seront utilisées.
Dans le panneau d'administration du site, allez dans Administration->"Configuration"->"Configuration avancée" (article pour les liens) puis vérifiez que l'adresse et le chemin du site sont les bons (sinon modifiez-les) puis cliquez sur envoyer de façon à enregistrer en base de données les informations.
Régénération globale du cache
Pour éviter les soucis, il est recommandé de régénérer l'ensemble du cache, même si ce n'est pas obligatoire. Pour cela, il faut aller dans le panneau d'administration Outils->Cache, puis cliquez sur vider.
Voilà, votre site devrait être transféré correctement. Si vous rencontrez des difficultés, n'hésitez pas à demander de l'aide sur le forum de support.