Vai al contenuto principale

VPS: Installazione di Nextcloud

Questa guida è stata creata con i seguenti prodotti:

(I dettagli possono variare con prodotti di fornitori diversi ma i concetti principali rimangono gli stessi)

Introduzione

Nextcloud è una soluzione cloud open source e fork di Owncloud, fondata nel 2016 dall’ex fondatore di Owncloud Frank Kalitschek.

Per ottenere prestazioni, stabilità e funzionalità ottimali, si consiglia la seguente configurazione per l’hosting di un server Nextcloud. Il server Nextcloud non è compatibile con Windows e MacOS. Almeno non senza ulteriori virtualizzazioni o workaround simili.

Preparazione

I seguenti requisiti sono raccomandati dagli sviluppatori e basati sulla nostra esperienza. Potresti incontrare problemi se non rispetti questi prerequisiti.

Hardware

ComponentiMinimoConsigliato
CPU2x 1 GHz4x 2+ GHz
RAM512 MB4+ GB
Storage10 GB50+ GB
Banda100 mbit/s (up & down)500mbit/s (up & down) Consigliato se più utenti devono usare il cloud

Software

PiattaformaOpzioni
Sistema OperativoUbuntu (14.04, 16.04, 18.04), Debian(8,9,10), CentOS 6.5/7
DatabaseMySQL o MariaDB 5.5+ (consigliato), SQLite (solo per test e installazioni minime)
Web serverApache 2.4 con mod_php o php-fpm (consigliato)
PHP5.6, 7.0 (consigliato), 7.1 (consigliato), 7.2

Per installare il cloud su un server Linux, devi connetterti tramite un client SSH. Se non sai come usare SSH, ecco una guida: Accesso iniziale (SSH)

Una volta stabilita la connessione, puoi iniziare a installare i pacchetti necessari per l’installazione vera e propria di Nextcloud. Questo include l’installazione di un web server e PHP.


Apache (Web server)

🗄️ Debian 8/9/10:

sudo apt update && sudo apt -y upgrade
sudo apt -y install apache2

PHP (Hypertext Preprocessor)

🗄️ Debian 8:

# Passo 1: Aggiungi il repository PPA PHP 7.3
sudo apt -y install lsb-release apt-transport-https ca-certificates
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php7.3.list

# Passo 2: Installa PHP 7.3
sudo apt -y install php7.3

# Passo 3: Installa le estensioni PHP 7.3
sudo apt install php7.3-cli php7.3-fpm php7.3-json php7.3-pdo php7.3-mysql php7.3-zip php7.3-gd php7.3-mbstring php7.3-curl php7.3-xml php7.3-bcmath php7.3-json

🗄️ Debian 9:

# Passo 1: Aggiungi il repository PPA PHP 7.3
sudo apt -y install lsb-release apt-transport-https ca-certificates
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php7.3.list

# Passo 2: Installa PHP 7.3
sudo apt -y install php7.3

# Passo 3: Installa le estensioni PHP 7.3
sudo apt install php7.3-cli php7.3-fpm php7.3-json php7.3-pdo php7.3-mysql php7.3-zip php7.3-gd php7.3-mbstring php7.3-curl php7.3-xml php7.3-bcmath php7.3-json

🗄️ Debian 10:

# Passo 1: Installa PHP 7.3
sudo apt -y install php php-common

# Passo 2: Installa le estensioni PHP 7.3
sudo apt -y install php-cli php-fpm php-json php-pdo php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath

Controlla la versione PHP per verificarne il funzionamento

php -v

Il passo successivo è definire il tipo di database per memorizzare le informazioni rilevanti. Ci sono diverse opzioni:


Se hai deciso di usare questo tipo di database, segui questi passaggi:

Installazione pacchetti:

sudo apt-get install mariadb-server php-mysql

Durante l’installazione ti verrà chiesto di impostare una password root. Se non viene richiesta, la password di default è vuota. Questo non è sicuro e va cambiato subito dopo!

Il passo successivo è connettersi al server database e creare il database richiesto:

mysql -u root -p
CREATE DATABASE nextcloud;

Poi devi creare un utente che abbia accesso al database Nextcloud.

CREATE USER 'nc_user'@'localhost' IDENTIFIED BY 'YOUR_PASSWORD_HERE';
informazioni

Non saltare questo passaggio usando l’utente root. Non è sicuro e può mettere a rischio i tuoi dati!

L’ultimo passo è assegnare i permessi al nuovo utente:

GRANT ALL PRIVILEGES ON nextcloud.* TO 'nc_user'@'localhost';
FLUSH PRIVILEGES;

Quando hai finito, premi Ctrl-D per uscire dal database e continua con i passaggi successivi.

Installazione

Ora puoi iniziare l’installazione vera e propria di Nextcloud. Il software va scaricato e scompattato:

cd /var/www/
wget https://download.nextcloud.com/server/releases/latest.zip
apt-get install unzip
unzip latest.zip
chown -R www-data:www-data nextcloud
rm latest.zip

Una volta completato questo passaggio, è il momento di eseguire lo script di installazione. L’accesso è possibile via browser tramite il seguente URL:

Apparirà la configurazione dello script di installazione, dove si crea un utente root e si definiscono le informazioni del database:

Sicurezza e protezione

Avvisi di configurazione

Directory dei dati

È fortemente consigliato posizionare la directory dei dati fuori dalla root web (cioè fuori da /var/www). Il modo più semplice è farlo durante una nuova installazione. La directory può essere definita durante la configurazione. Però la directory deve essere creata prima e devono essere impostati i permessi corretti. I dati potrebbero essere ad esempio salvati in una cartella chiamata Cloud nella home directory.

mkdir /home/cloud/
chown -R www-data:www-data /home/cloud/

HTTPS tramite certificato SSL (Let's Encrypt)

Una buona soluzione cloud dovrebbe essere accessibile solo tramite connessione SSL. Senza crittografia SSL, dati e informazioni vengono trasferiti in chiaro. Queste informazioni possono essere intercettate e lette facilmente e velocemente senza crittografia.

<IfModule mod_ssl.c>
<VirtualHost *:443>
DocumentRoot "/var/www/nextcloud"
ServerName domain.tld

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/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
Satisfy Any

</Directory>

SSLCertificateFile /etc/letsencrypt/live/domain.tld/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/domain.tld/privkey.pem
</VirtualHost>
</IfModule>

<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15768000; preload"
</IfModule>

Inoltre, tutto il traffico HTTP dovrebbe essere reindirizzato a HTTPS usando un redirect permanente con codice di stato 301. Questo si può fare con Apache usando una configurazione come la seguente per i VirtualHost Apache:

<VirtualHost *:80>
ServerName domain.tld
Redirect permanent / https://domain.tld/
</VirtualHost>

Gestisci Nextcloud

L’accesso a Nextcloud è possibile via browser, smartphone e computer tramite l’app. Le fonti per il download le trovi qui: https://nextcloud.com/install/#install-clients

Nelle impostazioni puoi modificare altre opzioni anche dopo l’installazione e vedere informazioni importanti come log, attività. Ci sono anche impostazioni di sicurezza aggiuntive (autenticazione a due fattori, crittografia, ...), impostazioni di design (logo, colore, slogan, header), impostazioni di accesso e molto altro.

App

Inoltre, puoi installare app aggiuntive oltre a quelle di default. Le trovi nel menu App.

Con queste App puoi personalizzare Nextcloud ancora di più a tuo piacimento.

Conclusione

Congratulazioni, hai installato Nextcloud con successo! Se hai altre domande o problemi, contatta il nostro supporto, sempre pronto ad aiutarti ogni giorno!