Installer SparkleShare, un Dropbox-like Open Source

14

SparkleShare ubuntu Installer SparkleShare, un Dropbox like Open Source

Chers geeks, Chères geekettes,

Je me présente, je suis Julien, le tout dernier blogueur accepté par le souverain Messire FX, au sein de la communauté très fermée des chevaliers de la Table ronde du royaume de Cachem !

Ce n’est pas sans une certaine émotion que je prends mon clavier érodé afin de vous faire partager mes connaissances en matière de systèmes informatisés ! J’espère vous proposer des tests et tutos qui pourront vous servir à la fois chez vous ou à votre travail.

La connaissance est la seule richesse qu’on puisse répandre sans que ceux qui la répandent s’appauvrissent.

Trêve de bavardage et passons aux choses sérieuses!

SparkleShare, qu’est-ce que c’est que ce truc-là?

SparkleShare (sparkleshare.org) est un outil open-source permettant la synchronisation « instantanée » de dossiers et fichiers, à l’instar de Dropbox (www.dropbox.com).

Ainsi, lorsqu’un dossier est partagé, tout son contenu se retrouvera dans le dossier de la machine liée.

Exemple :

  1. On crée le dossier FOLD1.
  2. On lie la machine A (Windows) au dossier FOLD1.
  3. On lie la machine B (Linux) au dossier FOLD1.
  4. On lie la machine C (Mac) au dossier FOLD1.
  5. Si nous déposons une image dans le dossier FOLD1 sur la machine A, cette image se retrouvera automatiquement dans les dossiers FOLD1 des machines B et C!

Bon, d’accord c’est pas mal, mais quel est l’intérêt de faire tout ça alors que Dropbox existe ???

Pour les particuliers :

L’intérêt, mes chers amis, c’est déjà (et surtout) que vous êtes maître du serveur sur lequel les données partagées sont stockées. Sachez tout de même qu’en utilisant un système comme Dropbox, Skydrive, GoogleDrive,…, toutes les données que vous stockez chez eux et deviennent LEUR propriété ! C’est un argument qui me paraît assez pertinent.

Ceci étant, qu’ils soient propriétaires de mes photos du baptême du petit Hugo est peut-être la dernière de vos préoccupations. Effectivement, vue comme cela!

L’autre aspect est celui de l’espace de stockage. Et oui… Dropbox et GoogleDrive limite à 5Go par défaut et Skydrive à 7Go.

Imaginez 500 Go de données totalement partagées entre vos différentes machines… Ça fait rêver! Et bien le rêve peut devenir réalité grâce à SparkleShare !

Pour les professionnels, les bénéfices de ce type de système sont tous trouvés :

  1. Maitrise de l’espace de stockage
  2. Réplication de dossiers en temps réèl entre 1 et X serveurs
  3. Le partage de documents entre collaborateurs

Déploiement

Prérequis

  • Adresse IP :
    • Une adresse IP fixe (Free,…) ou une adresse IP Dynamique avec DynDNS ou NoIP avec le paramétrage de votre routeur (installation en mode accès distant).
    • Une IP accessible du réseau (installation en mode local ou intranet).
  • Un ou plusieurs PC (virtuel ou physique) :
    • Connectable à Internet
    • Suffisamment d’espace de stockage selon vos besoins
  • Le(s) client(s) SparkleShare téléchargé selon votre machine (PC Windows/Linux ou Mac) sur sparkleshare.org
  • .NET Framework V4.0.30319 minimum installé sur le client Windows (Télécharger ici)
  • Linux Ubuntu Server (www.ubuntu.com)

Phase 1 : Installation du serveur

Pour ce tuto, nous utiliserons une version stable d’Ubuntu server que vous pouvez télécharger par ici. Nul besoin de prendre la version LTS (Long-Term Support) !

Un petit tuto vidéo, que je vous ai concocté : ici

Phase 2 : Installation du serveur SparkleShare

