Integrare ONLYOFFICE e Nextcloud su un NAS Synology

Come installare ONLYOFFICE e Nextcloud in un NAS Synology per aprire, creare e modificare documenti dal browser web.

Una delle soluzioni per lo storage dei dati più apprezzate in assoluto è Nextcloud: software libero e open source Nextcloud consente di allestire un server per memorizzare, cercare e condividere file con la possibilità di accedervi da remoto e di sincronizzarli online.

In un altro articolo abbiamo visto come condividere documenti e creare uno storage personale con Nextcloud e abbiamo parlato anche della “crociata” avviata da Nextcloud e da altre aziende per separare OneDrive e Teams da Windows.

I possessori di NAS Synology possono installare Nextcloud in modo molto rapido usando Docker. Con Docker non c’è bisogno di preoccuparsi dei requisiti perché il container di Nextcloud ospita già tutti i componenti software per far funzionare l’applicazione Web.
In un altro articolo abbiamo visto cos’è Docker e come funzionano i container per le applicazioni.

ONLYOFFICE è una suite per l’ufficio che può essere utilizzata in alternativa a Microsoft Office e Microsoft 365.

Potete trovare una serie di guide passo passo per la configurazione dei NAS Synology sul sito Marius Hosting. Oltre alle guide per installare ONLYOFFICE e Nextcloud su Marius Hosting sono disponibili “how to” per venire incontro alle esigenze di professionisti, imprese e utenti privati.

Perché installare ONLYOFFICE e Nextcloud su NAS Synology

Spiccatamente vocata al cloud, ONLYOFFICE è una potente e completa suite per l’ufficio che può essere installata anche on-premise. Si tratta di una soluzione multipiattaforma con una spiccata vocazione alla produttività e alla collaborazione in team.

ONLYOFFICE si integra con Nextcloud: ciò significa che i documenti caricati e gestiti con una soluzione smart per lo storage qual è Nextcloud possono essere aperti direttamente nell’interfaccia di ONLYOFFICE.

In questo nostro articolo vediamo come installare ONLYOFFICE e Nextcloud in un NAS Synology: in questo modo il dispostivo per lo storage dei dati diventa il punto di riferimento per l’elaborazione di qualunque tipo di documento.

Dopo aver effettuato il login nel pannello di amministrazione di DSM (DiskStation Manager), si può fare clic sull’icona Centro pacchetti quindi installare sia Docker che Editor di testo.

Dall’interfaccia di DSM bisogna cliccare su Pannello di controllo, Notifica quindi accertarsi che il servizio di invio delle notifiche via email sia attivato. Se non lo fosse è necessario provvedere in tal senso.
Anziché usare un server SMTP personalizzato per l’invio delle notifiche, si può usare anche Gmail o Outlook.com: basta assegnare l’autorizzazione al NAS Synology usando un token OAuth (procedura semplicissima che richiede meno di un minuto).

Nelle istruzioni seguenti indicheremo spesso di creare delle cartelle: suggeriamo di crearle così come spiegato rispettando maiuscole e minuscole (per i nomi delle cartelle useremo solo caratteri minuscoli).

Diamo inoltre per scontato che il NAS Synology utilizzi un indirizzo IP privato assegnato in modo statico (Pannello di controllo, Rete, Interfaccia di rete, Modifica, Utilizza configurazione manuale). Nel nostro caso, come si vede nei passaggi successivi, il NAS Synology ha IP privato statico 192.168.1.106.

Preparare i requisiti per l’installazione di Nextcloud sul NAS Synology

Prima di procedere con l’installazione di Nextcloud suggeriamo di installare nel NAS Synology, oltre ovviamente a Docker e all’Editor di testi, anche Portainer.
Cos’è Portainer? Si tratta di una piattaforma con interfaccia Web che, tra le altre cose, semplifica di molto la gestione dei container Docker.

Come primo passo si deve avviare il file manager di DSM (File Station), il sistema operativo alla base del funzionamento dei NAS Synology, quindi cliccare sulla cartella docker e infine su Crea, Crea cartella.
Assegnare quindi il nome portainer alla nuova cartella.

Sempre usando File Station si deve cliccare ancora una volta sulla cartella docker quindi creare al suo interno una nuova cartella (Crea, Crea cartella) chiamata nextcloud.

Dentro la cartella nextcloud creare le seguenti sottocartelle:

  • config
  • custom_apps
  • data
  • html
  • themes

Portatevi nel Pannello di controllo del NAS Synology quindi cliccate su Utilità di pianificazione. Fare clic sul pulsante Crea, su Attività pianificata, Script definito dall’utente.

Nella scheda Generale digitare Installazione Portainer nel campo Attività, scegliere root dal menu a tendina Utente quindi disattivare la casella Abilitato.

