====== 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 : {{http://www.cachem.fr/wp-content/uploads/2012/12/SparkleShare-ubuntu.jpg}} * 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 : * adresse IP fixe (Free,…) ou dynamique avec [[http://dyndns.org/|DynDNS]] ou [[http://no-ip.com/|NoIP]], le routeur étant en mode accès distant * 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 [[http://sparkleshare.org/|sparkleshare.org]] selon la machine (PC Windows/Linux ou Mac) * .NET Framework V4.0.30319 minimum installé sur le client Windows (Télécharger [[http://www.microsoft.com/fr-fr/download/details.aspx?id=17851|ici]]) * Linux Ubuntu Server ([[http://www.ubuntu.com/|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 **[[apt>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) :{{ logiciel:internet:disque:sparkleshare:sparkleshare-01.png |}} un petit tuto s'affiche.{{ logiciel:internet:disque:sparkleshare:sparkleshare-03.png |}} {{ logiciel:internet:disque:sparkleshare:sparkleshare-04.png |}} {{ logiciel:internet:disque:sparkleshare:sparkleshare-05.png |}} ==== 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 une fois dessus, un menu s’affiche.{{ logiciel:internet:disque:sparkleshare:sparkleshare-06.png |}} * 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 - A) et copiez-le dans le bloc-notes (Tout sélectionner = Ctrl - A puis copie = Ctrl - C). === 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 . 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 : {{ logiciel:internet:disque:sparkleshare:sparkleshare-06.png |}} Cliquez sur **Ajouter un produit hébergé...** {{ logiciel:internet:disque:sparkleshare:sparkleshare-07.png |}} {{http://www.cachem.fr/wp-content/uploads/2012/12/Setup_paramok.png}} Une fenêtre d'erreur apparaît : {{http://www.cachem.fr/wp-content/uploads/2012/12/Setup_oops.png}} 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 : {{http://www.cachem.fr/wp-content/uploads/2012/12/Setup_ok.png}} Si vous avez créé un dossier crypté (sudo dazzle create-encrypted Prive), une fenêtre vous demandera la saisie d’un mot de passe : {{http://www.cachem.fr/wp-content/uploads/2012/12/Setup_crypt_password.png}} Ce qui vous permettra de protéger le contenu et de ne le rendre accessible que par vous qui connaissez le mot de passe. ==== Utilisation ==== Cliquez une fois sur l’icône de notification de SparkleShare, un menu s’affiche : {{http://www.cachem.fr/wp-content/uploads/2012/12/M1-1.png}} 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 ===== * [[http://www.cachem.fr/installer-sparkleshare-dropbox-like-open-source/]]