Dernière mise à jour : 19/02/2019 à 18h48
Table des matières
Transfert des fichiers
Transférez tous les fichiers et répertoires de votre site ("ancien site") vers son nouvel hébergement ("nouveau site").
Transfert de la base de données
Deux solutions s'offrent à vous:
Sauvegarde et restauration via phpMyAdmin
phpMyAdmin (pma) est fourni par la majorité des hébergeurs et des émulateurs de serveur local.
- Sauvegardez la totalité des données de l'ancien site via pma
- Modifiez le fichier kernel/db/config.php du nouveau site en renseignant les nouveaux identifiants de connexion
- Restaurez les données pour le nouveau site via pma sur la nouvelle base de donnée
À ce stade le site est réinstallé mais vous devez maintenant appliquer la [url="#migration-du-serveur"]migration du serveur[/url]
Sauvegarde et restauration via le module Base de données
Le module Base de données (database) est fourni avec PHPBoost.
- Sauvegardez la totalité des données de l'ancien site via pma
- Ajoutez le dossier install à votre nouveau site et installez le nouveau site
- Restaurez les données issues de l'ancien site sur le nouveau site via le module Base de données
En fin de restauration vous allez être redirigé vers une page d'erreur sur l'ancien site, ce qui est normal, votre nouveau site est à ce stade installé mais avec la configuration de l'ancien. Il faut maintenant appliquer la [url="#migration-du-serveur"]migration du serveur[/url]
Migration du serveur
Téléchargez l'archive server_migration.zip et placez son contenu (le fichier server_migration.php) à la racine de votre nouveau site
Pour les plus avertis, vous pouvez créer le fichier server_migration.php avec ce contenu :
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>
Dans la barre d'adresse du navigateur, entrez l'adresse du nouveau site et rajoutez à la fin server_migration.php. Attention si PHPBoost est dans un dossier, ce sera
www.monnouveausite.ext/dossier/server_migration.php
Après avoir rentré l'adresse, vous tomberez sur :

Les champs apparaissent en étant déjà renseignés avec les infos de l'ancien site
- Modifiez le champ URL avec la nouvelle adresse de votre site:
http(s)://www.monouveausite.ext
- Modifiez le champ Path correspondant à l'emplacement qu'aura PHPBoost sur votre hébergement
- si phpboost est à la racine du site
/
- s'il est dans un sous-dossier du site
/chemin/vers/phpboost
-
Ajustement de la configuration du nouveau site
Votre nouveau site est quasiment opérationnel. Il faut maintenant pérenniser le changement que nous venons de faire en le validant dans la base de données .
Dans le panneau d'administration du site, allez dans
Administration->Configuration->Configuration avancée
- Vérifiez que l'adresse et le chemin du site sont les bons, sinon modifiez-les
- Modifiez les information de Contenu du fichier .htaccess s'il en existe.
- Cliquez sur envoyer de façon à enregistrer en base de données les nouvelles 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.