Nella scheda Programmazione si deve optare per Esegui alla data seguente quindi assicurarsi di scegliere Non ripetere.

Nella sezione Impostazioni attività incollare quanto segue nel riquadro Script definito dall’utente:

docker run -d --name=portainer -p 8000:8000 -p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /volume1/docker/portainer:/data \
--restart=always portainer/portainer-ce

Il comando precedente chiede a Docker di scaricare e predisporre il container di Portainer nella cartella portainer/portainer-ce del NAS Synology.
La sintassi -p 8000:8000 -p 9000:9000 serve per indicare le porte di comunicazione che utilizzerà Portainer (8000 e 9000 sia all’interno che all’esterno del container).

Cliccando su OK il software del NAS Synology espone un messaggio d’allerta con cui l’utente viene invitato ad agire con la massima cautela. Per proseguire basta fare clic ancora una volta sul pulsante OK rosso.

Per installare Portainer basta selezionare l’attività appena aggiunta nella finestra Utilità di pianificazione quindi fare clic su Esegui. Premere infine il pulsante .
DSM non mostra alcuna conferma circa l’installazione di Portainer: per alcuni secondi la CPU andrà verosimilmente al 100%.

Sempre dalla finestra Utilità di pianificazione cliccare ancora su Crea, su Attività pianificata, Script definito dall’utente.
Digitare quindi Trovare UID-GID come nome dell’attività, selezionare il nome dell’account in uso come utente e disattivare la casella Abilitato.
Nella scheda Programmazione selezionare Esegui alla data seguente e Non ripetere.

Nella sezione Impostazioni attività spuntare la casella Invia dettagli esecuzione per email, indicare il proprio indirizzo di posta elettronica quindi inserire semplicemente id (lettere minuscole) nel riquadro Script definito dall’utente.

Dopo aver cliccato due volte su OK, selezionare dalla lista Trovare UID-GID e fare clic sul pulsante Esegui.

Trascorsi pochi secondi si riceverà un’email che nel corpo del testo riporta i valori UID e GID: si tratta degli identificativi numerici dell’utente adoperato e del gruppo al quale appartiene (esempio 1026 e 100).

Appuntare i valori UID e GID così estratti perché serviranno più avanti.

Installare Nextcloud nel NAS Synology

Digitando http://IP-NAS-SYNOLOGY:9000 nella barra degli indirizzi di un PC collegato alla stessa rete locale, apparirà la finestra di configurazione di Portainer.

Una volta impostato l’account amministratore, si può cliccare sul riquadro Get started e infine sulla matita a destra della voce local.

In corrispondenza di Public IP digitare l’indirizzo IP locale assegnato al NAS Synology quindi fare clic su Update environment.

A questo punto si deve cliccare sul riquadro local quindi su Stacks nella colonna di sinistra e infine su Add stack.
Nel campo Name digitare nextcloud quindi, nel riquadro # Define or paste the content of your docker-compose file here, incollare (CTRL+V) quanto abbiamo predisposto in questo file di testo.

Sostituire le seguenti stringhe con quanto indicato:

  • rootpassword con la password dell’account root per l’accesso al DBMS (si può sceglierla liberamente)
  • rootpassword con la password di root del database che userà Nextcloud (si può sceglierla liberamente)
  • nextcloudatabasename con il nome del database che userà Nextcloud
  • nextclouduser con il nome dell’account che userà Nextcloud per accedere al database
  • nextclouduser con il nome dell’account che userà Nextcloud per accedere al database
  • Accanto a PUID indicare il valore UID estratto in precedenza per l’utente che si sta utilizzando
  • Accanto a PGID indicare il valore GID estratto in precedenza per l’utente che si sta utilizzando

Dopo aver incollato il file di configurazione nell’apposito riquadro, non resta che cliccare sul pulsante Deploy the stack in basso.
La predisposizione dell’ambiente di lavoro di Nextcloud può richiedere diversi minuti e l’attesa è influenzata anche dalla banda di rete disponibile. La comparsa del messaggio “Stack successfully deployed” conferma che tutto è andato per il verso giusto.

Scrivendo http://IP-NAS-SYNOLOGY:8082 nella barra degli indirizzi del browser di un PC connesso alla stessa rete locale del NAS Synology si accede al pannello di amministrazione di Nextcloud.

Adesso è necessario impostare un account amministrativo e una password che si useranno per gestire Nextcloud. Cliccando su Archiviazione e database scegliere MySQL/MariaDB indicando poi tutti i dati impostati in precedenza con questo script (già visto in precedenza; dopo aver effettuato tutte le sostituzioni del caso).

