Dernière mise à jour : 13/05/2020 à 17h49
Table des matières
Ce tutoriel explique pas à pas la procédure de transfert de son site d'un serveur à un autre. Cela peut être entre deux serveurs hébergés en ligne ou entre un serveur en ligne et l'autre en local et inversement.
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 distinctes 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 migration du serveur.
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 le module Base de données.
- 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 migration du serveur.
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:
www.monnouveausite.ext/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 informations 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
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.