Mar 172012
 

Dopo l’ultimo articolo su Dropbox ho pensato che fosse utile mostrare come si può utilizzare Dropbox anche su un server senza interfaccia grafica, questo utilissimo articolo di David Feinberg è stato pubblicato su http://ubuntuservergui.com/

Questo articolo vi aiuterà a installare il client Dropbox Linux sul vostro server headless Ubuntu e collegarlo al vostro account Dropbox. A differenza del processo di montaggio di un S3 bucke che abbiamo visto prima l’approccio a Dropbox è una migliore soluzione per la condivisione di file. Se siete un utente giornaliero di Dropbox si prende subito la mano alla comodità di avere i server nello stesso ciclo di condivisione dei file come tutti gli altri dispositivi collegati con Dropbox!


Installare Dropbox

Iniziate scaricando la versione Linux di Dropbox sul vostro server. Questi passaggi sono stati testati su Ubuntu Server 10.10 e 11.04.

Scaricate la versione a 32Bit

wget -O dropbox.tar.gz "http://www.dropbox.com/download/?plat=lnx.x86"

Scaricate la versione a 64Bit

wget -O dropbox.tar.gz "http://www.dropbox.com/download/?plat=lnx.x86_64"

Se siete sicuri di quale versione avete bisogno è possibile controllarlo rapidamente eseguendo uname -a.

sudo uname -a

Se l’output di uname ha un i686 alla fine è necessaria la versione a 32bit e se ha x86_64 serve la versione a 64bit.

Quando si estrae l’archivio Dropbox inserirà automaticamente i suoi file nella directory home dell’utente con cui avete fatto login nella directory: ~/.dropbox È sempre possibile spostare questi file in seguito, ma è qualcosa da tenere a mente.

Estrarre l’archivio Dropbox

tar -xzvf dropbox.tar.gz

Collegamento del server al tuo account Dropbox

Prima di compiere il passo successivo che si vorrà assicurarsi che la propria variabile d’ambienteLANG sia impostata su un valore diverso da NULL.

Controllare il valore della vostro variabile d’ambiente LANG

printenv LANG     // outputs en_US.UTF-8 sulla mia macchina

Per collegare il client Dropbox sul server al vostro account Dropbox è necessario copiare il link che vi fornisce in una finestra del browser e poi accedere al vostro account Dropbox.

Eseguite dropboxd sul vostro server

 ~/.dropbox-dist/dropboxd

Inizierà l’output di un collegamento simile a questo ogni pochi secondi

 Questo client non è legata ad alcun conto ...
Si prega di visitare https://www.dropbox.com/cli_link?host_id=1c1497d78b543178b9349a7c1a8b087a&cl=en_US per collegare questa macchina.

Il trucco per un collegamento agevole è quello di assicurarsi di lasciare dropboxd in esecuzione mentre si segue il link. Non è necessario accedere al link dal server su cui state tentando di installare Dropbox. È possibile copiare e incollare quel link in un browser in esecuzione su una macchina separata e Dropbox provvederà ad autorizzare il client in esecuzione sul server.

Una volta che succede si vedrà il  messaggio Client successfully linked, Welcome! sul vostro server e si fermerà l’output del link di autorizzazione.

Premete ctrl c per terminare il processo

Client successfully linked, Welcome!

Una volta che il client Dropbox sul server è collegato con successo creerà automaticamente una cartella Dropbox in ~/Dropbox per l’utente con il quale l’avete registrato. Tutte le cartelle saranno visibili sotto la cartella Dropbox, ma poiché il servizio Dropbox non è effettivamente in esecuzione sul server voi non sarete in grado di vedere i file all’interno di queste cartelle fino a quando il client sarà in esecuzione e farà un controllo per la sincronizzazione.

È possibile avviare manualmente il servizio eseguendo

#!/bin/sh
# dropbox service
# Replace with linux users you want to run Dropbox clients for
DROPBOX_USERS="user1 user2"
 
DAEMON=.dropbox-dist/dropbox
 
start() {
    echo "Starting dropbox..."
    for dbuser in $DROPBOX_USERS; do
        HOMEDIR=`getent passwd $dbuser | cut -d: -f6`
        if [ -x $HOMEDIR/$DAEMON ]; then
            HOME="$HOMEDIR" start-stop-daemon -b -o -c $dbuser -S -u $dbuser -x $HOMEDIR/$DAEMON
        fi
    done
}
 
stop() {
    echo "Stopping dropbox..."
    for dbuser in $DROPBOX_USERS; do
        HOMEDIR=`getent passwd $dbuser | cut -d: -f6`
        if [ -x $HOMEDIR/$DAEMON ]; then
            start-stop-daemon -o -c $dbuser -K -u $dbuser -x $HOMEDIR/$DAEMON
        fi
    done
}
 
status() {
    for dbuser in $DROPBOX_USERS; do
        dbpid=`pgrep -u $dbuser dropbox`
        if [ -z $dbpid ] ; then
            echo "dropboxd for USER $dbuser: not running."
        else
            echo "dropboxd for USER $dbuser: running (pid $dbpid)"
        fi
    done
}
 
case "$1" in
 
    start)
        start
        ;;
 
    stop)
        stop
        ;;
 
    restart|reload|force-reload)
        stop
        start
        ;;
 
    status)
        status
        ;;
 
    *)
        echo "Usage: /etc/init.d/dropbox {start|stop|reload|force-reload|restart|status}"
        exit 1
 