Une fois votre serveur prêt, connectez-vous dessus en ssh :

  • Sous windows :
  • Sous Linux / MacOSX :
    • Ouvrez un terminal et tapez la ligne de commande : ssh administrateur@[Adresse IP du serveur]
  • Directement sur le serveur :
    • Authentifiez-vous avec le compte utilisateur que vous avez créé lors de l’installation

Une fois 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 de nouveau le mot de passe. une fois l’opération terminée, vous devriez avoir un message de sortie comme celui-ci :

% 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é!

Il faut maintenant configurer le serveur. Pour cela, exécutez la commande suivante :

sudo dazzle setup
Le script va installer les paquets manquants nécessaire au bon fonctionnement du serveur. Une fois la commande achevée, le message suivant apparaît :
1/4 | Installing the Git package...
-> apt-get --yes install git
Lecture des listes de paquets...
Construction de l'arbre des dépendances...
Lecture des informations d'état...
Les paquets supplémentaires suivants seront installés :
git-man liberror-perl
Paquets suggérés :
git-daemon-run git-daemon-sysvinit git-doc git-el git-arch git-cvs git-svn git-email git-gui gitk gitweb
Les NOUVEAUX paquets suivants seront installés :
git git-man liberror-perl
0 mis à jour, 3 nouvellement installés, 0 à enlever et 43 non mis à jour.
Il est nécessaire de prendre 6 824 ko dans les archives.
Après cette opération, 15,3 Mo d'espace disque supplémentaires seront utilisés.
Réception de :1 http://fr.archive.ubuntu.com/ubuntu/ quantal/main liberror-perl all 0.17-1 [23,8 kB]
Réception de :2 http://fr.archive.ubuntu.com/ubuntu/ quantal/main git-man all 1:1.7.10.4-1ubuntu1 [634 kB]
Réception de :3 http://fr.archive.ubuntu.com/ubuntu/ quantal/main git amd64 1:1.7.10.4-1ubuntu1 [6 165 kB]
6 824 ko réceptionnés en 16s (402 ko/s)
Sélection du paquet liberror-perl précédemment désélectionné.
(Lecture de la base de données... 52990 fichiers et répertoires déjà installés.)
Dépaquetage de liberror-perl (à partir de .../liberror-perl_0.17-1_all.deb) ...
Sélection du paquet git-man précédemment désélectionné.
Dépaquetage de git-man (à partir de .../git-man_1%3a1.7.10.4-1ubuntu1_all.deb) ...
Sélection du paquet git précédemment désélectionné.
Dépaquetage de git (à partir de .../git_1%3a1.7.10.4-1ubuntu1_amd64.deb) ...
Traitement des actions différées (« triggers ») pour « man-db »...
Paramétrage de liberror-perl (0.17-1) ...
Paramétrage de git-man (1:1.7.10.4-1ubuntu1) ...
Paramétrage de git (1:1.7.10.4-1ubuntu1) ...
2/4 | Creating account "storage"...
-> useradd storage --create-home --shell /usr/bin/git-shell --password "*" --user-group
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".

Bon, la 1ère étape est terminée.

Phase 3 : Création d’un dossier partagé

  1. Dossier à accès public :
    Pour créer un dossier partagé public, c’est-à-dire qui sera accessible par tous les ordinateurs liés au serveur sans restriction, il suffit d’exécuter la commande suivante :
    sudo dazzle create DOSSIER1
  2. Dossier à accès privé :
    Pour créer un dossier partagé public, c’est-à-dire qui sera accessible par tous les ordinateurs liés au serveur sans restriction, il suffit d’exécuter la commande suivante :
    sudo dazzle create-encrypted DOSSIER_CRY1

Après la création d’un dossier, le message suivant devrait s’afficher :

