Guida Nextcloud con Raspberry

flo0p

Utente Bronze
26 Giugno 2021
12
5
15
24
Ultima modifica:
Ciao, ecco una piccola guida per creare la tua Cloud personale a casa^^
Io non mi fido di Google, Dropbox, Apple e compagnia bella quindi ho deciso di crearmi una Cloud personale in Locale con un Raspberry seguendo il mio motto "StaySafe|[email protected]"

Come sempre, aggiorniamo le Repo:
Codice:
sudo apt-get update

Iniziamo installando Apache e MariaDB:
Codice:
sudo apt-get install apache2 mariadb-server libapache2-mod-php

Per vedere se Apache funziona bisogna scrivere l'indirizzo IP del Raspberry in un Web Browser di un dispositivo qualsiasi connesso alla stessa rete del PI, se vi esce la schermata di default di Apache è installato correttamente.
Se non conosci l'indirizzo IP digita nel Terminale:
Codice:
hostname -I

Ora dobbiamo installare PHP con i suoi pacchetti. In questa guida installiamo PHP7.3, quindi assicurati che hai installato Raspbian Buster come OS del PI scrivendo questo nel Terminale:
Codice:
cat /etc/os-release

Installiamo i pacchetti PHP:
Codice:
sudo apt-get install php7.3 php7.3-gd sqlite php7.3-sqlite3 php7.3-curl php7.3-zip php7.3-xml php7.3-mbstring php7.3-gd php7.3-json php7.3-mysql php7.3-curl php7.3-mbstring php7.3-intl php7.3-imagick php7.3-xml php7.3-zip

e riavviamo Apache:
Codice:
sudo service apache2 restart

Ora installiamo Nextcloud spostandoci nella cartella html di Apache:
Codice:
cd /var/www/html

Sul sito Nextcloud.com vediamo qual'è l'ultima versione stabile, nel mio caso la 18.0.3. Scarichiamo il pacchetto ma dobbiamo sostituire il numero di versione nel comando:
Codice:
sudo wget https://download.nextcloud.com/server/releases/nextcloud-18.0.3.zip

Estraiamo il pacchetto zippato (sostituite il numero di versione)
Codice:
sudo unzip nextcloud-18.0.3.zip

e cambiamo i permessi:
Codice:
sudo chmod 750 nextcloud -R
sudo chown www-data:www-data nextcloud -R

Nextcloud è installato e dovrebbe funzionare, proseguiamo creando un Database MYSQL, qui utilizzo MariaDB. Connettiamoci a MYSQL da root con il comando:
Codice:
sudo mysql

Creiamo un nuovo Utente. Dove si deve sostutuire Nome_Utente con un nome utente a scelta ed Password_Sicura con una password. Nome utente e Password vengono scritti dentro agli 'apostrofi' quando ci troviamo nel ambiente MYSQL e ad ogni fine comando viene messo un punto e virgola (;):
SQL:
CREATE USER 'Nome_Utente' IDENTIFIED BY 'Password_Sicura';

Creiamo il Database (io l'ho chiamato nextcloud)
SQL:
CREATE DATABASE nextcloud;

Diamo tutti i permessi al nuovo utente creato per il database nextcloud. Sostituendo Nome_Utente e Password_Sicura:
SQL:
GRANT ALL PRIVILEGES ON nextcloud.* TO 'Nome_Utente'@localhost IDENTIFIED BY 'Password_Sicura';

Sincroniziamo il tutto:
SQL:
FLUSH PRIVILEGES;

Ed usciamo da MYSQL:
SQL:
quit

Facciamo un reboot al sistema:
Codice:
sudo reboot

Cerchiamo sul Browser Web di un qualsiasi Device connesso alla stessa rete del Raspberry digitando:
Codice:
indirizzo_ip_del_raspberry/nextcloud/

Qui appare la finestra di configurazione di Nextcloud. Ora inseriamo un nome utente per l'account da Administratore di Nextcloud e una Password. Clicchiamo sulla scritta Archiviazione e database. Configura database clicchiamo su MySQL/MARIADB. Inseriamo i dati con cui abbiamo creato il database Mysql poco fa:
Codice:
Utente del database = Nome_Utente

Password del database = Password_Sicura

Nome del database = nextcloud

Host del database = localhost

Terminate la Configurazione. Abbiate pazienza che Nextcloud finisce di installare componenti aggiuntivi come Calendario, Mail, Contatti ed altra roba e poi dovrebbe funzionare^^

Divertitevi con la vostra Cloud personale e Locale:)
Nel caso volete accederci da fuori casa è possibile farci girare un OpenVPN sul Pi:)


Se riscontrate errori non esitate a darmi un Feedback^^

StaySafe|[email protected]
flo0p
 
perchè installare sqlite se usiamo un database MariaDB?
non sarebbe meglio non rendere scrivibili i file php sotto la directory d'installazione?
In caso di exploit i file saranno modificabili e qualcuno potrebbe inserirci una webshell

Flushiamo il tutto:
meglio sincronizziamo i privilegi, questi inglesismi<->italinismi mi fanno venire il "plurito". E' come dire "puffiamo" nel mondo dei puffi non so se li conosci.
 
Ho aggiustato il Flush, non conoscevo il termine italiano (come detto nel Post di presentazione, sono svizzero)
Riguardo SQLlite mhe, se lo si usa in locale non si dovrebberp avere problemi di Exploit
 
Ultima modifica:
Interessante, ma per vedere tutto anche fuori di casa? io uso linux sarebbe carino avere la mia cartella su nautilus (gestore file).
Messaggio unito automaticamente:

Io ho pensato a delle possibili soluzioni.
  1. VPN tramite wireguard e quindi conettersi a nextcloud( è più facile gestire solo un dispositivo connesso alla rete esterna e doverne gestire solo uno per tutti).
  2. DDNS.
Conviene farmi un IP statico?
Qualche consiglio?

Ho trovato questa guida però tra i due meglio nextcloud (alla fine è un suo fork)

 
Per vedere tutto da fuori casa uso OpenVPN per connettermi alla Rete di casa.
A casa ho un IP Statico ma si puoi risolvere con myddns oppure No-Ip.

Riguardo OwnCloud, si, credo sia un Fork pero non sono riuscito a farlo girare sul Pi ecco perchè ho usato Nextcloud