II. Installation et migration de PHPBoost

Changement d'hébergement ou de serveur avec phpMyAdmin

Dernière mise à jour : 21/09/2020 à 08h47
Transférer son site d'un hébergeur Web à un autre ou d'un serveur local vers un hébergement Web avec PHPBoost est très simple. Nous allons voir cela ensemble.

Sauvegarde de la base de données




La totalité du contenu de votre site est stocké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 il vous suffit de vous connecter au panel phpMyAdmin (en général tous les hébergeurs le proposent).

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 (ou du local vers votre hébergeur). 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 chez l'hébergeur




Une fois le transfert des fichiers vers l'hébergeur terminé allez sur le FTP, cherchez le dossier "kernel" puis "db" puis editer le fichier nommé "config.php" (le chemin complet est donc /kernel/db/config.php)

Ce fichier devrait alors être ceci (sauf les valeurs bien sûr).

Code PHP :
<?php
$db_connection_data = array (
  'dbms' => 1,
  'dsn' => 'mysql:host=127.0.0.1;port=3306dbname=phpboost',
  'driver_options' => 
  array (
  ),
  'host' => '127.0.0.1',
  'port' => '3306',
  'login' => 'phpboost',
  'password' => 'lovephpboost',
  'database' => 'phpboost',
);
defined('PREFIX') or define('PREFIX' , 'phpboost_');
defined('PHPBOOST_INSTALLED') or define('PHPBOOST_INSTALLED', true);
require_once PATH_TO_ROOT . '/kernel/db/tables.php';
?>


Maintenant vous allez adapter ce fichier par rapport aux informations de votre hébergeur.

Par exemple cela pourrait donner :

Code PHP :
<?php
$db_connection_data = array (
  'dbms' => 1,
  'dsn' => 'mysql:host=sql1;port=3306dbname=janus57phpboost',
  'driver_options' => 
  array (
  ),
  'host' => 'sql1',
  'port' => '3306',
  'login' => 'janus57phpboost',
  'password' => 'lovephpboost',
  'database' => 'janus57phpboost',
);
defined('PREFIX') or define('PREFIX' , 'phpboost_');
defined('PHPBOOST_INSTALLED') or define('PHPBOOST_INSTALLED', true);
require_once PATH_TO_ROOT . '/kernel/db/tables.php';
?>


Voici en gras les informations à changer :

Citation :
<?php
$db_connection_data = array (
'dbms' => 1,
'dsn' => 'mysql:host=sql1;port=3306dbname=janus57phpboost',
'driver_options' =>
array (
),
'host' => 'sql1',
'port' => '3306',
'login' => 'janus57phpboost',
'password' => 'lovephpboost',
'database' => 'janus57phpboost',
);
defined('PREFIX') or define('PREFIX' , 'phpboost_');
defined('PHPBOOST_INSTALLED') or define('PHPBOOST_INSTALLED', true);
require_once PATH_TO_ROOT . '/kernel/db/tables.php';
?>


sql1 = l'adresse du serveur SQL fournit par votre hébergeur

janus57phpboost = le login SQL fournit par votre hébergeur

janus57phpboost = le nom de la BDD (Base De Donnée) qui soit est fournit par votre hébergeur soit vous l'avez définit (cela dépend des hébergeurs)

À ce stade les informations nécessaires pour que PHPBoost se connecte au serveur MySQL devraient être correctes

Maintenant il faut reste juste à importer la sauvegarde (toujours via phpMyAdmin) que vous avez exportée via votre phpMyAdmin local ou chez votre ancien hébergeur.

À ce stade, les informations nécessaires pour que PHPBoost se connecte au serveur MySQL devraient être correctes.

De plus maintenant les données de votre ancienne BDD sont maintenant dans la nouvelle chez votre nouvel hébergeur/serveur, vous pouvez donc passer à l'étape suivante.


Migration du serveur




Après avoir fait une sauvegarde de votre base de données (impératif), et transféré l'ensemble des fichiers, maintenant 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
/*##################################################
 *                                index.php
*                            -------------------
*   begin                : May 14, 2012
*   copyright            : (C) 2012 Kévin MASSY
*   email                : soldier.weasel@gmail.com
*
*
###################################################
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
*
###################################################*/
 
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';
 
define('TIMEZONE_USER', 3);
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 = 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, serialize($general_config));
 
 echo 'Success';
}
 
$site_url = $general_config->get_site_url();
$site_path = $general_config->get_site_path();
?>
 
<form action="" method="post">
 <fieldset>
  <legend>Migration</legend>
  <dl>
   <dd>
    <label>Url :&nbsp;</label><input type="text" size="65" maxlength="100" id="url" name="url" value="<?php echo $site_url ?>" class="text" />
   </dd>
   <dd>
    <label>Path :&nbsp;</label><input type="text" size="65" maxlength="100" id="path" name="path" value="<?php echo $site_path ?>" class="text" />
   </dd> 
  </dl>
  <div>
   <input type="submit" name="submit" value="Submit" class="submit" />
  </div>
 </fieldset>
</form>
<style>
<!--
textarea {
 display:block;
 width:94%;
 margin:auto;
 -moz-border-radius:5px;
 -khtml-border-radius:5px;
 -webkit-border-radius:5px;
}
div {
 text-align:center;
}
input.text{
 padding:2px; 
 -moz-border-radius:3px;
 -khtml-border-radius:3px;
 -webkit-border-radius:3px;
 width:400px;
 margin-top:5px;
}
 label {
 width:50px;
 margin-top:5px;
 text-align:right;
 display:inline;
 float:left;
}
input.submit, button.submit{
 padding:1px 2px;
 font-family:Verdana, 'Bitstream Vera Sans', Times, serif;
 border:1px solid #515C68;
 border-top:1px solid #8498ae;
 color:#515C68;
 font-weight:bold;
 font-size:10px;
 -moz-border-radius:5px;
 -khtml-border-radius:5px;
 -webkit-border-radius:5px;
 border-radius:5px;
 cursor:pointer;
 margin:7px auto;
}
fieldset{
 width: 500px;
 font-family:"Lucida Grande","Lucida Sans Unicode",Verdana,'Bitstream Vera Sans',Times,serif;
 margin:20px auto;
 padding:6px;
 border:1px solid #CCCCCC;
 color:#445766;
 background:#eceeef;
 position:relative;
 -moz-border-radius:5px;
 -khtml-border-radius:5px;
 -webkit-border-radius:5px;
}
legend {
 background:#7191AA;
 color:#FFF;
 -moz-border-radius:5px;
 -khtml-border-radius:5px;
 -webkit-border-radius:5px;
 border-radius:5px;
 padding:3px 5px;
 border: 1px solid #CCC;
}
-->
</style>


  • Enregistrez ce code où vous le souhaitez, au format PHP, et nommez le server_migration (Vous pouvez aussi récupérer le fichier "zippé" 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 de voir 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 :

migration

Le champ URL correspondant à la nouvelle adresse de votre site. Par exemple, avant c'était www.mon-site.fr 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.

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 (que vous avez transféré), allez dans Administration->Configuration->Configuration avancée 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.

A ce stade une fois les bonnes informations validées elles sont enregistrées en BDD, vous pouvez donc effectuer la dernière étape.

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