Distribuire Nextcloud su una VM¶
Questa guida descrive i passaggi per distribuire e configurare un'istanza Nextcloud su Ubuntu 20.04.
Creare una VM con Ubuntu 20.04¶
Per creare una VM su OpenStack, puoi seguire questa guida: Quick VM
Collegare un volume dati Nextcloud alla VM¶
Ora vogliamo creare e collegare un volume secondario alla VM per i dati di Nextcloud. Per creare e collegare un nuovo volume puoi seguire questi passaggi:
- accedi alla dashboard OpenStack: login
-
crea un volume secondario: dal menu a sinistra "Volumes -> Volumes -> Create Volume"
-
collega il nuovo volume alla VM: dal menu volumi, clicca su "Manage Attachments" e seleziona la VM
Ora, monta il volume sulla VM:
-
Accesso SSH alla VM:
$ ssh -i .ssh/<ssh-key> ubuntu@<ip-vm> -
utente root:
$ sudo su - -
controlla che /dev/vdb esista:
$ fdisk -l -
crea partizione, dopo il comando segui questi step -> "gpt - new (enter) - write (yes) - quit":
$ cfdisk /dev/vdb
- controlla partizione:
$ fdisk -l
- formatta partizione:
$ mkfs.ext4 /dev/vdb1
- crea directory Nextcloud:
$ mkdir /media/nextcloud
- monta partizione sulla directory Nextcloud:
$ mount /dev/vdb1 /media/nextcloud
- controlla mount:
$ df -h
- salva le informazioni necessarie per montare la partizione -> aggiungi questa riga "/dev/vdb1 /media/nextcloud ext4 defaults 0 0":
$ vi /etc/fstab
- riavvia la VM:
$ reboot
Installazione Nextcloud¶
- Accesso SSH alla VM:
$ ssh -i .ssh<ssh-key> ubuntu@<ip-vm>
- utente root:
$ sudo su -
- installazione:
$ snap install nextcloud
- controlla installazione:
$ snap get nextcloud php
$ snap services nextcloud
$ snap connect nextcloud:removable-media
- comandi utili aggiuntivi per info installazione Nextcloud:
$ snap changes nextcloud
$ snap info nextcloud
$ snap connections nextcloud
Creare utente admin¶
Puoi creare l'utente amministratore dall'interfaccia web di Nextcloud. Inserendo l'IP pubblico della VM, si accede all'interfaccia web e si possono configurare le credenziali admin. In questo caso non stai usando una connessione sicura, è meglio configurare l'utente admin via CLI come segue:
- configura utente admin:
$ nextcloud.manual-install admin <password>
- controlla dominio fidato (trusted domain):
$ nextcloud.occ config:system:get trusted_domains
- aggiungi dominio fidato:
$ nextcloud.occ config:system:set trusted_domains 1 --value=<domain>
Cambiare directory dati Nextcloud¶
- Ferma il servizio Nextcloud:
$ snap stop nextcloud
- modifica config Nextcloud e cambia il valore 'datadirectory' con '/media/nextcloud/data':
$ vim /var/snap/nextcloud/current/nextcloud/config/config.php
- copia i dati nella nuova directory:
$ mv /var/snap/nextcloud/common/nextcloud/data /media/nextcloud
- avvia il servizio Nextcloud:
$ snap start nextcloud
Creare record DNS¶
Ora è necessario creare un record DNS 'A' per raggiungere il servizio usando un nome DNS e per configurare il certificato. Il nome DNS deve essere lo stesso aggiunto in precedenza nei domini fidati.
Creare certificato con Let's Encrypt¶
- Crea certificato tramite Nextcloud:
$ ufw allow 80,443/tcp
$ nextcloud.enable-https lets-encrypt
Ora puoi accedere a Nextcloud dal tuo browser.
Installare e configurare server mail¶
- Cambia hostname della VM con il tuo dominio:
$ vi /etc/hostname
- in "/etc/hosts" aggiungi una riga con IP privato VM e hostname (<private-ip> <hostname>):
$ vi /etc/hosts
- aggiorna:
$ apt update
- installa mailutils, quando richiesto seleziona 'internet-site' e configura dominio completo:
$ apt install mailutils
- modifica configurazione postfix, modifica 'inet_interfaces' da 'all' a 'loopback-only' e 'myhostname' con il tuo dominio:
$ vi /etc/postfix/main.cf
- riavvia postfix:
$ service postfix restart
Ora puoi eseguire un test per verificare il corretto funzionamento del mail server:
$ echo "Questa email conferma che Postfix sta funzionando" | mail -s "Testing Postfix" <tua-email>
Configurare mail server in Nextcloud¶
Accedi a Nextcloud dall'interfaccia web e dal menu in alto a destra vai su "Impostazioni personali -> Impostazioni di base". Configura le impostazioni del server come segue:
Modalità invio: SMTP
Cifratura: Nessuna
Indirizzo mittente: noreply @ <dominio>
Metodo autenticazione: Nessuno
Indirizzo server: localhost
Porta: 25
Per testare la funzione di invio email, vai su 'Info personali' (menu sinistra) e aggiungi la tua email. Ora ritorna alle impostazioni email e clicca su "Invia email".