Installare OpenCloud su Raspberry Pi

Necessario:

  • Raspberry Pi Model B
  • Scheda SD con Raspbian installato
  • HDD o (come nel mio caso) chiavetta USB capiente. Nel caso di due HDD alimentati è possibile configurarli in RAID mediante mdadm
  • Connessione con ip fissa e ampia banda
  • Per chi vuole investire: gruppo di continuità o surrogato


[image_50_left]http://www.problema-computer.com/wp-content/uploads/2013/06/sudo-raspi-config.jpg[/image_50_left]

Una volta montato e cablato il raspberry, dopo aver eseguito accesso al sistema con utente pi e passwd raspberry (di mio per connettermi ho utilizzato putty da computer con Windows Seven) conviene overcloccare il device aumentando la frequenza del processore portandolo a 900 Mhz dai 700 Mhz di default.
La procedura è possibile portarla a termine con l’edit del file config.txt (sudo nano /boot/config.txt), ma in questo caso ho utilizzato l’utility raspi-config come da tutorial.
Per prevenire il surriscaldamento del Raspberry Pi ho creato dei dissipatori termici.

In seguito al reboot dello strumento, dopo aver fatto accesso come pi, diveniamo root (sudo su) e andiamo a formattare la chiave usb in ext2 per utilizzarla come storage dei dati. Diverso il caso di HDD in cui è possibile formattare in fat32.
Dopo esser diventati root capiamo quale periferica è la chiave USB:
#df -h
Controlliamo se la chiave USB è gia montata, nel caso la smontiamo con il comando umount /dev/sda1 (dove sda1 è la chiavetta montata).

[image_50_right]http://www.problema-computer.com/wp-content/uploads/2013/06/comando-cat-procpartitions.jpg[/image_50_right]

Nel caso non sia ancora montata usiamo il seguente comando per capire quale è la partizione su cui è montata: #cat /proc/partitions
partizioniamo la chiavetta:
# fdisk /dev/sda1
A seguire la formattiamo in ext2
# mkfs -t ext2 /dev/sda1

Andiamo ad editare fstab (etc/fstab) per effettuare l’automount della chiavetta all’avvio del Raspberry Pi.
[image_50_left]http://www.problema-computer.com/wp-content/uploads/2013/06/sudo-raspi-config.jpg[/image_50_left]

Con cat /proc/partitions monitoriamo come viene montata la nostra chiavetta, creiamo la directory di destinazione (mkdir) e editamo etc/fstab
La linea da aggiungere al file è la seguente:
/dev/sda1 /media/usbstick1 ext2 defaults O 0
Una volta riavviato (shutdown - r now) accediamo nuovamente allo strumento, e diamo i permessi a pi di accedere alla directory e effettuiamo un veloce test:
sudo chown -R pi:pi /media/usbdisk1 (permessi ad utente pi per directory /media/usbdisk1)
quindi test: df -h e vediamo se la partizione è montata sulla chiavetta usb.

[image_50_left]http://www.problema-computer.com/wp-content/uploads/2013/06/update-package-raspberry-pi.jpg[/image_50_left]

Aggiorniamo il software del raspberry:
sudo apt-get update e a seguire installiamo il software necessario a renderlo un web server con Apache a gestire PHP5 e database MySql (nel caso di comandi consequenziali e parecchio lunghi copiarli in toto e incollarli direttamente nel terminale, per far ciò selezionare il testo da eseguire, copiarlo, utile il comando da tastiera di scelta rapida CTRL+C e incollarlo nel terminale con il tasto destro del mouse):
sudo apt-get install apache2 php5 php5-json php5-gd php5-sqlite curl libcurl3 libcurl4-openssl-dev php5-curl php5-gd php5-cgi php-pear php5-dev build-essential libpcre3-dev php5 libapache2-mod-php5 php-apc gparted

[image_50_right]http://www.problema-computer.com/wp-content/uploads/2013/06/install-pecl-apc.jpg[/image_50_right]

Installiamo e configuriamo il modulo della cache PHP:
sudo pecl install apc
E a seguire creiamo il file apc.ini
sudo nano /etc/php5/cgi/conf.d/apc.ini
Dove andiamo ad inserire i seguenti valori:
extension=apc.so
apc.enabled=1
apc.shm_size=30

Andiamo ad editare il file PHP.ini per aumentare la dimensione dei file che è possibile caricare sul server e aggiungere l’estensione APC a PHP
sudo nano /etc/php5/apache2/php.ini e editiamo i valori come a seguire (sarà così possibile fare upload di file di dimensioni pari al Giga)
upload_max_filesize = 1024M
post_max_size = 1200M
extension=apc.so

Editiamo apache e configuriamo ssh:
sudo nano /etc/apache2/sites-enabled/000-default
Se abbiamo bisogno di modificare le impostanzioni in DocumentRoot come se fosse il file httpd.conf.
Configuriamo SSL
sudo a2enmod rewrite
sudo a2enmod headers

E a seguire il comando per definire le impostazioni:
sudo openssl genrsa -des3 -out server.key 1024; sudo openssl rsa -in server.key -out server.key.insecure;sudo openssl req -new -key server.key -out server.csr;sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt;sudo cp server.crt /etc/ssl/certs;sudo cp server.key /etc/ssl/private;sudo a2enmod ssl;sudo a2ensite default-ssl
e riavviamo apache
sudo service apache2 restart

[image_50_left]http://www.problema-computer.com/wp-content/uploads/2013/06/wget-owncloud.jpg[/image_50_left]

Scarichiamo owncloud:
wget http://download.owncloud.org/community/owncloud-latest.tar.bz2
lo scompattiamo e copiamo nella webdirectory:
sudo tar -xjf owncloud-latest.tar.bz2
sudo cp -r owncloud /var/www

In seguito alla copia diamo il permesso al webserver di accedere alla directory di owncloud
sudo chown -R www-data:www-data /var/www/owncloud/
Editiamo ancora il file .htaccess a cui andiamo a modificare le variabili relative alle dimensioni massime dei file nell’upload e le impostiamo con gli stessi valori che abbiamo inserito nel file php.ini
sudo nano /var/www/owncloud/.htaccess

[image_50_right]http://www.problema-computer.com/wp-content/uploads/2013/06/owncloud-url-sito.jpg[/image_50_right]

Accediamo all’url a cui corrisponde il nostro cloud e configuriamo la directory in cui vogliamo immagazzini i file caricati online (nel nostro caso quella presente sulla chiavetta USB: /media/usbdisk1/):

Riferimenti (only english, naturally):

Condividi e consiglia questo articolo!

    Un pensiero su “Installare OpenCloud su Raspberry Pi

    1. tablets

      Woah this blog is wonderful i really like reading your articles. Keep up the great paintings! You know, lots of people are hunting around for this info, you could help them greatly.

      Rispondi

    Lascia un commento

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