[Doc] Sauvegarder/Restaurer sa BDD (Script de Ashe)

Découvrez ici une liste de documents concernant phpBB: son installation, sa mise à jour et enfin son utilisation.
En bref, apprenez ici à vous servir de phpBB2!

Modérateur: Equipe

[Doc] Sauvegarder/Restaurer sa BDD (Script de Ashe)

Messagede Elglobo le 05 Juin 2006 à 20:03

» Sauvegarder/Restaurer sa BDD (Script de Ashe)
Aujourd'hui, plusieurs outils vous sont disponibles afin de pouvoir sauvegarder ou restaurer votre base de données.
Dans ce tutorial, nous verrons comment, ces opérations parfois trés problèmatiques, peuvent facilement être faites grâce au script de Ashe.


» 1 - Mis en place du script de Ashe

Téléchargement du script de ashe
Télécharger donc l'archive nécessaire en cliquant Ici, puis enregistrez celle-ci sur votre bureau.

Décompression de l'archive
Afin de pouvoir décompresser cet archive, il vous faudra au préalable avoir installé un logiciel de compression/décompression tel que Winzip, Winrar ...
Une fois cela fait, effectuer un clic droit sur le fichier script_ashe.zip, et cliquez ensuite sur Extraire Ici.
Vous devrez à la fin de cet étape, retrouver sur votre bureau un répertoire nommé back.
Votre répertoire back devrait contenir les fichiers suivants :
  • backup.php => Script de sauvegarde;
  • restore_backup.php => Script de restauration;
  • installation.txt => License et Notice d'utilisation de l'auteur.
Installation du script sur votre forum phpBB
Ce script a l'avantage de n'apporter aucune modification au code de phpBB.
Il fonctionne ainsi de manière complètement indépendante, si ce n'est la reprise des informations de connexion à la base de données au travers du fichier config.php.

Pour installer ce script, il vous faut envoyer simplement sur votre FTP le répertoire back et tout son contenu, à la racine de votre forum.
La racine de votre forum correspond à l'endroit ou la page d'acceuil de votre forum se trouve (index.php).
Il vous faudra également au préalable avoir installé un client FTP, tel que FileZilla (Gratuit) ou FlashFXP (Payant), afin de pouvoir vous connectez à votre forum en FTP.

Avant de pouvoir lancer le fichier back/backup.php afin que votre sauvegarde s'éxécute, il vous faudra effectuer certaines vérifications.

Donner les droits en écritures
Il vous faut donc donner les droits en écriture au répertoire back qui sera l'endroit où seront stockés les fichiers de sauvegarde.
Pour se faire, connectez vous à votre FTP via votre client (FileZilla ou FlashFXP), rendez vous à la racine de votre forum, effectuer un clic droit sur le répertoire back, cliquez sur Attribuer un CHMOD, indiquez le chiffre 777, puis faites Ok. (voir ci-dessous)

Image

Vérifiez l'emplacement du fichier de connexion à la base de données
Par défaut dans phpBB, le fichier config.php qui se trouve normalement à la racine de votre forum, possède toutes les informations confidentielles, de connexion à la base de données de votre forum.
Le script de Ashe fait appel à ce fichier afin de pouvoir se connecter et sauvegarder la base de données utilisée par phpBB.
Si vous avez procéder à la sécurisation de votre config.php en utilisant ce tutorial, il vous faudra modifier le chemin d'accés à ce fichier dans le fichier backup.php en modifiant la ligne :
Code: Tout sélectionner
include('../config.'.$phpEx);

Il faut noter que les deux points - .. sont une instruction qui permet de remonter d'un cran dans votre arborescence, et il vous faudra donc adapter ce chemin à l'emplacement de votre fichier.

» 2 - Sauvegarde de la base de données
Nous pouvons maintenant lancer la sauvegarde, pour se faire, il vous faut tout simplement appeler via votre navigateur le fichier backup.php de cette façon.
Code: Tout sélectionner
http://www.exemple.com/forum/back/backup.php

Partant du principe que dans mon cas, phpBB est installé dans le répertoire forum.
Une fois ce fichier lancé, chaque table sera sauvegardée, et vous devriez arriver en fin de sauvegarde au résultat suivant :
Image
    Image Il faut noter que le nombre de tables sauvegardées, peut différer en fonction des Mods installés sur votre forum, et que ce script ne sauvegarde que les tables commencant par prefixe_, préfixe représentant dans mon cas phpbb_
