Changement d'hébergement ou de serveur

Changement d'hébergement ou de serveur

Dernière mise à jour : 13/05/2020 à 17h49

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").

Une fois le transfert effectué, supprimez le fichier .htaccess situé à la racine du 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.
  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 migration du serveur.

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 le module Base de données.
  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 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 :&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:
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 :
migration

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.
    • /chemin/vers/phpboost
      s'il est dans un sous-dossier du site.


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 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.
Cette page a été vue 39059 fois