Changement d'hébergement ou de serveur

Changement d'hébergement ou de serveur

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Dernière mise à jour : 19/02/2019 à 18h09
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 s'offrent à vous:

Sauvegarde et restauration via phpMyAdmin



phpMyAdmin (pma) est fourni par la majorité des hébergeurs et des émulateurs de serveur local.
  1. Sauvegardez la totalité des données de l'ancien site via pma
  2. Modifiez le fichier kernel/db/config.php du nouveau site en renseignant les nouveaux identifiants de connexion
  3. 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.
  1. Sauvegardez la totalité des données de l'ancien site via pma
  2. Ajoutez le dossier install à votre nouveau site et installez le nouveau site
  3. 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 :&nbsp;</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 :&nbsp;</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 :
migration

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.mon-site.fr, vous mettrez donc www.mon-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écidé de le mettre dans un dossier, ce sera /nom_du_dossier.
Sur un hébergement en ligne, il faudra impérativement supprimer le fichier server_migration.php après la migration, pour des raisons de sécurité !

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.