Al posto di localhost digitare mariadb, come si vede nell’immagine.
Togliere il segno di spunta da Installa applicazioni consigliate infine fare clic su Termina configurazione.

Come installare ONLYOFFICE nel NAS Synology

Come passo finale si può intregrare ONLYOFFICE con Nextcloud: in questo modo la suite per l’ufficio può attingere direttamente ai documenti memorizzati in locale nello storage di Nextcloud.

Accedere al Pannello di controllo del NAS Synology quindi cliccare su Utilità di pianificazione.
Cliccare quindi sul pulsante Crea, su Attività pianificata, Script definito dall’utente.
Nella scheda Generale digitare Installazione ONLYOFFICE nel campo Attività, scegliere root dal menu a tendina Utente quindi disattivare la casella Abilitato.

Nella scheda Programmazione selezionare l’opzione Esegui alla data seguente quindi assicurarsi di scegliere Non ripetere.

Cliccare su Impostazioni attività e nel riquadro Script definito dall’utente incollare quanto segue:

docker run -d --name=onlyoffice -p 8467:80 \
-v /volume1/docker/onlyoffice/logs:/var/log/onlyoffice \
-v /volume1/docker/onlyoffice/data:/var/www/onlyoffice/Data \
--restart always onlyoffice/documentserver

Il comando precedente chiede a Docker di scaricare e predisporre il container di ONLYOFFICE nella cartella onlyoffice/documentserver del NAS Synology.
Vengono indicate le cartelle da usare per i log e per i dati di ONLYOFFICE quindi specificate le porte da usare.
La sintassi -p 8467:80 è espressa nella forma HOST_PORT:CONTAINER_PORT: le comunicazioni di rete da e verso ONLYOFFICE utilizzando altri sistemi (ad esempio quelli collegati in rete locale) utilizzeranno la porta 8467; la porta 80 viene invece utilizzata per le comunicazioni all’interno del container Docker.

Dopo aver cliccato su OK, DSM mostra un avviso con cui l’utente viene invitato ad agire con la massima cautela: si può procedere premendo ancora il tasto OK rosso.

Nella finestra Utilità di pianificazione selezionare l’attività Installazione ONLYOFFICE appena aggiunta quindi fare clic su Esegui e infine su .