Creating project "DOSSIER1"...
-> /usr/bin/git INIT --bare /home/storage/DOSSIER1
-> /usr/bin/git config --file /home/storage/DOSSIER1/config receive.denyNonFastForwards TRUE
-> echo "*.ISO -delta" >> /home/storage/DOSSIER1/info/attributes
-> chown --recursive storage:storage /home/storage
Project "DOSSIER1" was successfully created. bold;">TO link bold;">UP a SparkleShare client, enter the following details into the "Add Hosted Project..." dialog: Address: ssh://storage@XXX.XXX.XXX.XXX:22 REMOTE Path: /home/storage/DOSSIER1 bold;">TO link bold;">UP (more) computers, bold;">USE the "dazzle link" command.

Voilà, vous savez tout sur la création de dossiers.

Phase 4 : Paramétrage de la connexion entre le serveur et le client

Une fois le client installé, une icône apparaît dans la barre de notification. Cliquez une fois dessus, un menu s’affiche.

M1 Installer SparkleShare, un Dropbox like Open Source M2 Installer SparkleShare, un Dropbox like Open Source

Cliquez sur le bouton « Add hosted project… »

Setup paramok Installer SparkleShare, un Dropbox like Open SourceSetup oops Installer SparkleShare, un Dropbox like Open Source

Si cette dernière fenêtre 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.
Pour cela, Rendez-vous à la Phase 5. Ah, elle est juste en dessous… Mais que c’est bien icon wink Installer SparkleShare, un Dropbox like Open Source

Phase 5 : Liaison d’un client au serveur

    • Sur le client : Il faut aller récupérer la chaine d’authentification du client, c’est-à-dire l’empreinte qui permettra au serveur de « connaitre » le client.

Pour cela, il faut se rendre dans le profile utilisateur, puis le dossier SparkleShare :

  • Sous Windows XP : C:\Documents And Settings\[UTILISATEUR]\SparkleShare
  • Sous Vista, 7 ou 8 : C:\Utilisateurs\[UTILISATEUR]\SparkleShare

Ensuite, ouvrez le fichier « [Utilisateur enregistré]‘s link code.txt ».

Sélectionnez son contenu (Ctrl + A) et copiez-le (Ctrl + C).

Exemple de contenu :

ssh-rsa AAAAB3ABIwAAA.........Y7JCRaNrKF8ipz9mHwr26elQN.........aiclCn9lECE+qvL9Ew== VM-WIN7PRO-JC
Rendez-vous en ssh ou en terminal sur votre serveur (comme dans la Phase 2 de ce Tuto).

Exécutez la ligne de commande suivante :

