Documentation pour Rdiffweb

Nous vous invitons à essayer notre logiciel de sauvegarde de données Minarca, qui a été développé pour faciliter l’utilisation de l’usager. Un support par courriel et par téléphone est également disponible avec nos différents forfaits.

En apprendre plus sur Minarca

Rdiffweb est une application Web open source qui vous permet de visualiser les archives générées par rdiff-backup. Le but de cette application est de faciliter la gestion de vos sauvegardes et restaurer rapidement vos données.

Depuis novembre 2014, nous prenons officiellement en charge la maintenance de Rdiffweb.

Installation

Vous pouvez installer rdiffweb de différentes façons. Nous vous recommandons de l’installer à partir du code source, car nous avons plus d’expérience pour le faire de cette façon. Depuis la version v0.9.1, vous pouvez également installez rdiffweb à partir de pypi.

Installation à partir du code source (recommandé)

Avant d’installer rdiffweb, vous devez installer les pré-requis. Sous Debian, vous pouvez procéder comme suit:

sudo apt-get install python-cherrypy3 python python-pysqlite2 libsqlite3-dev python-jinja2 python-setuptools python-babel rdiff-backup

Ensuite, vous pouvez télécharger un “snapshot” du référentiel* et procéder à l’installation sur votre système.

wget --no-check-certificate -O rdiffweb.tar.gz https://github.com/ikus060/rdiffweb/archive/master.tar.gz
tar zxf rdiffweb.tar.gz
cd rdiffweb-*
sudo python setup.py install

Si c’est la première fois que vous installez rdiffweb sur votre système, vous devrez copier manuellement rdw.conf vers /etc/rdiffweb:

sudo mkdir -p /etc/rdiffweb
sudo cp rdw.conf /etc/rdiffweb/

Vous devrez peut-être créer un script d’initialisation pour démarrer rdiffweb lors du redémarrage. L’un d’eux est fourni pour Debian 7 (Wheezy):

sudo cp extras/init/rdiffweb /etc/init.d/
sudo chmod +x  /etc/init.d/rdiffweb
sudo update-rc.d rdiffweb defaults
sudo /etc/init.d/rdiffweb start

Sur Debian 8 (Jessie), vous devez créer un fichier systemd. Ce qui suit a été fourni par les contributeurs:

sudo cp extras/systemd/rdiffweb.service /etc/systemd/system/
sudo service rdiffweb start

Par défaut, le serveur Web écoute sur le port 8080 et est accessible via l’URL suivante:

http://server_name:8080

Au démarrage, vous devrez accéder à Rdiffweb en utilisant les informations d’identification par défaut:

  • username : admin
  • password : admin123

Installer à partir de Pypi

Vous pouvez installer Rdiffweb à partir de Pypi. D’abord, vous devez installer pip et d’autres dépendances:

sudo apt-get install python-pip python-pysqlite2 rdiff-backup
sudo pip install -U pip

Ensuite, vous pouvez installer Rdiffweb en utilisant pip:

sudo pip install rdiffweb

Installer le fichier de configuration par défaut.

wget https://github.com/ikus060/rdiffweb/raw/master/rdw.conf
sudo mkdir -p /etc/rdiffweb
sudo cp rdw.conf /etc/rdiffweb/

Configurer Apache - Reverse Proxy (optionnel)

Vous pourrez peut-être avoir besoin d’un serveur Apache dans les cas où:

  • Vous devez desservir plusieurs services Web à partir de la même adresse IP.
  • Vous avez besoin de plus de sécurité (comme HTTP + SSL).

Cette section n’explique pas comment installer et configurer votre serveur Apache. Ceci est hors sujet pour cet article. La procédure suivante n’est fournie que sous forme de suggestion, et ce, sans aucune référence complète.

Installer Apache et les modules requis

sudo apt-get install apache2
sudo a2enmod rewrite
sudo a2enmod proxy
sudo a2enmod ssl
sudo a2enmod proxy_http

Configuration de base

Ajoutez ceci à votre configuration d’Apache. Il est recommandé de créer un fichier dans /etc/apache2/sites-available/rdiffweb.

