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.
- 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.
- 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».
- OPcache e limiti PHP. Aumentare
memory_limit(almeno 512 MB) e configurare OPcache riduce sensibilmente i tempi di risposta. - 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.
- Dominio di fiducia. Il parametro
trusted_domainsinconfig.phpdeve 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.