sudo dazzle link
Le serveur vous demande alors de saisir le link code :
Paste the contents bold;">OF "~/SparkleShare/Your Name's link code.txt"
(found bold;">ON the client) into the FIELD below bold;">AND press <ENTER>.
Link CODE:

Collez ou ré-écrivez le contenu du fichier précédemment Copié et tapez la touche « Entrée ».

Le serveur vous donnera l’information suivante, expliquant que le client peut désormais se connecter et de répéter l’opération pour tous les clients que vous souhaiteriez connecter :

The client bold;">WITH this link CODE can NOW access projects.
bold;">REPEAT this step bold;">TO link more clients.

Voilà, c’est fait !

Vous pouvez maintenant répéter l’opération de la Phase 4. Sauf que cette fois-ci, la dernière fenêtre sera :

Setup ok Installer SparkleShare, un Dropbox like Open Source

Petite précision :
Si vous avez créé un dossier crypté (sudo dazzle create-encrypted DOSSIER_CRYPT1), une fenêtre vous demandera la saisie d’un mot de passe :

Setup crypt password Installer SparkleShare, un Dropbox like Open Source

Ce qui vous permettra de protéger le contenu et de ne le rendre accessible que par vous qui connaissez le mot de passe. C’est sioux, ça…

Phase 6 : Utilisation

Cliquez une fois sur l’icône de notification de SparkleShare, un menu s’affiche.

M1 1 Installer SparkleShare, un Dropbox like Open Source

Si vous cliquez sur « DOSSIER1″, 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 disponibles dans les autres ordinateurs!

Conclusion :

Voilà ! Le 1er Tuto 100% réalisé par mes soins est terminé. N’hésitez pas à me remonter les moindres incompréhensions ou doutes sur ce Tuto !

J’ai encore beaucoup à apprendre de vous. J’espère avoir été à la hauteur de vos attentes. Si vous avez aimé, n’oubliez pas de partager !

Partager.
  • Christophe

    Bravo et bienvenue!Cela me parait pas mal, j’essayerai dès que j’ai un peu de temps!!!

  • latour

    Sympas comme tuto !

  • http://twitter.com/jchenavas Julien CHENAVAS

    Merci à tous ( enfin tous les 2 pour l’instant ;-) )! Si vous rencontrez des difficultés, et il y en aura, Twittez moi! J’améliorerais le tuto!

  • Ookpik

    Bienvenue à toi julien. Tuto très intéressant, bien présenté et complet. Pour l’instant, je vais me satisfaire de la solution ownCloud mais dans un avenir plus ou moins proche j’opterai certainement pour SparkleShare et pourquoi pas sur mon p’tit Raspberry Pi.. Je garde le tuto sous le coude.

    • http://twitter.com/jchenavas Julien CHENAVAS

      Salut Ookpik! Ca serait pas mal que tu me donnes ton opinion avec la différence entre ownCloud et SparkleShare! Sachant que je suis en train de tester ownCloud et que finalement, il me paraît vraiment mieux car plus complet et interfaçable avec ActiveDirectory! De plus, il permet de synchroniser directement depuis Dropbox, Amazon ou même GoogleDrive et j’en passe!

      • Ookpik

        Salut Julien et pardon pour cette réponse tardive. je n’ai pas trop eu le temps d’aller plus loin que ton article avec sparkleshare. D’après ce que j’en ai lu, sparkleshare est plutôt un outil de travail collaboratif et de partage, il est biensûr sur le même principe que le cloud mais orienté travail collaboratif pour développeurs par exemple qui, travaillant sur un seul et même projet vont pouvoir accéder à tous les documents communs modifiés en temps réel. ownCloud est plutôt orienté stockage et partage de photos (afficheur d’images avec jquery), vidéos, musique (lecteur mp3 en javascript intégré), et documents.
        ownCloud parait plus simple pour l’installation de base (style installation WordPress), pour ce qui concerne les clients du cloud, une page web sert d’interface de gestion admin/client et possiblité d’intégrer webdav sur chaque machine « cliente » avec n’importe quel OS (Linux, Mac ou Windows) : un peu dans le style de la création d’un dossier partagé en phase 3 du tuto. Il faudrait vraiment tester ces deux outils qui ont l’ai bien l’un comme l’autre, offrant dans les grandes lignes les mêmes fonctionnalités. Pour ma part, d’après ce que je vois, j’ai plus une préférence pour ownCloud car de nombreux plug-ins existent et améliorent grandement ce soft, il est très souvent mis à jour (5 mises à jours en un peu plus d’un mois, je ne sais pas ce qu’il en est pour sparkleshare) et le dernier point est la possibilité d’installer un client webdav sur smartphone (app officiel de ownCloud sur le google store par exemple, mais il en existe bien d’autres) qui permet la syncronisation, l’envoi de données sur le cloud.
        Voilà; j’espère que j’ai pu répondre à quelques unes de tes interrogations. Je n’utilise pas du tout la syncronisation entre cloud perso et autres donc je ne pourrai en parler.
        Continue comme ça :)

      • Julien

        Merci Ookpik pour ton retour! Effectivement, lorsque j’ai fait mon tuto, je me suis rendu compte qu’il était d’une complexité certaine en terme de mise en œuvre! Pour ma part, je suis assez à l’aise concernant les lignes de commandes sous Linux, donc ça ne me posais pas plus de problème que ça! Ors, j’ai un collègue qui a lu le tuto, il est beaucoup moins au fait et j’ai constater qu’il galerait un peu! Mais bon, après avoir testé ownCloud moi même, j’ai constaté la facilité d’administration! Aussi, je changerais mon fusil d’épaule et je tutoterais ownCloud, mais sous Windows! Ça sera encore plus simple!

        Sinon, si ça ne vous gènes paS les lignes de commandes, je suis en train de rédiger un truc de oufff pour vous!!! On va bien s’amuser! Le sujet est : « Installation de 2 SANs répliqués avec haute disponibilité » conjointement avec OpenMediaVault, DRBD et iSCSI! Vous m’en direz des nouvelles!

        Je travail jour et nuit pour vous le sortir avant les vacances! Ça touche à sa fin mais plus j’avance et plus j’en rajoute! Va falloir que je m’arrête à un moment!

        Bref, Merci et surveillez le (fabuleux) site Cachem.fr!

        @ très vite!!!

      • http://twitter.com/jchenavas Julien CHENAVAS

        Merci Ookpik pour ton retour! Effectivement, lorsque j’ai fait mon tuto, je me suis rendu compte qu’il était d’une complexité certaine en terme de mise en œuvre! Pour ma part, je suis assez à l’aise concernant les lignes de commandes sous Linux, donc ça ne me posais pas plus de problème que ça! Ors, j’ai un collègue qui a lu le tuto, il est beaucoup moins au fait et j’ai constater qu’il galerait un peu! Mais bon, après avoir testé ownCloud moi même, j’ai constaté la facilité d’administration! Aussi, je changerais mon fusil d’épaule et je tutoterais ownCloud, mais sous Windows! Ça sera encore plus simple!

        Sinon, si ça ne vous gènes paS les lignes de commandes, je suis en train de rédiger un truc de oufff pour vous!!! On va bien s’amuser! Le sujet est : « Installation de 2 SANs répliqués avec haute disponibilité » conjointement avec OpenMediaVault, DRBD et iSCSI! Vous m’en direz des nouvelles!

        Je travail jour et nuit pour vous le sortir avant les vacances! Ça touche à sa fin mais plus j’avance et plus j’en rajoute! Va falloir que je m’arrête à un moment!

        Bref, Merci et surveillez le (fabuleux) site Cachem.fr!

        @ très vite!!!

        P.S. Je reposte ce message car il n’est pas apparu!

    • http://twitter.com/jchenavas Julien CHENAVAS

      Sans parler de l’interface d’administration qui est plus facile et agréable qu’en ligne de commande! Mais, je vais m’y intéresser plus profondément et peut-être faire un pitit tuto!!!

      • http://www.cachem.fr/ Fx

        +1 pour un petit Tuto ^^

  • Neogits

    intéressant. Malheureusement le client pour tablette ne permet pas d’uploader des fichiers… du coup c’est vraiment à réserver aux OS classiques.

  • Olivier

    Bonjour,

    Très bien comme tuto, c’est une bonne idée et ça aide bien pour faire fonctionner cet outil très pratique.

    J’aimerai que les dépôts ne soient pas dans la home sous /home/storage mais ailleurs genre un disque data afin de ne pas pourrir mon disque système.
    Merci
    Olivier

    • Julien

      Salut Olivier et désolé pour les 100 ans que j’ai mis pour te répondre!!!

      Tu peux t’en sortir avec 2 solutions :
      1 – tu modifies le point de montage de ton /home sur un disque dédié (très facile avec LVM)
      2 – tu crées un dossier à l’endroit que tu souhaites et tu crées un lien symbolique dans le /home

      Voilou!

    • Julien CHENAVAS

      Salut Olivier et désolé pour les 100 ans que j’ai mis pour te répondre!!!

      Tu peux t’en sortir avec 2 solutions :

      1 – tu modifies le point de montage de ton /home sur un disque dédié (très facile avec LVM)

      2 – tu crées un dossier à l’endroit que tu souhaites et tu crées un lien symbolique dans le /home

      Voilou!