esac
 
exit 0

Tuttavia, una scelta migliore per controllare il client Dropbox è quello di impostare uno script di gestione del servizio per Ubuntu.

Avvio automatico di Dropbox al boot

Dropbox offre un piccolo e pratico script di gestione del servizio che rende facile l’avvio, l’arresto ed il controllo dello lo stato del client Dropbox.

Creare un nuovo file per lo script di gestione del servizio

sudo vi /etc/init.d/dropbox

Incollate il seguente script in un nuovo file

#!/bin/sh
# dropbox service
# Replace with linux users you want to run Dropbox clients for
DROPBOX_USERS="user1 user2"

DAEMON=.dropbox-dist/dropbox

start() {
    echo "Starting dropbox..."
    for dbuser in $DROPBOX_USERS; do
        HOMEDIR=`getent passwd $dbuser | cut -d: -f6`
        if [ -x $HOMEDIR/$DAEMON ]; then
            HOME="$HOMEDIR" start-stop-daemon -b -o -c $dbuser -S -u $dbuser -x $HOMEDIR/$DAEMON
        fi
    done
}

stop() {
    echo "Stopping dropbox..."
    for dbuser in $DROPBOX_USERS; do
        HOMEDIR=`getent passwd $dbuser | cut -d: -f6`
        if [ -x $HOMEDIR/$DAEMON ]; then
            start-stop-daemon -o -c $dbuser -K -u $dbuser -x $HOMEDIR/$DAEMON
        fi
    done
}

status() {
    for dbuser in $DROPBOX_USERS; do
        dbpid=`pgrep -u $dbuser dropbox`
        if [ -z $dbpid ] ; then
            echo "dropboxd for USER $dbuser: not running."
        else
            echo "dropboxd for USER $dbuser: running (pid $dbpid)"
        fi
    done
}

case "$1" in

    start)
        start
        ;;

    stop)
        stop
        ;;

    restart|reload|force-reload)
        stop
        start
        ;;

    status)
        status
        ;;

    *)
        echo "Usage: /etc/init.d/dropbox {start|stop|reload|force-reload|restart|status}"
        exit 1

esac

exit 0

Assicurarsi di sostituire il valore di DROPBOX_USERS con un elenco separato da virgole degli utenti linux sul computer con i quali si desidera eseguire il client di Dropbox. Ogni utente nella lista dovrebbe avere una copia dei file e le cartelle che Dropbox ha estratto dall’archivio, disponibili nella loro home directory.

Assicurarsi che lo script sia eseguibile e aggiungerlo ai livelli di avvio di default del sistema.

sudo chmod +x /etc/init.d/dropbox
sudo update-rc.d dropbox defaults

Controllate il client Dropbox come qualsiasi altro servizio Ubuntu

sudo service dropbox start|stop|reload|force-reload|restart|status

A seconda del numero di file che avete sul Dropbox e la velocità della vostra connessione a Internet potrebbe richiedere del tempo al client Dropbox per sincronizzare tutto.

Verificate stato con Dropbox CLI

Dropbox ha uno script in python disponibile separatamente per fornire maggiori funzionalità e dettagli sullo stato del client Dropbox.

Scarica lo script dropbox.py e regolare i permessi dei file

wget -O ~/.dropbox/dropbox.py "http://www.dropbox.com/download?dl=packages/dropbox.py"
chmod 755 ~/.dropbox/dropbox.py

È possibile scaricare lo script da qualsias parte vi piaccia, l’ho incluso insieme al resto dei file di Dropbox.

Ora si può facilmente verificare lo stato del client Dropbox

~/.dropbox/dropbox.py status
Downloading 125 files (303.9 KB/sec, 1 hr left)

O ottenere la lista completa dei comandi CLI:

~/.dropbox/dropbox.py help

Note: use dropbox help <command> to view usage for a specific command.

 status       get current status of the dropboxd
 help         provide help
 puburl       get public url of a file in your dropbox
 stop         stop dropboxd
 running      return whether dropbox is running
 start        start dropboxd
 filestatus   get current sync status of one or more files
 ls           list directory contents with current sync status
 autostart    automatically start dropbox at login
 exclude      ignores/excludes a directory from syncing

Utilizzare il comando exclude per evitare che i file o cartelle specifiche si sincronizzino sul server

~/.dropbox/dropbox.py help exclude

dropbox exclude [list]
dropbox exclude add [DIRECTORY] [DIRECTORY] ...
dropbox exclude remove [DIRECTORY] [DIRECTORY] ...

"list" prints a list of directories currently excluded from syncing.  
"add" adds one or more directories to the exclusion list, then resynchronizes Dropbox. 
"remove" removes one or more directories from the exclusion list, then resynchronizes Dropbox.
With no arguments, executes "list". 
Any specified path must be within Dropbox.

Una volta che il servizio Dropbox è in esecuzione e completamente sincronizzato è possibile accedere a tutti i vostri file Dropbox e condividere facilmente i file sul server con tutti i tuoi altri gadget collegati Dropbox!

Per ulteriori risorse e suggerimenti utili visitare il Text Based Linux Install, la pagina del wiki Dropbox ed il Dropbox forums.
Buona la sincronizzazione!

Popular Posts:

Flattr this!

  One Response to “Installare Dropbox su Ubuntu Server (10 & 11)”

  1. Very Good, I will try

Leave a Reply to Paulo Correia Cancel reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

*