Installazione di Nextcloud su Debian 12
In generale bastano pochi passaggi per installare Nextcloud su Debian. La procedura non si limita a configurare la soluzione cloud vera e propria, ma la protegge anche mediante diversi meccanismi di sicurezza.
Nextcloud per Debian
Nextcloud è una soluzione di cloud computing, consigliabile e soprattutto gratuita, che offre numerose possibilità sia per uso privato che commerciale. Fra i molti vantaggi del software vi sono le potenti funzionalità di sicurezza per la protezione dei dati, come la crittografia SSL/TLS, l’autenticazione a due fattori e la conformità al GDPR, nonché la possibilità di scegliere fra server privati in locale o server host esternalizzati. Come molte alternative a Nextcloud, questo fork di OwnCloud supporta tutti i sistemi operativi più comuni e offre una facile integrazione di numerosi servizi.
Nelle parti seguenti ti spieghiamo passo per passo la procedura di configurazione di Nextcloud su Debian 12. A tal fine devi installare un web server Apache2, un server MariaDB e PHP 8.2. Per la protezione ti mostriamo come impostare un Uncomplicated Firewall (UFW) e i necessari certificati SSL/TLS.
Se desideri installare Nextcloud su Ubuntu, nella nostra Digital Guide trovi le istruzioni adatte per la configurazione di Nextcloud su Ubuntu 22.04. Qui troverai anche la descrizione dell’installazione di Nextcloud con Docker e scoprirai anche come configurare Nextcloud su Kubernetes.
Quali sono i requisiti da soddisfare?
Per l’installazione di Nextcloud su Debian 12 è sufficiente soddisfare pochi requisiti. È necessario un server su cui sia già installato Debian 12. Inoltre, sono necessari almeno 4 gigabyte di RAM e due CPU. È importante avere anche un accesso utente non root con permessi di amministratore e configurare un nome di dominio che possa rimandare all’indirizzo IP del server.
Installazione del web server Apache2
Per prima cosa, installa un web server Apache2. A tal fine devi aggiornare l’indice dei pacchetti Debian per poter scaricare la versione più recente. Per farlo, usa il comando apt update:
sudo apt update
bashQuindi esegui l’installazione del più recente pacchetto di Apache2 con il seguente comando:
sudo apt install apache2
bashConferma l’installazione con il tasto [y] e premi quindi [Invio] per avviare l’installazione.
Dopo l’installazione, controlla lo stato del servizio con i seguenti comandi systemctl:
sudo systemctl is-enabled apache2
sudo systemctl status apache2
bashSotto il primo comando dovresti vedere che il servizio viene avviato automaticamente quando avvii il sistema. Lo stato “active” indica che Apache2 è pronto all’uso.
Configurazione del firewall
Con il firewall giusto puoi proteggere il tuo sistema e i tuoi dati. Ti consigliamo di usare Uncomplicated Firewall (UFW), che puoi configurare 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
bashConferma quindi di nuovo con [y] e completa l’installazione con [Invio]. Successivamente, attiva OpenSSH e UFW con questi comandi:
sudo ufw allow OpenSSH
sudo ufw enable
bashPer avviare UFW, conferma con [y]. A questo punto appare l’output “Firewall is active and enabled on system startup”. Successivamente aggiungiamo la porta HTTP e la porta HTTPS che devono essere usate dal web server. Per farlo, esegui questo comando:
sudo ufw allow "WWW Full"
bashCarica quindi nuovamente UFW:
sudo ufw reload
bashPer consultare le regole attivate, richiama lo stato di UFW. WWW Full dovrebbe essere attivato.
sudo ufw status
bash- Massima sicurezza dei tuoi dati
- Strumenti di collaborazione per lavorare in team
- Aggiornamenti automatici
Attivazione di PHP 8.2
Per ottenere le migliori prestazioni e la massima compatibilità possibili, Nextcloud stesso consiglia di usare PHP 8.2. Essendo già incluso per impostazione predefinita in Debian 12, devi soltanto installare 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
bashConferma con [y] e [Invio]. Quindi verifica la versione PHP e attiva le estensioni:
php --version
php -m
bashOra utilizza l’editor Nano per aprire il file di configurazione di PHP:
sudo nano /etc/php/8.2/apache2/php.ini
bashA questo punto puoi apportare alcune modifiche alla configurazione per adattarla alle tue esigenze. A seconda di come vuoi utilizzare Nextcloud con Debian 12, possono essere consigliabili valori diversi. In questo caso, modifica le impostazioni in base alle tue preferenze. I relativi comandi sono i seguenti.
Per prima cosa, imposta il fuso orario:
data.timezone = Europe/Amsterdam
bashModifica 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
bashOra 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
bashDisattiva display_errors e output_buffering, quindi imposta i rispettivi valori su “Off”:
display_errors = Off
output_buffering = Off
bashAttiva PHP OPCache con questo comando:
zend_extension=opcache
bashAggiungi la configurazione nella sezione opcache consigliata 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
bashInfine, salva il file e chiudi l’editor Nano. Ora riavvia il servizio Apache2:
sudo systemctl restart apache2
bashConfigurazione del server MariaDB
Come database, Nextcloud utilizza un server MariaDB. Per installarlo e controllarlo, utilizza questi comandi:
sudo apt install mariadb-server
bashConferma con [y] e [Invio]. Dopo aver completato correttamente l’installazione, immetti questo comando:
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
bashUna volta che il server funziona correttamente, è il momento di pensare a proteggere 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
bashPremi [y] per confermare le impostazioni o [n] per rifiutarle.
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
bashUtilizza 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;
bashSostituisci 'TuaPassword'
con una password sicura scelta da te. Infine, verifica che “nextclouduser” abbia accesso al database “nextcloud_db”:
SHOW GRANTS FOR nextclouduser@localhost;
bashDownload del codice sorgente aggiornato
Ora scarica il codice sorgente aggiornato per poter utilizzare al meglio Nextcloud su Debian 12. Innanzitutto, esegui questo comando:
sudo apt install curl unzip -y
bashPassa 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
bashDecomprimi il file e cambia quindi i proprietari della cartella in www-data:
unzip nextcloud.zip
sudo chown -R www-data:www-data nextcloud
bashConfigurazione dell’host Apache2
Ora configura un host Apache2 virtuale. A tal fine utilizza questo comando Nano:
sudo nano /etc/apache2/sites-available/nextcloud.conf
bashAdatta il nome di dominio e i due parametri ErrorLog e CustomLog. A tal fine, sostituisci il segnaposto “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>
bashSalva le modifiche e chiudi l’editor. Quindi attiva la configurazione con il seguente comando e verificala:
sudo a2ensite nextcloud.conf
sudo apachectl configtest
bashSe ottieni l’output “Syntax OK”, riavvia Apache2 e applica la configurazione dell’host:
sudo systemctl restart apache2
bashProtezione con SSL/TLS
Se non modifichi ulteriori impostazioni, utilizzerai Nextcloud su Debian 12 tramite un protocollo HTTP non protetto. Per proteggere i tuoi dati ti consigliamo quindi di configurare l’HTTPS. Per farlo, esegui questo comando:
sudo apt install certbot python3-certbot-apache
bashGenera quindi un certificato SSL. A tal fine sostituisci nuovamente il segnaposto “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
bashConclusione dell’installazione di Nextcloud su Debian 12
Ora puoi completare l’installazione di Nextcloud su Debian 12. Apri il tuo browser e quindi il nome di dominio della tua installazione di Nextcloud. Inserisci un nome utente e la tua password per creare un amministratore. Aggiungi quindi il nome del tuo database, il nome utente e la password. Infine, fai clic su “Install”. Successivamente puoi scegliere di scaricare alcune app compatibili oppure saltare questo passaggio. Infine, il sistema ti porta alla dashboard e puoi quindi iniziare a utilizzare Nextcloud per i tuoi dati.