<VirtualHost *:80>
    ServerName rdiffweb.mydomain.com
    ProxyPass / http://localhost:8080/ retry=5
    ProxyPassReverse / http://localhost:8080/
</VirtualHost>

Configuration SSL

<VirtualHost *:80>
    ServerName rdiffweb.mydomain.com
    ServerAdmin me@mydomain.com
    # TODO Redirect HTTP to HTTPS
    RewriteEngine on
    RewriteRule ^(.*)$ https://rdiffweb.mydomain.com$1 [L,R=301]
    <Location />
        Order Allow,deny
        Allow from all
    </Location>
</VirtualHost>

<VirtualHost *:443>
    ServerName rdiffweb.mydomain.com
    ServerAdmin me@mydomain.com

    # Hostaname resolution in /etc/hosts
    ProxyPass / http://localhost:8080/ retry=5
    ProxyPassReverse / http://localhost:8080/

    # SSL Configuration
    SSLEngine on
    SSLCertificateFile    /etc/apache2/ssl/my_certificate.crt
    SSLCertificateKeyFile /etc/apache2/ssl/my_certificate.key
    <Location />
        Order Allow,deny
        Allow from all
    </Location>
</VirtualHost>

Configurer Nginx (optionnel)

Vous pourrez avoir besoin d’un serveur Nginx dans les cas où:

  • Vous devez desservir plusieurs services Web à partir de la même adresse IP.
  • Vous avez besoin de plus de sécurité (comme HTTP + SSL).

Cette section n’explique pas comment installer et configurer votre serveur Apache. Ceci est hors de notre portée. La procédure suivante n’est fournie que sous forme de suggestion, et ce, sans aucune référence complète.

Consulter le dossier /extras/nginx pour plus d’exemples.

Configuration

Authentication

Rdiffweb est actuellement fourni avec un ensemble limité de plugins pour l’authentification et l’autorisation

  • SQLite : Base de données intégrée utilisée pour l’authentification, l’autorisation et le stockage de données.
  • LDAP (optional) : Permet aux usagers de s’authentifier avec leur mot de passe LDAP.

SQLite

Pour utiliser la base de données intégrée pour l’authentification, assurez-vous d’avoir une section similaire à la suivante dans votre fichier de configuration /etc/rdiffweb/rdw.conf:

#----- Enable Sqlite DB Authentication.
SQLiteEnabled=True
SQLiteDBFile=/etc/rdiffweb/rdw.db

LDAP

Le plugin LDAP peut être utilisé que pour l’authentification. Pour que tout fonctionne, vous devrez activer le plugin SQLite et le plugin LDAP en même temps. LDAP sera utilisé pour l’authentification et SQLite sera utilisé pour l’autorisation et le stockage de données.

Vous devrez installer python-ldap comme suit:

sudo apt-get install python-ldap

Pour que l’authentification LDAP fonctionne, vous devez activer le plugin et fournir des informations sur votre environnement.

#----- Enable LDAP Authentication
LdapEnabled=true

Paramètres du plugin:

