In generale bastano pochi passaggi per in­stal­la­re Nextcloud su Debian. La procedura non si limita a con­fi­gu­ra­re la soluzione cloud vera e propria, ma la protegge anche mediante diversi mec­ca­ni­smi di sicurezza.

Nextcloud per Debian

Nextcloud è una soluzione di cloud computing, con­si­glia­bi­le e so­prat­tut­to gratuita, che offre numerose pos­si­bi­li­tà sia per uso privato che com­mer­cia­le. Fra i molti vantaggi del software vi sono le potenti fun­zio­na­li­tà di sicurezza per la pro­te­zio­ne dei dati, come la crit­to­gra­fia SSL/TLS, l’au­ten­ti­ca­zio­ne a due fattori e la con­for­mi­tà al GDPR, nonché la pos­si­bi­li­tà di scegliere fra server privati in locale o server host ester­na­liz­za­ti. Come molte al­ter­na­ti­ve a Nextcloud, questo fork di OwnCloud supporta tutti i sistemi operativi più comuni e offre una facile in­te­gra­zio­ne di numerosi servizi.

Nelle parti seguenti ti spie­ghia­mo passo per passo la procedura di con­fi­gu­ra­zio­ne di Nextcloud su Debian 12. A tal fine devi in­stal­la­re un web server Apache2, un server MariaDB e PHP 8.2. Per la pro­te­zio­ne ti mostriamo come impostare un Un­com­pli­ca­ted Firewall (UFW) e i necessari cer­ti­fi­ca­ti SSL/TLS.

Consiglio

Se desideri in­stal­la­re Nextcloud su Ubuntu, nella nostra Digital Guide trovi le istru­zio­ni adatte per la con­fi­gu­ra­zio­ne di Nextcloud su Ubuntu 22.04. Qui troverai anche la de­scri­zio­ne dell’in­stal­la­zio­ne di Nextcloud con Docker e scoprirai anche come con­fi­gu­ra­re Nextcloud su Ku­ber­ne­tes.

Quali sono i requisiti da sod­di­sfa­re?

Per l’in­stal­la­zio­ne di Nextcloud su Debian 12 è suf­fi­cien­te sod­di­sfa­re pochi requisiti. È ne­ces­sa­rio un server su cui sia già in­stal­la­to Debian 12. Inoltre, sono necessari almeno 4 gigabyte di RAM e due CPU. È im­por­tan­te avere anche un accesso utente non root con permessi di am­mi­ni­stra­to­re e con­fi­gu­ra­re un nome di dominio che possa rimandare all’indirizzo IP del server.

In­stal­la­zio­ne del web server Apache2

Per prima cosa, installa un web server Apache2. A tal fine devi ag­gior­na­re l’indice dei pacchetti Debian per poter scaricare la versione più recente. Per farlo, usa il comando apt update:

sudo apt update
bash

Quindi esegui l’in­stal­la­zio­ne del più recente pacchetto di Apache2 con il seguente comando:

sudo apt install apache2
bash

Conferma l’in­stal­la­zio­ne con il tasto [y] e premi quindi [Invio] per avviare l’in­stal­la­zio­ne.

Dopo l’in­stal­la­zio­ne, controlla lo stato del servizio con i seguenti comandi systemctl:

sudo systemctl is-enabled apache2
sudo systemctl status apache2
bash

Sotto il primo comando dovresti vedere che il servizio viene avviato au­to­ma­ti­ca­men­te quando avvii il sistema. Lo stato “active” indica che Apache2 è pronto all’uso.

Con­fi­gu­ra­zio­ne del firewall

Con il firewall giusto puoi pro­teg­ge­re il tuo sistema e i tuoi dati. Ti con­si­glia­mo di usare Un­com­pli­ca­ted Firewall (UFW), che puoi con­fi­gu­ra­re come standard. A tal fine devi aprire le porte per OpenSSH, HTTP e HTTPS. Per iniziare, installa il pacchetto UFW con il seguente comando:

sudo apt install ufw
bash

Conferma quindi di nuovo con [y] e completa l’in­stal­la­zio­ne con [Invio]. Suc­ces­si­va­men­te, attiva OpenSSH e UFW con questi comandi:

sudo ufw allow OpenSSH
sudo ufw enable
bash

