RaspberryPi: configurazione di un server cloud (parte 3)

medium quite expensive 2 days

BTSYNC
Un’altra funzionalità per il nostro RB è la possibilità di condividere file e cartelle in remoto tra più client device ed il server. Più o meno come DropBox.
Per fare questo installiamo BTSync.

BTSync
BTSync

 

Installazione BTSync modo 1: 

Da terminale del RB eseguiamo:

wget http://btsync.s3-website-us-east-1.amazonaws.com/btsync_arm.tar.gz
scompattiamo il file appena prelevato
tar -zxf btsync_arm.tar.gz

Creiamo una cartella btsync
sudo mkdir /etc/btsync

spostiamo il file scompattato nell cartella creata:
sudo mv btsync /etc/btsync/

Accediamo alla cartella:
cd /etc/btsync/

Modifichiamo proprietario e permessi:
sudo chown root:root btsync
sudo chmod 755 btsync

codice BTSync
codice BTSync

 

Avvio BTSync:
sudo bash
./btsync –dump-sample-config > sync.conf

Avvio BTSync allo startup
Creiamo il file sync.conf
sudo nano sync.conf

Creiamo il file btsync
sudo nano /etc/init.d/btsync

ed inseriamo le seguenti righe:
#! /bin/sh
# /etc/init.d/btsync
#

# Start or Stop BT Sync
case “$1” in
start)
/etc/btsync/./btsync –config /etc/btsync/sync.conf
;;
stop)
pkill btsync
;;
*)
echo “Usage: /etc/init.d/btsync {start|stop}”
exit 1
;;
esac

exit 0

Salviamo, usciamo (Ctrl+x) e diamo i permessi di esecuzione al file appena creato.
sudo chmod +x /etc/init.d/btsync

Dopo di che eseguiamo il seguente script per aggiornare rc.d
sudo update-rc.d btsync defaults

http://adammatthews.co.uk/2013/05/install-bittorrent-sync-on-debian-raspbian/

installazione BTSync modo 2

sudo add-apt-repository ppa:tuxpoldo/btsync
sudo apt-get update
sudo apt-get install btsync

eseguire le istruzioni.

SEAFILE
Come ultima cosa vogliamo aggiungere un cloud server per il nostro RB. L’obiettivo è di avere un sistema che ci permetta di condividere, modificare e creare immagini, documenti o video sul nostro HardDisk privato.
Dopo diverse prove con OwnCloud e Seafile, per il nostro scopo abbiamo preferito quest’ultimo. Le motivazioni riguardano soprattutto le migliori prestazioni sul RB.

Entriamo nella cartella opt ed preleviamo seafile con wget.
cd /opt
sudo wget http://seafile.googlecode.com/files/seafile-server_letstFORRASPBERRY.tar.gz

modificare il nome del file con la versione che si vuole installare.

Creiamo la cartella cloud ed installiamo al suo interno seafile:
sudo mkdir cloud
sudo mv seafile-server_* cloud

Entriamo nella cartella appena creata e scompattiamo il file tar.gz
cd cloud

tar -xzf seafile-server_nomeversione

Una volta scompattato il file creiamo una nuova cartella che chiameremo installed

mkdir installed

spostiamo il file scompattato nella cartella appena creata.
mv seafile-server_* installed

La nostra installazione prevede l’utilizzo di mysql. Per poter continuare con l’installazione installiamo prima di tutto mysql.
sudo apt-get install mysql-server

entriamo con l’utente root e la password  che abbiamo deciso in fase di installazione:
sudo mysql -u root -p

Una volta entrati in mysql eseguire le seguenti righe:

#creazione db
create database `ccnet-db` character set = ‘utf8’;
create database `seafile-db` character set = ‘utf8’;
create database `seahub-db` character set = ‘utf8’;

#creazione utente: seafile e psw: seafile
create user ‘seafile’@’localhost’ identified by ‘seafile’;

#diamo i privilegi
GRANT ALL PRIVILEGES ON `ccnet-db`.* to `seafile`;
GRANT ALL PRIVILEGES ON `seafile-db`.* to `seafile`;
GRANT ALL PRIVILEGES ON `seahub-db`.* to `seafile`;

Terminiamo l’installazione di tutti i pacchetti necessari con le seguenti istruzioni:
apt-get update
apt-get install python2.7 python-setuptools python-simplejson python-imaging python-mysqldb

Finita l’installazione dei pacchetti accediamo alla cartella scompattata in installed.
cd seafile-server-*
Eseguiamo il seguente script per l’installazione con MySQL.
./setup-seafile-mysql.sh
Da ora settiamo tutti i parametri richiesti da prompt definendo porta, indirizzo IP e nome directory di salvataggio dei dati.

Alla domanda:
Please choose a way to initialize seafile databases:
——————————————————-

[1] Create new ccnet/seafile/seahub databases
[2] Use existing ccnet/seafile/seahub databases
Dato che abbiamo già creato le tabelle, segliamo l’opzione 2.

Before Running

Since Seafile uses persistent connection between client and server, if you have a large number of clients , you should increase Linux file descriptors by ulimit before start seafile, like:

ulimit -n 30000

Avvio seafile
Start seafile:
./seafile.sh start # Start seafile service
Start seahub
./seahub.sh start   # Start seahub website, port defaults to 8000
Dopo l’avvio dei servizi descritti sopra, possiamo accedere al cloud direttamente da browser:

http://IP-ADDRESS:8000/