ParameterDescriptionRequiredExample
LdapUriURIs contenant uniquement le schéma, l’hôte et le port.Ouildap://localhost:389
LdapTlstrue pour activer TLS. Par défaut false.Nonfalse
LdapProtocolVersionVersion de LDAP utilisée 2 ou 3. Défaut à 3.Non3
LdapBaseDnLe DN de la branche du répertoire où toutes les recherches démarrent.Ouidc=my,dc=domain
LdapBindDnUn DN optionnel utilisé pour s’authentifier au serveur lors de la recherche. Si elle n’est pas fournie, un compte anonyme sera utilisé.Noncn=manager,dc=my,dc=domain
LdapBindPasswordUn mot de passe à utiliser conjointement avec LdapBindDn. Notez que le mot de passe d’authentification est probablement une donnée sensible et doit être correctement protégé. Vous devez utiliser LdapBindDn et LdapBindPassword seulement si vous en avez absolument besoin pour faire une recherche le répertoire.Nonmypassword
LdapAttributeL’attribut de recherche du nom d’utilisateur. Si aucun attribut n’est fourni, la valeur par défaut consiste à utiliser uid. Il est recommandé de choisir un attribut qui sera unique dans toutes les entrées de l’arborescence que vous utiliserez.Noncn
LdapScopeLa portée de la recherche. Peut être base, onelevel ou subtree. Par défaut à subtree.Nononelevel
LdapFilterUn filtre de recherche LDAP valide. Si elle n’est pas fournie, par défaut ‘(objectClass = *) `, qui recherchera tous les objets dans l’arborescence.Non(objectClass=*)
LdapNetworkTimeoutValeur temporelle optionnelle. Définit par défaut à 10 sec.No10
LdapTimeoutValeur temporelle optionnelle. Définit par défaut à 300 sec.Non300
LdapAllowPasswordChangetrue Pour permettre aux usagers LDAP de mettre à jour leur mot de passe en utilisant Rdiffweb. Cette option devrait seulement être activée si LDAP est configuré pour permettre à l’utilisateur de modifier son propre mot de passe. Défaut à false.Nontrue

Configuration des notifications par courriel

Depuis la version v0.9 de Rdiffweb, vous pouvez configurer Rdiffweb pour vous informer lorsque qu’une sauvegarde n’a pas été complétée depuis une certaine période de temps. Cette option est très pratique pour savoir quand la configuration de votre sauvegarde est brisée. Cette section décrit comment configurer rdiffweb pour vous informer.

Modifier le fichier de configuration

Modifiez le fichier de configuration de Rdiffweb /etc/rdiffweb/rdw.conf ainsi que les paramètres de configuration pour qu’ils soient adaptés à votre environnement. Ce qui suit est un exemple qui utilise un compte Gmail pour envoyer une notification.

#----- Enable Email Notification
# The server can be configured to email user when their repositories have not
# been backed up for a user-specified period of time. To enable this feature,
# set below settings to correct values.
EmailNotificationEnabled=true
EmailNotificationTime=6:30
EmailHost=smtp.gmail.com:587
EmailEncryption=starttls
EmailSender=example@gmail.com
EmailUsername=example@gmail.com
EmailPassword=CHANGEME

Redémarrer Rdiffweb

Pour que la modification soit effective, redémarrez Rdiffweb comme suit:

sudo service rdiffweb restart

Modifier vos préférences

Connectez-vous à Rdiffweb en utilisant votre nom d’utilisateur et votre mot de passe. Naviguez vers vos paramètres usagers. Un nouvel onglet nommé “Notification” vous sera affiché. Cliquez sur celui-ci pour changer les paramètres de notifications pour chaque dépôt.

Développement

Cette section vous fournit des détails pour ceux qui veulent contribuer au développement de Rdiffweb.

Traduction

Reference: http://babel.edgewall.org/wiki/Documentation/setup.html

Cette section décrit brièvement comment procéder. pour traduire Rdfifweb. Cet ensemble d’insctructions n’est pas complèt et sert simplement de rappel.

Extraire les chaînes à traduire.

./setup.py extract_messages --output-file rdiffweb/locales/messages.pot

./setup.py compile_catalog --directory rdiffweb/locales --locale fr

Batterie de test

Rdiffweb est livré avec des tests unitaires et d’intégration. Pour exécuter ces tests, vous pouvez procéder comme suit:

python setup.py. nosetests

Profilage

Depuis la version v0.9, de Rdiffweb, vous pouvez créer un profil en appelant la commande --profile.

rdiffweb --debug --profile

À moins d’apeller le fichier de créations de profils avec --profile-path, celui-ci sera créé dans /tmp. Vous pourrez visualiser les données avec:

snakeviz rdiffweb_0001.prof

Less & CSS(s)

Pour le déploiement, nous devons pré-compiler les fichiers .less en fichiers .css.

python setup.py build_less

Javascript

Tous changement dans un fichier Javascript doit être manuellement compilé dans un fichier .min.js comme suit:

python setup.py minify_js