INFO: questo articolo è piuttosto vecchio, ho scritto una guida su NextCloud che permette di fare la stessa cosa e potrebbe interessarti (CLICCA QUI) 😉
In questo articolo andrò a spiegare come creare il proprio spazio cloud su un Raspberry PI, in modo da potervi accedere anche fuori casa per avere sempre i nostri files a disposizione.
In particolare andremo ad utilizzare:
- Raspberry PI modello B (nel mio caso la versione 2, più performante);
- Il software ownCloud (aggiornato all’ultima versione disponibile, la 10.14.0 e disponibile qui);
- Il software Apache2 e relative estensioni (web server);
- L’interprete PHP;
- Eventuale server MySQL per gestire il database di ownCloud (opzionale, è possibile sfruttare SQLite).
Dopo essersi assicurati di aver configurato la connessione a internet sul Raspberry PI, utiliziamo il seguente comando per installare tutte le utilità che ci serviranno per mettere online il nostro spazio cloud:
sudo apt-get install apache2 php php-json php-gd php-sqlite curl libcurl3 libcurl4-openssl-dev php-curl php-gd php-cgi php-pear php-dev build-essential libpcre3-dev php libapache2-mod-php php-apc
Dopo aver installato e configurato tali software, sarà necessaria l’installazione di un’estensione di PHP, tramite il comando:
sudo pecl install apc
Dopodiché dovremo andare a creare il file apc.ini:
sudo nano /etc/php8.2/cgi/conf.d/apc.ini
Che dovrà contenere:
extension=apc.so apc.enabled=1 apc.shm_size=30
Dopodiché salviamo il file e modifichiamo la configurazione di PHP, con l’aiuto del comando:
sudo nano /etc/php8.2/apache2/php.ini
Cerchiamo la voce upload_max_filesize e assicuriamoci che sia a un valore elevato, come 4096M (ovvero 4 GB), ci garantirà la possibilità di poter caricare file dalla dimensione di 4 GB. Effettuiamo la stessa modifica anche alla voce post_max_size, dopodiché concludiamo la modifica cercando la sezione dedicata alle estensioni (extension) e inseriamo:
extension=apc.so
Infine salviamo il file e configuriamo Apache, con il comando:
sudo nano /etc/apache2/sites-enabled/000-default
Assicurandoci di aver modificato “allow ovveride” da “all” a “none”.
Abilitiamo poi il supporto SSL:
sudo a2enmod rewrite sudo a2enmod headers
E impartiamo il seguente comando:
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
Quindi riavviamo Apache:
sudo service apache2 restart
Adesso sarà necessario procurarci ownCloud (disponibile qui), nel mio caso, l’ultima versione disponibile è la 10.14.0, quindi ho impartito il seguente comando:
wget https://download.owncloud.com/server/stable/owncloud-complete-20240226.zip
Il comando wget permette di scaricare un file da internet.
Adesso scompattiamo l’archivio con il comando:
sudo tar -xjf owncloud-*
E copiamo i files creati nella root del server Apache:
sudo cp -r owncloud /var/www
Dopodiché impostiamo i permessi necessari per Apache:
sudo chown -R www-data:www-data /var/www/owncloud/
Nel caso in cui ci fossero problemi nel salvataggio di files, consiglio di impartire il comando:
sudo chmod -R 771 /var/www/owncloud/
Modifichiamo il file .htaccess per garantire il caricamento di files dalle dimensioni stabilite nel file di configurazione di PHP, impartendo il comando:
sudo nano /var/www/owncloud/.htaccess
Dopodiché salviamo il file e colleghiamoci tramite web browser all’indirizzo: http://IP-DEL-RASPBERRYPI/owncloud o tramite SSL all’indirizzo https://IP-DEL-RASPBERRYPI/owncloud e configuriamo ownCloud secondo le nostre esigenze.
Nel caso in cui non sapeste come creare un database MySQL, dopo aver effettuato il login tramite il comando mysql -u <nomeutente> e dopo aver digitato la password dell’account MySQL, sarà sufficiente impartire il comando CREATE DATABASE <nomedatabase>; ad esempio:
CREATE DATABASE owncloud;
Comunque sia dovrebbe essere possibile sfruttare anche SQLite, in modo tale da non rendere necessaria l’installazione di MySQL.
2 Commenti
Francesco
ciao, purtroppo non riesco ad incrementare il limite di upload (nonostante abbia modificato il file correttamente). invece, con la guida “vecchia” sono riuscito a sistemare tutto tranquillamente… hai una copia della vecchia che potresti inviarmi? 🙂
Dragone2
Nella guida è tutt’ora presente ciò che devi modificare (“Cerchiamo la voce upload_max_filesize e assicuriamoci che sia a un valore elevato, come 4096M (ovvero 4 GB), ci garantirà la possibilità di poter caricare file dalla dimensione di 4 GB. Effettuiamo la stessa modifica anche alla voce post_max_size”). È possibile che il file da modificare non sia in /etc/php5/apache2/ ma in /etc/php/7.0/apache2/ se hai installato PHP 7.