Condivisione server-to-server con ownCloud 7 per sincronizzare in locale più account

Ci ho dovuto perdere un po’ di tempo ma poi sono riuscito a capire come funziona la condivisione server-to-server di OwnCloud 7 e a capire, di conseguenza, come fare per risolvere un problema che a leggere dai forum sembra diffuso: sincronizzare in locale, tramite applicazione desktop, file e cartelle da diversi server ownCloud mantenendo tutto diviso.

Scenario di esempio

  • Server OC1 (oc1.mioserver.it): contiene file del lavoro
  • Server OC2 (oc2.mioserver.it): contiene file di una associazione
  • L’amministratore si sistema di OC1 non deve accedere ai file di OC2 e viceversa
  • Io ho accesso a file su entrambi i server e voglio poter avere tutti i file, sempre di entrambi i server, su tutti i miei pc in locale, tramite l’applicazione desktop di ownCloud.

Lo scenario, se girate per qualche forum, vedrete che è abbastanza diffuso, perché in fin dei conti separare i documenti personali da quelli di lavoro è una prassi sicuramente molto usata.

La prima soluzione che mi era banalmente venuta in mente era di avere il supporto per più account sull’applicazione desktop di ownCloud come succede per quella mobile di android ad esempio.

multiaccount_android_owncloud7

Aggiunta di più account con l’applicazione Android di ownCloud

Ma l’applicazione desktop non ha questa funzionalità e chiedendo e leggendo in giro l’unica risposta che i più esperti davano era uno stringato “use server-to-server sharing” o qualcosa anche di meno educato! :-O

Dal momento che la condivisione server-to-server è una funzionalità davvero utile ho colto occasione per fare qualche test ed in effetti ho risolto lo scenario scritto sopra.

Soluzione

  1. Attivare la condivisione server-to-server modificando il file di configurazione di ownCloud che tipicamente trovate in cartella-owncloud/config/config.php (guida in inglese qui, paragrafo “Setting Up Server-to-Server Sharing”)
    1. Su server OC1 inserire tra i trusted domains oc2.mioserver.it
      'trusted_domains' => 
      array (
        0 => 'oc2.mioserver.it', 
      ),
    2. Su server OC2 inserire tra i trusted domains oc1.mioserver.it
      'trusted_domains' => 
      array (
        0 => 'oc1.mioserver.it', 
      ),
    3. Andare nella pagina di admin dei due server e abilitare le spunte per la condivisione server-to-server

      abilitazione_condivisioni_server_owncloud7

      Abilitare la funzione di convisione server-to-server dalla pagina di amministrazione di ownCloud

  2. Creare un collegamento pubblico su OC1 (possibilmente con password per renderlo più sicuro). Se volete scriverci dentro anche dall’altro server spuntate la casella per abilitare il caricamento pubblico di file (istruzioni in inglese con screenshot qui)

    creazione_condivisione_con_link_password_caricamento_pubblico_owncloud7

    Creazione di una condivisione con link protetta da password e con il caricamento pubblico abilitato

  3. Aggiungerlo al server OC2 (istruzioni in inglese con screenshot qui)

    aggiunta_condivisione_remota_server_owncloud7

    Aggiunta di un link pubblico ad un diverso server ownCloud

  4. Sincronizzare SOLO il server OC2 tramite l’applicazione desktop di ownCloud

    configurazione_account_applicazione_desktop_owncloud7

    Configurazione di un account per la sincronizzazione con l’applicazione desktop di ownCloud

Risultato

I file/cartelle di OC1 aggiunti come condivisioni remote a OC2 non vengono fisicamente copiati nel server OC2, ma sono comunque sincronizzati in locale dall’applicazione desktop se la configurate per sincronizzare le cartelle di OC2.

Gli amministratori del server OC2 non vedono i file di OC1 condivisi, perché non vengono copiati sul server, ma in locale ho i file di tutti e due, così che posso sincronizzarli automaticamente se li modifico.

Note

  1. se invertite OC1 con OC2 ovviamente il risultato è lo stesso
  2. Potete aggiungere quanti server volete, basta che sincronizzate in locale quello a cui aggiungete le condivisioni remote

Problemi riscontrati da testare ulteriormente

  • non sono riuscito ad aggiungere condivisioni remote se il server remoto ha un certificato SSL auto-generato. Probabilmente è una limitazione di sicurezza, ma è da capire se e come si può forzare in configurazione.
  • non conosco gli internals per capire se il trasferimento in locale tramite applicazione desktop è direttamente dal server originale al client oppure passa fisicamente per il server intermedio a cui ho aggiunto la condivisione, quindi devo informarmi.

Se qualcuno ha maggiori informazioni da aggiungere commentate pure.

Per ora, come al solito, mi son preso qui i miei appunti, così la prossima volta mi ricordo come si fa! 🙂

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.