Table des matières
SparkleShare, un Dropbox-like Open Source
Présentation
SparkleShare (site : http://sparkleshare.org/) est un outil open-source de synchronisation « instantanée » de dossiers et fichiers, comme Dropbox (http://www.dropbox.com/).
Ainsi, lorsqu’un dossier est partagé, tout son contenu se retrouvera dans le dossier des machines liées.
Exemple :
- Créez le dossier FOLD1
- Liez la machine A (Windows) au dossier FOLD1.
- Liez la machine B (Linux) au dossier FOLD1.
- Liez la machine C (Mac) au dossier FOLD1.
- Si vous déposez une image dans le dossier FOLD1 sur la machine A, cette image se retrouvera automatiquement dans les dossiers FOLD1 des machines B et C.
Avantages
- Maîtrise du serveur sur lequel sont stockées les données partagées. Les données stockées sur les serveurs Dropbox, Skydrive, GoogleDrive, etc. deviennent LEUR propriété…
- Pas de limite de l’espace de stockage (Dropbox et GoogleDrive limitent à 5Go par défaut et Skydrive à 7Go)
- Réplication de dossiers en temps réel
- partage de documents entre collaborateurs
Pré-requis
- une adresse IP :
- ou adresse IP locale accessible du réseau
Un ou plusieurs PCs (virtuels ou physiques) :- connectés à Internet
- avec suffisamment d’espace de stockage selon besoins
client SparkleShare téléchargé sur sparkleshare.org selon la machine (PC Windows/Linux ou Mac).NET Framework V4.0.30319 minimum installé sur le client Windows (Télécharger ici)Linux Ubuntu Server (www.ubuntu.com)Installation du serveur SparkleShare
Connectez-vous en ssh sur la machine serveur, selon le cas :
- sous windows, à l’aide de putty
- sous Linux / MacOSX : Ouvrez un terminal et tapez la ligne de commande :
ssh administrateur@[Adresse IP du serveur]
- ou directement sur le serveur : Authentifiez-vous avec le compte utilisateur créé lors de l’installation
- ou, sous n'importe quel OS, utilisez le module complémentaire FireSSH dans Firefox
Dans le terminal, exécutez la commande suivante :
sudo curl https://raw.github.com/hbons/Dazzle/master/dazzle.sh --output /usr/bin/dazzle && sudo chmod +x /usr/bin/dazzle
Entrez le mot de passe ; une fois l’opération terminée, il s'affiche ceci :
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 7752 100 7752 0 0 13860 0 --:--:-- --:--:-- --:--:-- 18154
Le script serveur est installé. Pour configurer le serveur, exécutez la commande suivante :
sudo dazzle setup
Le script installe les paquets nécessaires au bon fonctionnement du serveur. Une fois la commande achevée, le message suivant apparaît :
pi@framboise ~ $ sudo dazzle setup 1/4 | Installing the Git package... -> The Git package has already been installed (version 1.7.10.4). 2/4 | Creating account "storage"... -> Account already exists. 3/4 | Configuring account "storage"... -> mkdir --parents /home/storage/.ssh -> touch /home/storage/.ssh/authorized_keys -> chmod 700 /home/storage/.ssh -> chmod 600 /home/storage/.ssh/authorized_keys 4/4 | Reloading the SSH config... -> /etc/init.d/ssh reload Setup complete! To create a new project, run "dazzle create PROJECT_NAME". pi@framboise ~ $
Création des dossiers partagés
Pour créer un dossier partagé public, accessible par tous les ordinateurs liés au serveur sans restriction, il suffit d’exécuter la commande suivante :
sudo dazzle create Public
Pour créer un dossier partagé privé, il suffit d’exécuter la commande suivante :
sudo dazzle create-encrypted Prive
Après la création d’un dossier, le message suivant devrait s’afficher :
pi@framboise ~ $ sudo dazzle create Public Creating project "Public"... -> /usr/bin/git init --bare /home/storage/Public -> /usr/bin/git config --file /home/storage/Public/config receive.denyNonFastForwards true -> echo "*.DMG -delta" >> /home/storage/Public/info/attributes -> chown --recursive storage:storage /home/storage -> chmod --recursive o-rwx /home/storage/Public Project "Public" was successfully created. To link up a SparkleShare client, enter the following details into the "Add Hosted Project..." dialog: Address: ssh://storage@:22 Remote Path: /home/storage/Public To link up (more) computers, use the "dazzle link" command. pi@framboise ~ $
Installation des clients
Sur une machine Ubuntu
Installer les paquets :Installez le paquet sparkleshare,libwebkit1.1-cil,git-core,python-nautilus ou en ligne de commande :
$ sudo apt install sparkleshare libwebkit1.1-cil git-core python-nautilus
Lancer sparkleshare :
$ sparkleshare start
Renseigner quelques informations (nom, prénom, adresse mail) :
Sur une machine Windows
Paramétrage de la connexion entre le serveur et les clients
Liaison d’un client au serveur
Une fois passée cette présentation, il va falloir relier le client avec le serveur.
Sur le client à relier
Récupérez la chaine d’authentification du client, c’est-à-dire l’empreinte qui permettra au serveur de connaître le client.
Pour cela, allez dans le profil utilisateur, dossier SparkleShare :
- Sous Windows XP : C:\Documents And Settings\[UTILISATEUR]\SparkleShare
- Sous Vista, 7 ou 8 : C:\Utilisateurs\[UTILISATEUR]\SparkleShare
- Sous Ubuntu :
- Quand le client est installé, une icône apparaît dans la barre de notification.
- Cliquez sur SparkleShare : le répertoire SparkleShare de votre homedir s'ouvre.
Ce dossier contient un fichier texte r [Utilisateur enregistré]‘s link code.txt contenant la clé publique du client
Exemple de contenu :
ssh-rsa AAAAB3ABIwAAA.........Y7JCRaNrKF8ipz9mHwr26elQN.........aiclCn9lECE+qvL9Ew== VM-WIN7PRO-JC
Sélectionnez son contenu (Ctrl+Alt) et copiez-le dans le bloc-notes (Tout sélectionner = Ctrl+Alt puis copie = Ctrl+Ctrl).
Sur le serveur, via ssh
Retournez sur le serveur via ssh ou en terminal et lancez la commande suivante :
sudo dazzle link
Le serveur demande de saisir le link code :
pi@framboise ~ $ sudo dazzle link Paste your Client ID (found in the status icon menu) below and press <ENTER>. Client ID:
Collez le contenu du fichier précédemment copié et tapez la touche ↵ Entrée.
Le serveur affiche l’information suivante :
... Client ID: xxxxx...xxxxx The client with this ID can now access projects. Repeat this step to give access to more clients. pi@framboise ~ $
Le client peut désormais se connecter et il faut répéter l’opération pour tous les clients à connecter.
Configuration
Cliquez une fois sur l'icône dans la barre de notification. Un menu s’affiche :
Cliquez sur Ajouter un produit hébergé…
Une fenêtre d'erreur apparaît :
C’est tout à fait normal ! En effet, le serveur est prêt, le client est prêt mais il faut maintenant les lier ensemble.
Liaison d’un client au serveur
Sur le serveur
Vous pouvez maintenant répéter l’opération de la Phase 4. Sauf que cette fois-ci, la dernière fenêtre sera :
Utilisation
Cliquez une fois sur l’icône de notification de SparkleShare, un menu s’affiche :
Si vous cliquez sur Public, une fenêtre s’ouvrira dans ce dernier.
Si vous avez partagé ce dossier entre 2 ou N ordinateurs, tout ce que vous stockerez dedans sur l’ordinateur A sera disponible dans les autres ordinateurs.
Références