Si suite au lancement de backup.php, vous rencontrez un tout autre message, reportez vous au paragraphe 4 - B de ce tutorial, qui vous exposera les différents soucis rencontrés lors de l'utilisation de ce script.

Si nous allons maintenant dans notre répertoire back en question, nous devrions retrouver autant de fichier .gz que de tables à sauvegarder. (voir ci-dessous)
Il faut savoir que les fichiers présents sont compressés, et vous n'avez donc pas à vous inquiétez si votre table au travers de phpmyadmin, pèse plus que celle présente sur le FTP.

Image

» 3 - Restauration de la base de données
Un incident est arrivé à votre base de données, et vous devez donc remonter une sauvegarde.
Pour se faire vous n'aurez qu'à éxécuter le fichier restore_backup à son tour, en vérifiant au préalable le chemin d'accés au fichier config.php comme déja expliqué au paragraphe 1 - E.
Code: Tout sélectionner
http://www.exemple.com/forum/back/restore_backup.php

Les tables restaurées seront celles présentes dans le répertoire back en question.
Si vous souhaitez par exemple faire une reprise partielle de table, il vous faudra déplacer les tables que vous ne souhaitez pas remonter dans un autre répertoire.
Une fois le fichier lancé, vous devrez tomber sur le résultat suivant :

Image
    Image Une fois la restauration effectuée, il faut savoir que ce script pour des soucis de performances, ne sauvegarde pas le contenu des tables de recherche :
    • phpbb_search_results;
    • phpbb_search_wordlist;
    • phpbb_search_wordmatch;
    Le module de recherche sur votre forum ne fonctionnera donc plus correctement, et il vous faudra alors utiliser le mod Rebuild Search qui sert à recréer les tables de recherche de phpBB, par l'administration.
» 4 - Recommandations et problèmes fréquemment rencontrés lors de l'utilisation de ce script

Recommandations
N'oubliez pas que si vous laissez votre répertoire back tel que, n'importe qui sera à même de télécharger ou restaurez une sauvegarde à votre place, étant donné que lancement du script de sauvegarde ou restauration se lance au travers d'une URL.

Vous pouvez donc mettre en place si vous le souhaitez une restriction htaccess par mot de passe au répertoire back en question.
La plupart du temps, dans votre offres d'hébergement vous avez la possibilité de gérer l'accés aux répertoires de votre site, via votre interface d'administration, si ce n'est pas le cas il vous faudra alors créer ses fichiers manuellement, et pour cela Google sera votre ami :wink:

Problèmes fréquemment rencontrés

- Lorsque vous lancez votre sauvegarde, aucun fichier de sauvegarde n'est crée dans le répertoire, et vous rencontrez le message d'erreur suivant :
Code: Tout sélectionner
Cannot open phpbb_auth_access.sql.gz
Solution :
Reportez vous paragraphe 1-D de ce tutorial afin d'attribuer les droits en écriture sur le répertoire back.

- Lorsque vous lancez votre sauvegarde, vous retrouvez le message d'erreur suivant :
Code: Tout sélectionner
Notice: Undefined variable: included in c:\program files\easyphp1-8\www\basic\back\backup.php on line 13
Warning: main(../config.php): failed to open stream: No such file or directory
Warning: main(): Failed opening '../config.php' for inclusion (include_path
Notice: Undefined variable: dbhost
Notice: Undefined variable: dbuser
Notice: Undefined variable: dbpasswd
Warning: mysql_connect(): Accès refusé pour l'utilisateur:
Notice: Undefined variable: dbname
Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource

Solution :
Reportez vous paragraphe 1-E de ce tutorial afin de bien spécifier le chemin relatif à votre config.php

Voilà ce tutorial touche à sa fin, et je vous invite également à visiter le site Webcron qui permettra, couplé au script de Ashe, de lancer vos sauvegardes jounalièrement de manière automatique :wink:
Avatar de l’utilisateur
Elglobo
Administrateur
Administrateur
 
Messages: 13160
Inscription: 13 Oct 2004 à 17:28

Retourner vers [phpBB 2.0.x] Forum de documentation

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

Liens : phpBB.biz • phpBBHacks.com • phpBB-Seo.com • EzCom-fr.com • phpBB-Services.com • phpBB3 Styles • phpBB podpora • Net Avenir • PromoBenef • Ticket Gagnant •