Sauvegarde et restauration d'Ovidentia

Un article de OviWiki.

Cette documentation a pour objectif de décrire les principales étapes dans un processus de sauvegarde et de restauration d'un environnement Ovidentia.

Aucune procédure de sauvegarde ou de restauration partielle n'est possible, elles sont forcement globales et les informations de chacune des fonctionnalités (articles, fichiers, forums ...) seront dans l'état ou elles étaient lors de la sauvegarde.

Fichiers de sauvegarde d'Ovidentia

Si la restauration s'effectue sur un nouveau système, il est nécessaire d'installer au préalable l'ensemble des briques techniques indispensables au fonctionnement d'Ovidentia (voir la documentation d'installation pour connaître les pré-requis.)

Si la restauration s'effectue dans l'environnement d'origine, prendre connaissance des informations dans la documentation d'exploitation (chemin du répertoire d'upload, chemin du répertoire racine d'Ovidentia, nom de la base de données. ..).

Sommaire

Sauvegarde

Pour effectuer une restauration d'Ovidentia, il est indispensable de posséder la sauvegarde des informations suivantes :

  • La bases de données d'Ovidentia
  • Le répertoire racine d'Ovidentia et ce qu'il contient. (sous répertoires et fichiers). Ce répertoire contient normalement une arborescence proche de celle-ci :
1er niveau de l'arborescence d'Ovidentia
  • Le répertoire d'upload d'Ovidentia et ce qu'il contient (sous répertoires et fichiers). Pour connaître le chemin du répertoire UPLOAD dans votre environnement, naviguer dans la section « administration » > « Sites » > « Nom du site » > « Configuration des téléchargements vers le serveur » > champ « Répertoire de stockage des fichiers à télécharger »

A noter : les 3 éléments précédents devront être du même jeu de sauvegardes pour effectuer la restauration.

La base de données

Une commande d'export permet de récupérer dans un fichier SQL la structure et les données stockées dans la base de données MySQL.

Exemple de commande :

mysqldump -u IdentifiantMySQL -pMotDePasseMySQL NomBaseDeDonnées > FichierDeSauvegarde.sql

La racine WWW

Ce répertoire contient une arborescence proche de celle-ci :

1er niveau de l'arborescence d'Ovidentia

Le répertoire d'upload

Ce répertoire contient tous les fichiers chargés dans le gestionnaire de fichiers, associés aux articles ou aux forums.L'emplacement de ce répertoire peut être trouvé en tant qu'administrateur depuis la section « administration » > « Sites » > « Nom du site » > « Configuration des téléchargements vers le serveur » > champ « Répertoire de stockage des fichiers à télécharger »

Exemple de script shell de sauvegarde

#!/bin/sh
 
# ------- Eléments a modifier --------------------------
 
# Repertoire de sauvegarde
 
backupdir=/home/save_Ovidentia
 
#Repertoires upload et www
 
dirupload=/home/Ovidentiaupload
dirwww=/var/www/html/Ovidentia
 
# Chemin des commandes Unix utilisées
 
mysqldumpcmd=/usr/bin/mysqldump
tar=/bin/tar
gzip=/usr/bin/gzip
 
# MySQL Username and password
 
userpassword=" --user=VotreUser --password=VotrePassword"
 
# ------- Fin des éléments à modifier --------------------------
 
# Noms des fichiers de sauvegarde
 
# backupfileDB=Ovidentia-DB--`date +%d-%m-%y--%H`.gz
# backupfileUPLOAD=Ovidentia-UPLOAD--`date +%d-%m-%y--%H`.tgz
# backupfileWWW=Ovidentia-WWW--`date +%d-%m-%y--%H`.tgz
 
backupfileDB=Ovidentia-DB.gz
backupfileUPLOAD=Ovidentia-UPLOAD.tgz
backupfileWWW=Ovidentia-WWW.tgz
 
# MySQL dump options
 
dumpoptions=" --databases --opt --no-create-db Ovidentia "
 
# Tar options
 
taroptions=" -c -v -z -P -f"
 
# Probleme de repertoire ?
 
if [ ! -d ${backupdir} ]
then
  echo "Not a directory: ${backupdir}"
  exit 1
fi
 
# Dump de toutes les bases Mysql
 
echo "Dumping de toutes les bases Mysql"
$mysqldumpcmd $userpassword $dumpoptions | $gzip > ${backupdir}/$backupfileDB
echo "Dump Terminé!"
 
# Compression des fichiers d upload
 
echo "Compession des fichiers d'upload"
$tar $taroptions ${backupdir}/$backupfileUPLOAD $dirupload 
echo "Compression des fichiers d'upload terminée"
 
# Compression des fichiers WWW
 
echo "Compression des fichiers WWW"
$tar $taroptions ${backupdir}/$backupfileWWW $dirwww 
echo "Compression des fichiers WWW terminée!"
 
# Sauvegarde sur bande
 
# echo "Lancement de la sauvegarde sur bande"
# cd /home/save_extranet/
# tar cvf /dev/st0 *
# echo "Fin de la sauvegarde sur bande"
 
# Fin de sauvegarde sur bande
 
exit

Restauration

Restauration de la base de données

Récupérer et copier dans un répertoire temporaire votre fichier de sauvegarde de la base de données (ici Ovidentia-DB.gz).

Décompresser le fichier sauvegardé (avec la commande gunzip Ovidentia-DB.gz)

Créer dans MYSQL la base de données d'accueil. L'utilisation de PHPMyAdmin est possible pour effectuer cette opération.

mysqladmin -u IdentifiantMySQL -pMotDePasseMySQL create MaBdd

Importer le fichier de la sauvegarde dans la base de données. L'utilisation de PHPMyAdmin est possible pour effectuer cette opération.

mysql -u IdentifiantMySQL -pMotDePasseMySQL MaBdd < FichierDeSauvegarde.sql

Restauration du répertoire WWW

Récupérer et copier dans un répertoire temporaire (Par exemple /temp) votre fichier de sauvegarde du répertoire WWW (ici Ovidentia-WWW.tgz).

Décompresser le fichier sauvegardé (avec la commande gunzip Ovidentia-WWW.tgz puis tar -xvf Ovidentia-WWW.tar)

Restauration du répertoire UPLOAD

Récupérer et copier dans un répertoire temporaire votre fichier de sauvegarde du répertoire UPLOAD (ici Ovidentia-UPLOAD.tgz).

Décompresser le fichier sauvegardé (avec la commande gunzip Ovidentia-UPLOAD.tgz puis tar -xvf Ovidentia-UPLOAD.tar)

Modification du fichier config.php

Modification du fichier config.php pour l'adapter au nouvel environnement (nom de la base de données MySQL, utilisateur MySQL, mot de passe MySQL ...).Voir la documentation d'installation d'Ovidentia pour la signification des paramètres du fichiers config.php

Initialisation des droits sur les fichiers

Initialisation des droits de lecture/écriture pour l'utilisateur qui exécute le serveur WWW (IIS ou Apache) sur les fichiers et sous-répertoires des répertoires WWW et UPLOAD.

Test d'un jeu de sauvegardes

Nous vous conseillons de valider la restauration de votre environnement sur votre poste de travail en installant EasyPHP (serveur Apache/PHP/MySQL pour Windows) puis en suivant le processus de restauration décrit ci-dessus.