Collegare Nextcloud allo Storage Server: spazio, quote e condivisioni

Pubblicato il 6 min di lettura

Nextcloud porta utenti, quote e condivisioni, lo Storage Server porta lo spazio. Insieme danno un cloud tutto tuo, in cui basta un server piccolo e i terabyte stanno altrove.

Nextcloud sa fare tutto quello che uno Storage Server non sa fare: gestire utenti, assegnare a ognuno una quota propria, condividere cartelle, generare link con password e data di scadenza e consegnare i file ai browser via HTTPS. Quello che invece rende Nextcloud costoso è lo spazio, perché sta sull'SSD NVMe del server.

Le due cose insieme danno l'architettura che nella pratica si è imposta: un server piccolo per Nextcloud, i file su uno Storage Server. Questo articolo mostra entrambe le strade di configurazione, spiega quale conviene e quando, e indica le trappole che qui compaiono sempre.

Perché questa combinazione funziona così bene

Nextcloud fornisceLo Storage Server fornisce
Account utente con password e due fattorispazio, da 1 a 20 TB
Quote per utentesnapshot come secondo livello di sicurezza
Link di condivisione con password e scadenzauna posizione separata dal server
Consegna via HTTPS con autenticazioneuna frazione dei costi per terabyte
Versionamento e cestino100 sottoconti per scopi separati

Il punto decisivo per molti progetti: lo Storage Server non conosce quote per sottoconto. Un sottoconto resta sì nella sua directory, ma lì può riempire lo spazio dell'intero piano. Nextcloud risolve esattamente questo, perché lì ogni utente riceve una quota rigida.

Due strade, e quale è la migliore

Strada A: Nextcloud parla con lo storage da solo, tramite il suo driver SMB o SFTP integrato. Nessun intervento nel sistema operativo.

Strada B: monti lo storage nel sistema operativo come directory e configuri in Nextcloud uno storage esterno di tipo "Locale" su quella directory.

Scegli la strada B se hai i permessi di root. Il giro attraverso il file system è sensibilmente più rapido del driver SFTP di Nextcloud, soprattutto con molti file piccoli, e sopravvive meglio ai disturbi di rete. La strada A è la soluzione se nel sistema operativo non puoi o non vuoi cambiare niente.

Preparazione: un sottoconto dedicato

Nell'area clienti crea un sottoconto solo per Nextcloud, con una directory iniziale propria, per esempio /nextcloud. Abilitagli solo il protocollo che usi davvero. Controlla inoltre in "Impostazioni di accesso" che la Raggiungibilità esterna sia attiva, altrimenti il server non arriva allo storage.

Gli esempi usano questi valori, sostituiscili con i tuoi:

DatoValore di esempio
Hostnameu123456.storage.kernelhost.net
Sottocontou123456-sub1
Condivisione (SMB)backup
Porta SMB445
Porta SFTP23

Strada B: montare e usare come storage locale

Prima il montaggio. Su Debian e Ubuntu:

apt install -y cifs-utils
mkdir -p /mnt/storage
printf 'username=u123456-sub1\npassword=LA_TUA_PASSWORD\n' > /etc/samba/storage.cred
chmod 600 /etc/samba/storage.cred

Poi la voce in /etc/fstab, perché sopravviva a un riavvio:

//u123456.storage.kernelhost.net/backup /mnt/storage cifs credentials=/etc/samba/storage.cred,uid=www-data,gid=www-data,file_mode=0660,dir_mode=0770,seal,_netdev,nofail 0 0

Le tre opzioni importanti: uid=www-data fa in modo che il web server possa scrivere, seal cifra la trasmissione con SMB 3, e _netdev più nofail evitano che il server si blocchi all'avvio se lo storage in quel momento non risponde.

mount -a
sudo -u www-data touch /mnt/storage/test && echo "Accesso in scrittura corretto"

Dopodiché in Nextcloud attiva l'applicazione "External storage support" e registra lo storage, o nell'interfaccia sotto Amministrazione, Archiviazione esterna, oppure da riga di comando:

sudo -u www-data php occ app:enable files_external
sudo -u www-data php occ files_external:create Dati local null::null -c datadir=/mnt/storage
sudo -u www-data php occ files_external:list

La cartella "Dati" compare adesso presso gli utenti a cui la assegni. L'assegnazione la governi per utente o per gruppo, così non tutti vedono tutto.

Strada A: storage esterno direttamente in Nextcloud

Senza permessi di root funziona anche senza montaggio. Per SMB ti serve l'estensione PHP corrispondente:

apt install -y smbclient php-smbclient
systemctl restart php8.3-fpm

Poi, sotto Amministrazione, Archiviazione esterna, crea una voce:

CampoValore
Nome della cartellaDati
Archiviazione esternaSMB / CIFS
Hostu123456.storage.kernelhost.net
Condivisionebackup
Sottocartella remotanextcloud
Nome utenteu123456-sub1
Passwordla password del sottoconto

Per SFTP scegli invece il tipo "SFTP", come host inserisci u123456.storage.kernelhost.net e come porta 23. È la fonte di errore più frequente su questa strada: Nextcloud propone 22, il nostro storage ascolta sulla 23.

Assegnare le quote per utente

Adesso arriva la parte che giustifica tutta l'architettura. Sotto Amministrazione, Utenti inserisci una quota per ogni account, per esempio 50 GB. Oppure da riga di comando:

sudo -u www-data php occ user:setting fotograf1 files quota "50 GB"

