⌂ Self-hosting

Nextcloud in casa: il tuo cloud personale per file e calendari

Come installare e configurare Nextcloud in casa: database, cache Redis, cron, app utili e gli errori più comuni che rendono lento il cloud personale.

Nextcloud è spesso il primo servizio che si prova quando si decide di riprendersi i propri dati: promette di sostituire in un colpo solo l'archivio file, la sincronizzazione tra dispositivi, i calendari, la rubrica e perfino una suite per documenti. Funziona, e bene, ma solo se lo si installa con criterio. Molte delle lamentele che si leggono («è lento», «si blocca durante il caricamento», «gli aggiornamenti rompono tutto») nascono da configurazioni lasciate a metà.

Cosa serve davvero

Nextcloud è un'applicazione PHP che ha bisogno di quattro componenti:

  • un server web con PHP (Apache o Nginx con PHP-FPM);
  • un database: MariaDB/MySQL o PostgreSQL. SQLite è accettato solo per prove, perché con più utenti e molti file diventa un collo di bottiglia;
  • una cache in memoria, tipicamente Redis, usata sia per la cache sia per il blocco dei file (file locking);
  • un'esecuzione periodica dei lavori in background, da affidare a cron di sistema.

Per un uso familiare basta un mini PC con 4-8 GB di RAM e un SSD per il sistema e il database. I file degli utenti possono stare su dischi più capienti, ma il database deve risiedere su un supporto veloce: è lì che si gioca la reattività dell'interfaccia.

Docker o installazione classica

Esistono due strade principali. La prima è l'immagine Nextcloud All-in-One, mantenuta dal progetto, che avvia e gestisce da sola i container necessari, compresi backup e aggiornamenti. È la scelta più semplice per chi vuole un risultato funzionante senza ottimizzare ogni parametro. La seconda è comporre a mano i container (applicazione, database, Redis, proxy) o installare tutto direttamente sul sistema operativo: più lavoro, ma controllo completo.

Nel mio lavoro consiglio All-in-One a chi parte da zero e la composizione manuale a chi gestisce già altri container e vuole uniformare backup e monitoraggio.

La configurazione che fa la differenza

Dopo il primo avvio, il pannello Impostazioni di amministrazione → Panoramica mostra un elenco di avvisi. Vanno risolti tutti, perché ciascuno corrisponde a un problema reale.

  1. Cron di sistema. Per impostazione predefinita i lavori in background partono quando qualcuno visita una pagina (modalità AJAX). Con cron di sistema vengono eseguiti ogni cinque minuti, indipendentemente dal traffico: anteprime, notifiche e pulizie non si accumulano.
  2. Redis per il locking. Senza un sistema di blocco in memoria, il database viene usato per gestire i lock dei file e durante le sincronizzazioni intense compaiono errori del tipo «file bloccato».
  3. OPcache e limiti PHP. Aumentare memory_limit (almeno 512 MB) e configurare OPcache riduce sensibilmente i tempi di risposta.
  4. Dimensione massima dei caricamenti. Il client desktop carica i file grandi a blocchi (chunked upload), ma l'interfaccia web e il proxy davanti a Nextcloud devono accettare richieste adeguate: un limite troppo basso nel reverse proxy produce errori incomprensibili.
  5. Dominio di fiducia. Il parametro trusted_domains in config.php deve contenere esattamente il nome con cui si accede, altrimenti Nextcloud rifiuta la connessione.

Un esempio minimo di voci da controllare in config.php:

'memcache.local' => '\\OC\\Memcache\\APCu',
'memcache.locking' => '\\OC\\Memcache\\Redis',
'redis' => ['host' => 'redis', 'port' => 6379],
'default_phone_region' => 'IT',

Le app che valgono la pena

Nextcloud ha un catalogo enorme di app, ma più se ne installano più aumentano i punti di rottura agli aggiornamenti. Un insieme sensato per una famiglia:

App A cosa serve
Calendar e Contacts calendari e rubriche sincronizzati via CalDAV/CardDAV
Memories visualizzazione delle foto per data e luogo
Notes note semplici in Markdown, con app mobile
Deck bacheche a schede per liste di attività
Two-Factor TOTP secondo fattore di autenticazione

Le app non ufficiali vanno valutate guardando quanto spesso vengono aggiornate: un'app abbandonata può impedire il passaggio alla versione successiva del server.

Aggiornamenti senza sorprese

Nextcloud non permette di saltare le versioni principali: per passare dalla 27 alla 29 bisogna prima installare la 28. Questa regola, se ignorata, è la causa più frequente di installazioni bloccate. Prima di ogni aggiornamento principale conviene:

  • fare un backup del database e della cartella config;
  • verificare che le app installate siano compatibili con la nuova versione;
  • aspettare qualche rilascio di correzione, invece di aggiornare il giorno stesso dell'uscita.

Lo strumento a riga di comando occ permette di gestire manutenzione, scansione dei file e aggiornamento senza passare dal browser, ed è indispensabile quando qualcosa va storto. Comandi come occ maintenance:mode --on e occ files:scan --all vanno tenuti a portata di mano.

Errori comuni da evitare

  • Copiare file direttamente nella cartella dati. Nextcloud tiene un indice nel database: i file aggiunti dal disco non compaiono finché non si esegue una scansione. Meglio caricarli tramite client o configurare una cartella come «archivio esterno».
  • Usare Nextcloud come unico backup. È un sistema di sincronizzazione: se un file viene cancellato o cifrato da un malware su un PC, la modifica si propaga. Cestino e versioni aiutano, ma non sostituiscono una copia separata.
  • Esporlo su Internet senza secondo fattore. È un bersaglio frequente di tentativi di accesso automatizzati. Autenticazione a due fattori e protezione contro i tentativi ripetuti, già inclusa, vanno attivate subito.

In sintesi

  • Nextcloud richiede database vero, Redis e cron di sistema: senza questi elementi sarà lento e instabile.
  • All-in-One è il punto di partenza più semplice; la composizione manuale offre più controllo.
  • Gli avvisi del pannello di amministrazione indicano problemi reali e vanno risolti tutti.
  • Le versioni principali si aggiornano una alla volta, dopo un backup.
  • La sincronizzazione non è un backup: serve sempre una copia indipendente.
MM
Marco Marzaduri

Marco Marzaduri si occupa di cybersecurity, informatica forense e sviluppo web. Laureato in informatica, unisce il rigore dell'analisi tecnica all'attenzione per le persone che usano la tecnologia.

Leggi anche