Introduzione

Nextcloud, un fork di ownCloud, è un server open-source di condivisione file, come documenti e immagini.

In questo tutorial, installeremo e configureremo Nextcloud su un server Ubuntu 18.04 LTS.

Prerequisiti

Nextcloud permette l'installazione in automatico dei certificati SSL utilizzando Let's Encrypt. Se si vuole installare Nextcloud con l'SSL attivo, è necessario un nome dominio associato al proprio server (esempio.com)

Installare Nextcloud

Installeremo Nextcloud utilizzando il gestore di pacchetti snappy, disponibile di default su Ubuntu 18.04.

Scaricare ed installare Nextcloud utilizzando snap, da terminale:
sudo snap install nextcloud

Per verificare l'esito dell'installazione:
snap changes nextcloud

Per ottenere altre informazioni utili, come la versione installata di Nextcloud:
snap info nextcloud

Creare un Account

Per configurare l'account admin di Nextcloud, scegliere un nome utente e la password, ed utilizzare il seguente comando:
sudo nextcloud.manual-install tuo_nome tua_password

Dovresti ricevere un messaggio di output simile al seguente:

Nextcloud is not installed - only a limited number of commands are available
Nextcloud was successfully installed

Configurare il Dominio

Nextcloud per impostazione predefinita, risponde solo alle richieste fatte al nome host localhost.
Per accedere a Nextcloud utilizzando il proprio nome dominio bisogna effettuare delle modifiche.

Per visualizzare le impostazioni di default:
sudo nextcloud.occ config:system:get trusted_domains

Dovresti ricevere un messaggio di output simile al seguente:

Output
localhost

Aggiungere il proprio nome dominio:
sudo nextcloud.occ config:system:set trusted_domains 1 --value=esempio.com

Visualizzare nuovamente le impostazioni:
sudo nextcloud.occ config:system:get trusted_domains

Dovresti ricevere un messaggio di output simile al seguente:

Output
localhost
esempio.com

Se è necessario aggiungere un altro modo per accedere all'istanza Nextcloud, è possibile aggiungerlo rieseguendo il comando, incrementando il valore 1 dopo la voce trusted_domains e aggiungere il nuovo nome dominio dopo --value=.

Installare i certificati SSL

Se hai un nome di dominio associato al tuo server Nextcloud, lo snap di Nextcloud può aiutarti a ottenere e configurare un certificato SSL affidabile da Let's Encrypt. Se non hai un nome dominio, Nextcloud può configurare un certificato autofirmato che crittografa il tuo traffico web ma non sarà in grado di verificare l'identità del tuo server.

SSL con Let's Encrypt

Se utilizzi un nome dominio associato al server seguire questa procedura, altrimenti passare allo step successivo.

Abilitare le porte necessarie se si utilizza il firewall di Ubuntu (ufw):
sudo ufw allow 80,443/tcp

Ottenere i certificati con Let's Encrypt:
sudo nextcloud.enable-https lets-encrypt

Dovresti ricevere un messaggio di output simile al seguente:

In order for Let's Encrypt to verify that you actually own the
domain(s) for which you're requesting a certificate, there are a
number of requirements of which you need to be aware:

1. In order to register with the Let's Encrypt ACME server, you must
   agree to the currently-in-effect Subscriber Agreement located
   here:

       https://letsencrypt.org/repository/

   By continuing to use this tool you agree to these terms. Please
   cancel now if otherwise.

2. You must have the domain name(s) for which you want certificates
   pointing at the external IP address of this machine.

3. Both ports 80 and 443 on the external IP address of this machine
   must point to this machine (e.g. port forwarding might need to be
   setup on your router).

Have you met these requirements? (y/n)

Premere y per proseguire.

Successivamente inserire un indirizzo email valido per essere contattati da Let's Encrypt in caso di necessità.

Infine inserire il nome dominio associato al server Nextcloud.

Dovresti ricevere un messaggio di output simile al seguente:

Attempting to obtain certificates... done
Restarting apache... done

SSL con un certificato Self-Signed

Se non disponi di un nome dominio seguire questa procedura.

Se il tuo server Nextcloud non ha un nome di dominio, puoi comunque proteggere l'interfaccia web generando un certificato SSL autofirmato. Questo certificato consentirà l'accesso all'interfaccia web tramite una connessione crittografata, ma non sarà in grado di verificare l'identità del server, quindi il browser probabilmente visualizzerà un avviso.

Abilitare le porte necessarie se si utilizza il firewall di Ubuntu (ufw):
sudo ufw allow 80,443/tcp

Per generare un certificato autofirmato e configurare Nextcloud per usarlo, digitare:
sudo nextcloud.enable-https self-signed

Dovresti ricevere un messaggio di output simile al seguente:

Generating key and self-signed certificate... done
Restarting apache... done

Accedere a Nextcloud

Adesso è possibile accedere a Nextcloud dal proprio browser, basta collegarsi al proprio indirizzo IP oppure al nome dominio associato al server:

https://esempio.com

L'installazione e la configurazione di Nextcloud su Ubuntu 18.04 LTS è terminata.