Per avviare UFW, conferma con [y]. A questo punto appare l’output “Firewall is active and enabled on system startup”. Suc­ces­si­va­men­te ag­giun­gia­mo la porta HTTP e la porta HTTPS che devono essere usate dal web server. Per farlo, esegui questo comando:

sudo ufw allow "WWW Full"
bash

Carica quindi nuo­va­men­te UFW:

sudo ufw reload
bash

Per con­sul­ta­re le regole attivate, richiama lo stato di UFW. WWW Full dovrebbe essere attivato.

sudo ufw status
bash
Managed Nextcloud di IONOS Cloud
Lavora con il tuo team sul cloud
  • Massima sicurezza dei tuoi dati
  • Strumenti di col­la­bo­ra­zio­ne per lavorare in team
  • Ag­gior­na­men­ti au­to­ma­ti­ci

At­ti­va­zio­ne di PHP 8.2

Per ottenere le migliori pre­sta­zio­ni e la massima com­pa­ti­bi­li­tà possibili, Nextcloud stesso consiglia di usare PHP 8.2. Essendo già incluso per im­po­sta­zio­ne pre­de­fi­ni­ta in Debian 12, devi soltanto in­stal­la­re i pacchetti necessari. Il comando per farlo è il seguente:

sudo apt install -y php php-curl php-cli php-mysql php-gd php-common php-xml php-json php-intl php-pear php-imagick php-dev php-common php-mbstring php-zip php-soap php-bz2 php-bcmath php-gmp php-apcu libmagickcore-dev
bash

Conferma con [y] e [Invio]. Quindi verifica la versione PHP e attiva le esten­sio­ni:

php --version
php -m
bash

Ora utilizza l’editor Nano per aprire il file di con­fi­gu­ra­zio­ne di PHP:

sudo nano /etc/php/8.2/apache2/php.ini
bash

A questo punto puoi apportare alcune modifiche alla con­fi­gu­ra­zio­ne per adattarla alle tue esigenze. A seconda di come vuoi uti­liz­za­re Nextcloud con Debian 12, possono essere con­si­glia­bi­li valori diversi. In questo caso, modifica le im­po­sta­zio­ni in base alle tue pre­fe­ren­ze. I relativi comandi sono i seguenti.

Per prima cosa, imposta il fuso orario:

data.timezone = Europe/Amsterdam
bash

Modifica i parametri per memory_limit, upload_max_filesize, post-max_size e max_execution_time:

memory_limit = 512M
upload_max_filesize = 500M
post_max_size = 600M
max_execution_time = 300
bash

Ora attiva file_uploads e allow_url_fopen. In entrambi i casi il valore deve essere impostato su “On”:

file_uploads = On
allow_url_fopen = On
bash

Disattiva display_errors e output_buffering, quindi imposta i ri­spet­ti­vi valori su “Off”:

display_errors = Off
output_buffering = Off
bash

Attiva PHP OPCache con questo comando:

zend_extension=opcache
bash

Aggiungi la con­fi­gu­ra­zio­ne nella sezione opcache con­si­glia­ta da Nextcloud per Debian 12, che si presenta così:

opcache.enable = 1
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 10000
opcache.memory_consumption = 128
opcache.save_comments = 1
opcache.revalidate_freq = 1
bash

Infine, salva il file e chiudi l’editor Nano. Ora riavvia il servizio Apache2:

sudo systemctl restart apache2
bash

Con­fi­gu­ra­zio­ne del server MariaDB

Come database, Nextcloud utilizza un server MariaDB. Per in­stal­lar­lo e con­trol­lar­lo, utilizza questi comandi:

sudo apt install mariadb-server
bash

Conferma con [y] e [Invio]. Dopo aver com­ple­ta­to cor­ret­ta­men­te l’in­stal­la­zio­ne, immetti questo comando:

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
bash

Una volta che il server funziona cor­ret­ta­men­te, è il momento di pensare a pro­teg­ge­re il sistema. Utilizza il comando seguente per creare una password di root, rimuovere gli utenti anonimi ed eliminare il database di prova:

sudo mariadb-secure-installation
bash

Premi [y] per con­fer­ma­re le im­po­sta­zio­ni o [n] per ri­fiu­tar­le.

Creazione di database e utente

A questo punto devi creare un nuovo database e il relativo utente. Per accedere al server MariaDB, utilizza questo comando e inserisci la tua password di root:

sudo mariadb -u root -p
bash

Utilizza i comandi seguenti per creare un nuovo database, un utente e la relativa password:

CREATE DATABASE nextcloud_db;
CREATE USER nextclouduser@localhost IDENTIFIED BY 'TuaPassword';
GRANT ALL PRIVILEGES ON nextcloud_db.* TO nextclouduser@localhost;
FLUSH PRIVILEGES;
bash

So­sti­tui­sci 'TuaPassword' con una password sicura scelta da te. Infine, verifica che “next­clou­du­ser” abbia accesso al database “nextcloud_db”:

SHOW GRANTS FOR nextclouduser@localhost;
bash

Download del codice sorgente ag­gior­na­to

Ora scarica il codice sorgente ag­gior­na­to per poter uti­liz­za­re al meglio Nextcloud su Debian 12. In­nan­zi­tut­to, esegui questo comando:

sudo apt install curl unzip -y
bash

Passa quindi alla cartella /var/www e scarica il codice sorgente più recente:

cd /var/www/
curl -o nextcloud.zip https://download.nextcloud.com/server/releases/latest.zip
bash

De­com­pri­mi il file e cambia quindi i pro­prie­ta­ri della cartella in www-data:

unzip nextcloud.zip
sudo chown -R www-data:www-data nextcloud
bash

Con­fi­gu­ra­zio­ne dell’host Apache2

Ora configura un host Apache2 virtuale. A tal fine utilizza questo comando Nano:

sudo nano /etc/apache2/sites-available/nextcloud.conf
bash

Adatta il nome di dominio e i due parametri ErrorLog e CustomLog. A tal fine, so­sti­tui­sci il se­gna­po­sto “esempio” con il tuo nome di dominio.

<VirtualHost *:80>
    ServerName nextcloud.esempio.io
    DocumentRoot /var/www/nextcloud/
    # log files
    ErrorLog /var/log/apache2/files.esempio.io-error.log
    CustomLog /var/log/apache2/files.esempio.io-access.log combined
    <Directory /var/www/nextcloud/>
        Options +FollowSymlinks
        AllowOverride All
        <IfModule mod_dav.c>
            Dav off
        </IfModule>
        SetEnv HOME /var/www/nextcloud
        SetEnv HTTP_HOME /var/www/nextcloud
    </Directory>
</VirtualHost>
bash

Salva le modifiche e chiudi l’editor. Quindi attiva la con­fi­gu­ra­zio­ne con il seguente comando e ve­ri­fi­ca­la:

sudo a2ensite nextcloud.conf
sudo apachectl configtest
bash

Se ottieni l’output “Syntax OK”, riavvia Apache2 e applica la con­fi­gu­ra­zio­ne dell’host:

sudo systemctl restart apache2
bash

Pro­te­zio­ne con SSL/TLS

Se non modifichi ulteriori im­po­sta­zio­ni, uti­liz­ze­rai Nextcloud su Debian 12 tramite un pro­to­col­lo HTTP non protetto. Per pro­teg­ge­re i tuoi dati ti con­si­glia­mo quindi di con­fi­gu­ra­re l’HTTPS. Per farlo, esegui questo comando:

sudo apt install certbot python3-certbot-apache
bash

Genera quindi un cer­ti­fi­ca­to SSL. A tal fine so­sti­tui­sci nuo­va­men­te il se­gna­po­sto “esempio” con il tuo nome di dominio effettivo:

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email user@esempio.io -d nextcloud.esempio.io
bash

Con­clu­sio­ne dell’in­stal­la­zio­ne di Nextcloud su Debian 12

Ora puoi com­ple­ta­re l’in­stal­la­zio­ne di Nextcloud su Debian 12. Apri il tuo browser e quindi il nome di dominio della tua in­stal­la­zio­ne di Nextcloud. Inserisci un nome utente e la tua password per creare un am­mi­ni­stra­to­re. Aggiungi quindi il nome del tuo database, il nome utente e la password. Infine, fai clic su “Install”. Suc­ces­si­va­men­te puoi scegliere di scaricare alcune app com­pa­ti­bi­li oppure saltare questo passaggio. Infine, il sistema ti porta alla dashboard e puoi quindi iniziare a uti­liz­za­re Nextcloud per i tuoi dati.

Vai al menu prin­ci­pa­le