Ciao a tutti!
Dropbox, Drive, Box? Nha non ci piacciono. Perchè essere sempre sotto qualcun’altro?
In questa guida vedremo insieme come installare Owncloud sul nostro RaspberryPi.
Incominciamo chiedendoci: cos’è questo Owncloud?
Owncloud è un software opensurce che ci permette di creare un personal hosting dove i file da noi caricati risiedono sul nostro hard-disk e non su server sconosciuti speduti per il globo.
Owncloud permette di gestire file e cartelle anche da smartphone(con apposita app) e sopratutto di creare e dare permessi a vari utenti che portanno visualizzare o modificare(a nostra scelta ovviamente)un file sul nostro hdd.
Requisiti
- RaspberryPi. (meglio se il 2)
- Raspbian installato.
- Ddns configurato. (vedi guida)
- Hdd-esterno collegato e montato. (vedi guida)
- Porta 80 router aperta.
Installazione
Aggiungiamo l’utente al gruppo www-data con:
sudo usermod -a -G www-data www-data
Installiamo i pacchetti richiesti:
sudo apt-get install nginx openssl ssl-cert php5-cli php5-sqlite php5-gd php5-common php5-cgi sqlite3 php-pear php-apc curl libapr1 libtool curl libcurl4-openssl-dev php-xml-parser php5 php5-dev php5-gd php5-fpm memcached php5-memcache varnish
Creiamo un certificato SSL:
sudo openssl req $@ -new -x509 -days 730 -nodes -out /etc/nginx/cert.pem -keyout /etc/nginx/cert.key
Digitiamo i campi richiesti.
Modifichiamo ora i permessi dei certificati:
sudo chmod 600 /etc/nginx/cert.pem
sudo chmod 600 /etc/nginx/cert.key
Eliminiamo il file di configurazione del webserver(in questo caso nginc):
sudo rm /etc/nginx/sites-available/default
Ora ne creiamo una nuova con:
sudo nano /etc/nginx/sites-available/default
Incolliamoci questo: modifichiamo “10.0.0.124” con l’indirizzo ip de nostro raspberry(verificabile con il comando ifconfig)
upstream php-handler {
server 127.0.0.1:9000;
#server unix:/var/run/php5-fpm.sock;
}
server {
listen 80;
server_name 10.0.0.124;
return 301 https://$server_name$request_uri; # enforce https
}
server {
listen 443 ssl;
server_name 10.0.0.124;
ssl_certificate /etc/nginx/cert.pem;
ssl_certificate_key /etc/nginx/cert.key;
# Path to the root of your installation
root /var/www/owncloud;
client_max_body_size 2000M; # set max upload size
fastcgi_buffers 64 4K;
rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;
index index.php;
error_page 403 /core/templates/403.php;
error_page 404 /core/templates/404.php;
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README) {
deny all;
}
location / {
# The following 2 rules are only needed with webfinger
rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;
rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;
try_files $uri $uri/ index.php;
}
location ~ \.php(?:$|/) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param HTTPS on;
fastcgi_pass php-handler;
}
# Optional: set long EXPIRES header on static assets
location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
expires 30d;
# Optional: Don't log access to assets
access_log off;
}
}

Modifichiamo ora la configurazione PHP con il comando:
sudo nano /etc/php5/fpm/php.ini
Con Ctrl+W cerchiamo la voce:
- upload_max_filesize impostiamola a 2000M
- post_max_size impostiamola a 2000M

Apriamo e modifichiamo come segue il secondo file:
sudo nano /etc/php5/fpm/pool.d/www.conf
Cerchaimo la voce listen = /var/run/php5-fpm.sock togiamo il “;”all’inizio della riga e al posto di php5-fpm.sock inseriamo 127.0.0.1:9000 risultato:
listen = 127.0.0.1:9000

Terzo file (ci siamo quasi tenete duro):
sudo nano /etc/dphys-swapfile
Cabiamo il 100 in 512

Riavviamo ora il raspi con
sudo reboot
Dopo il riavvio andiamo a scaricare owncloud
sudo mkdir -p /var/www/owncloud
sudo wget https://download.owncloud.org/community/owncloud-8.0.2.tar.bz2
sudo tar xvf owncloud-8.0.2.tar.bz2
sudo mv owncloud/ /var/www/owncloud
sudo chown -R www-data:www-data /var/www
rm -rf owncloud owncloud*.tar.bz2
Settiamo gli ultimi permessi con:
sudo usermod -a -G pi www-data
Posizioniamoci nella cartella di owncloud:
cd /var/www/owncloud
Modifichiamo il .htaccess:
Cerchiamo i valori:
- Php_value upload_max_filesize Mettiamo 2000M
- Php_value post_max_size Mettiamo 2000M
- Php_value memory_limit Mettiamo 2000M

Modifichiamo l’ultimissimo file:
sudo nano user.ini
Cerchiamo i valori:
- Php_value upload_max_filesize Mettiamo 2000M
- Php_value post_max_size Mettiamo 2000M
- Php_value memory_limit Mettiamo 2000M

Riavviamo il raspberry con:
sudo reboot
Dopo il riavvio aprimo il browser del pc(connesso alla stessa lan) e digitiamo nella barra degli indirizzi:
192.168.1.3/owncloud
ovvimente al posto di “192.168.1.3” mettete l’ip del vostro raspi.
Vi si aprirà una schermata di owncloud simile a questa:

Inseriamo un NOME UTENTE Per l’account admin
Inseriamo una PASSWORD Per l’account admin
In DATA FOLDER Mettiamo il percorso di una cartella del nostro hdd(Per es.: /mnt/usbhdd/cloud )
Cliccando su FINISH SETUP verremo portati all’interfaccia del nostro nuovo personal hosting con owncloud

Spero di essere stato abbastanza chiaro ed esauriente….Per problemi o anche solo curiosità scrivete nel thread (attraverso bottone VEDI SUL FORUM)
GabrieleToselli
RaspberryItaly Community Italiana