Nextcloud conta dentro la quota anche versioni e cestino. È giusto così, ma sorprende volentieri: chi riceve 50 GB e carica 50 GB, con le vecchie versioni occupa in fretta più del previsto. Per gli account che sostituiscono molto invece di aggiungere, vale la pena limitare la conservazione delle versioni.

Per Nextcloud lo storage esterno è una cartella come tutte le altre, quindi le condivisioni funzionano senza differenze. Un link con password e data di scadenza si genera in tre clic, e il file viene consegnato tramite Nextcloud, non direttamente dallo storage. Le tue credenziali dello storage non lasciano quindi mai il server.

È esattamente il pezzo che su uno Storage Server da solo manca. Chi gestisce un sito con un'area download, qui ottiene gestione utenti, permessi e consegna in un unico posto, senza programmare niente. Come si presenta l'alternativa senza Nextcloud si trova in Usare lo Storage Server per il proprio sito.

Quattro trappole che compaiono sempre

  • La directory dei dati non va sullo storage. Tecnicamente possibile, nella pratica delicato: Nextcloud ci scrive anche file di lock e stati intermedi, e un breve disturbo di rete paralizza l'intera istanza. Come storage esterno, un disturbo colpisce solo quella cartella.
  • Il database resta locale. Sempre. Sullo storage vanno i file, nient'altro.
  • Configura Redis. Senza una cache per i lock dei file, Nextcloud con uno storage esterno diventa sensibilmente lento, perché ogni lock passa dal database.
  • Porta 23 invece di 22. Con SFTP Nextcloud propone 22. Il nostro storage ascolta sulla 23, e il messaggio di errore relativo aiuta poco.

Quale server e quale piano

Per Nextcloud in sé basta una macchina piccola. I file stanno comunque altrove, il server si limita a gestirli: per una manciata e fino a qualche decina di utenti attivi bastano 4 a 8 GB di RAM, purché Redis sia in funzione e l'esecuzione in background sia configurata. Una guida in proposito si trova in Installare Nextcloud sul proprio server.

Per lo storage la scelta dipende dallo spazio:

PianoSpazioSnapshotPrezzo
Storage-11 TB10 più 10 automatici9,99 EUR
Storage-25 TB20 più 20 automatici29,99 EUR
Storage-310 TB30 più 30 automatici39,99 EUR
Storage-420 TB40 più 40 automatici69,99 EUR

Tutti gli Storage Server stanno in Germania, parlano SMB, SFTP, WebDAV e altro, permettono fino a 100 sottoconti e portano con sé gli snapshot. Nessun costo di attivazione, PrePaid, nessuna durata minima. Se il tuo bisogno di spazio cresce, passi al piano più grande senza toccare i dati.

Domande frequenti

Perché non prendere semplicemente un server grande con molto spazio su disco?
Perché lo spazio su disco su un server con SSD NVMe costa un multiplo. Nextcloud in sé ha bisogno di poco spazio e di poca potenza, la massa sta nei file. Un server piccolo più lo storage è quindi di regola molto più conveniente di un server grande con molto spazio su disco.
Meglio SMB o SFTP?
Se hai i permessi di root sul server Nextcloud, monta lo storage nel file system via SMB e configura in Nextcloud uno storage esterno locale su quella directory. È più veloce e più stabile del driver SFTP di Nextcloud, che con molti file piccoli rallenta in modo evidente.
Posso assegnare a ogni utente una dimensione propria?
Sì, ed è esattamente il motivo di questa architettura. Lo Storage Server in sé non conosce quote per sottoconto, Nextcloud invece sì. Nella gestione degli utenti assegni una quota a ogni account e Nextcloud la fa rispettare.
Posso mettere i dati direttamente sullo storage invece di usarlo come storage esterno?
Tecnicamente sì, mettendo la directory dei dati di Nextcloud sullo storage montato. Non è consigliabile: Nextcloud ci scrive anche file di lock, anteprime e stati intermedi, e a un breve disturbo di rete si blocca l'intera istanza. Come storage esterno, un disturbo colpisce solo la cartella interessata.
I link di condivisione funzionano anche per i file sullo storage?
Sì, per Nextcloud uno storage esterno è una cartella come tutte le altre. Le condivisioni con password e data di scadenza funzionano nello stesso modo, e il file viene consegnato tramite Nextcloud, non direttamente dallo storage.
Quanto è veloce?
Per i file grandi il limite è la connettività del tuo server, non lo storage. Con molti file piccoli a ogni accesso si aggiunge il tempo di rete, e per questo le anteprime vanno nella cache locale di Nextcloud e non sullo storage esterno.
Cosa succede se lo storage per un attimo non è raggiungibile?
Montato come storage esterno, Nextcloud segnala la cartella come non disponibile, il resto continua a funzionare. Se invece lì sta l'intera directory dei dati, l'istanza si blocca. È il motivo più importante per la variante con lo storage esterno.
Mi serve un database sullo storage?
No, in nessun caso. Il database resta sul server, su storage locale veloce. Sullo storage vanno solo i file.
Quanti utenti regge un server piccolo?
Per una manciata e fino a qualche decina di utenti attivi basta tranquillamente un server con 4 a 8 GB di RAM, purché siano configurati Redis e un'esecuzione regolare in background. I file stanno comunque altrove, il server si limita a gestirli.
Quanto costa la combinazione?
Un server piccolo per Nextcloud più uno Storage Server da 9,99 euro al mese per 1 TB. Storage-2 con 5 TB costa 29,99, Storage-3 con 10 TB 39,99 e Storage-4 con 20 TB 69,99. Tutto senza costi di attivazione, in modalità PrePaid e senza durata minima.

Nextcloud Storage Server Externer Speicher SMB SFTP Quota Freigaben