Sembrerà non succedere nulla; in realtà l’utilizzo della CPU salirà immediatamente e accedendo al menu principale quindi cliccando su Controllo risorse si vedrà che il processo dockerd sta lavorando in background (fare clic su Gestione attività, Processi.

Quando vedrete la CPU tornare a zero o quasi e il processo dockerd calmarsi significa che l’installazione di ONLYOFFICE si è conclusa.

A questo punto digitando http://IP-NAS-SYNOLOGY:8467 nella barra degli indirizzi del browser di un PC connesso alla stessa rete locale del NAS Synology si vedrà comparire la home di ONLYOFFICE.
Collegandosi troppo presto alla home di ONLYOFFICE si riceverà un messaggio d’errore (tenere presente che l’installazione può richiedere diversi minuti).

Usando File Station cliccare sulla cartella docker quindi su nextcloud e infine sulla sottocartella config.

Il passaggio seguente consiste nel cliccare con il tasto destro sul file config.php, scegliere Proprietà e impostare l’utente corrente come proprietario del file.
Con un doppio clic sul file si devono aggiungere le righe seguenti come nell’immagine:

   'config_is_read_only' => true,
   'allow_local_remote_servers' => true,

Ricaricando il pannello di Nextcloud con un clic sul circoletto (account utente) in alto a destra quindi su +Applicazioni si deve cercare ONLYOFFICE (premere eventualmente la combinazione di tasti CTRL+F) quindi selezionare Scarica e abilita.

Cliccando di nuovo sul piccolo cerchio in alto a destra e su Impostazioni, nella colonna di sinistra si troverà la voce ONLYOFFICE immediatamente al di sotto di Amministrazione.
Qui, in corrispondenza del campo Indirizzo di ONLYOFFICE Docs, si deve incollare http://IP-NAS-SYNOLOGY:8467/ sostituendo al solito, al posto di IP-NAS-SYNOLOGY, l’indirizzo privato del NAS Synology che si sta usando.

Dopo aver fatto clic su Salva, comparirà il messaggio “Le impostazioni sono state aggiornate con successo“.

A questo punto è possibile selezionare i formati per i quali desiderate che ONLYOFFICE sia configurato come applicazione predefinita. Ricordatevi di salvare nuovamente le impostazioni.

Cliccando su un qualunque formato supportato da ONLYOFFICE, attraverso l’interfaccia Web di Nextcloud sarà possibile modificare direttamente tutti i file senza abbandonare il browser.

Non è assolutamente fantastico?

Per non complicare troppo le cose abbiamo utilizzato connessioni HTTP ma sfruttando un dominio di terzo o quarto livello e un certificato HTTPS ottenibile con Let’s Encrypt è possibile crittografare tutti i dati in transito. Come si fa? Lo vediamo nel paragrafo successivo.

Attivare HTTPS su ONLYOFFICE e Nextcloud

Per proteggere i dati in transito e fare in modo che le informazioni vengano scambiate utilizzando il protocollo HTTPS, è possibile modificare la configurazione del NAS Synology, di Nextcloud e ONLYOFFICE così come segue.

– Creare un record DNS di terzo o quarto livello e farlo puntare all’indirizzo IP pubblico assegnato al router.

Nell’esempio abbiamo creato un terzo livello storage.nomeazienda.cloud.

– Attivare sul router il port forwarding inoltrando i dati in ingresso sulle porte 8083 e 8468 verso l’IP locale assegnato al NAS Synology.

Così sia Nextcloud che ONLYOFFICE saranno raggiungibili anche dall’esterno e si potrà interagirvi anche a distanza. Verificare però di aver assegnato password sufficientemente lunghe e complesse ed eventualmente specificare gli indirizzi IP autorizzati a connettersi a distanza.

– Aggiungere temporaneamente anche due regole di port forwarding sulle porte 80 e 443 dirigendo il traffico in ingresso sempre verso l’IP privato del NAS Synology. Questo passaggio è fondamentale per ottenere un certificato digitale gratuito Let’s Encrypt.

– Dalla home di DSM cliccare su Pannello di controllo, Sicurezza, Certificato. Fare quindi clic sul pulsante Aggiungi, scegliere l’opzione Aggiungi nuovo certificato e selezionare Ottieni certificato da Let’s Encrypt.

Indicare il dominio di terzo o quarto livello aggiunto a livello di record DNS e un indirizzo email valido.

Dopo aver configurato la piattaforma così come descritto ai paragrafi precedenti, è possibile accedere al pannello di DSM quindi scegliere Pannello di controllo, Portale di accesso e infine fare clic su Avanzate.
Cliccando su Proxy inverso quindi sul pulsante Crea aggiungere due reverse proxy e configurarli ad esempio come in figura.

Nella figura seguente le regole di proxy inverso utilizzate per l’installazione di ONLYOFFICE sul NAS Synology:

Nell’immagine che segue le regole configurate per il reverse proxy di Nextcloud:

– Tornare in Pannello di controllo, Sicurezza, Certificato e fare clic sul pulsante Impostazioni; selezionare il nome del dominio di terzo o quarto livello accanto alle regole di reverse proxy precedentemente configurate.

– Con File Station cliccare di nuovo su docker, sulla cartella nextcloud quindi aprire il file config.

– Assicurarsi che la direttiva seguente punti al dominio di terzo livello appena aggiunto con il numero di porta corretto usato per accedere a Nextcloud:

'overwrite.cli.url' => 'https://storage.nomeazienda.cloud:8083/',

Immediatamente sotto aggiungere le seguenti due direttive:

'overwritehost' => 'storage.nomeazienda.cloud:8083',
'overwriteprotocol' => 'https',

– Come ultimo passo basta portarsi nel pannello di amministrazione di Nextcloud, cliccare sul circoletto in alto a destra, selezionare Impostazioni, fare clic su ONLYOFFICE nella colonna di sinistra e infine incollare l’indirizzo https://storage.nomeazienda.cloud:8468/ nel campo Indirizzo di ONLYOFFICE Docs.

– Dopo aver fatto clic su Salva, ONLYOFFICE verrà automaticamente integrato con Nextcloud e tutti i documenti saranno gestiti scambiando i dati con il protocollo HTTPS e usando un certificato valido e universalmente riconosciuto.

Per evitare di esporre porte sull’IP pubblico si può modificare il file HOSTS sui dispositivi client connessi in rete locale e aggiungere una riga simile:

192.168.1.106	storage.nomeazienda.cloud

Ovviamente si devono applicare le opportune sostituzioni (192.168.1.106 è l’indirizzo IP privato del NAS Synology mentre l’indirizzo mnemonico corrisponde a quello cui è associato il certificato Let’s Encrypt).

Digitando http://192.168.1.106:9000 per portarsi nell’interfaccia Web di Portainer si dovrà quindi cliccare su local, su Containers, selezionare il container di ONLYOFFICE, fare clic su Console, sul pulsante Connect e infine digitare:

nano /etc/hosts

In fondo al file HOSTS del container di ONLYOFFICE inserire:

192.168.1.106    storage.nomeazienda.cloud

Ti consigliamo anche

Link copiato negli appunti