Nextcloud è una suite Open Source di software client-server per la creazione e l'utilizzo di servizi di file hosting. È una soluzione di archiviazione cloud self-hosted gratuita simile a Dropbox, Google Drive, ecc. Con Nextcloud, non devi preoccuparti delle costose alternative e poiché ospiterai i tuoi file, non devi preoccuparti sulla privacy o su qualcuno che raccoglie i tuoi dati.
NextCloud può essere installato su un server domestico privato o un server privato virtuale nel cloud. I file possono quindi essere caricati e quindi sincronizzati su un desktop locale, laptop o persino uno smartphone. In questo modo hai il pieno controllo dei tuoi dati.
Caratteristiche di NextCloud
- NextCloud ha client di sincronizzazione per Linux, Mac OS, Windows, Android e IOS
- Crittografia end-to-end:i file vengono crittografati durante il caricamento sul server
- NextCloud è gratuito e Open Source
- Può essere integrato con una suite per ufficio online (Collobora, OnlyOffice) così puoi creare e modificare i tuoi file doc, ppt, xls direttamente da NextCloud.
- L'app store contiene centinaia di app per estendere le funzionalità (come app calendario, app per prendere appunti, app per videoconferenze, ecc.).
Contenuti correlati
- Come installare e configurare PHP e Nginx (LEMP) su Ubuntu 20.04
- Come installare e configurare NextCloud su Debian 11 e LEMP
- Come installare e configurare NextCloud su Centos 8 e LEMP
- Come installare e configurare Mariadb 10 in Ubuntu 20.04
- Come installare e configurare mysql 8 su Ubuntu 20.04
- Come installare e configurare PHP e Nginx (LEMP) su Debian 11
Prerequisiti
Per seguire questa guida, assicurati di avere:
- Un server Ubuntu 20.04 aggiornato
- Accesso a Internet dal server
- Accesso root dal server o utente con accesso sudo
Indice dei contenuti
- Assicurati che i pacchetti del server siano aggiornati
- Installazione di Mariadb 10 in Ubuntu 20.04
- Creazione utente MySQL per NextCloud
- Installazione di PHP in Ubuntu 20.04
- Installazione di Nginx in Ubuntu 20.04
- Scarica e configura Nextcloud
- Configura Nginx per servire NextCloud da un host virtuale
- Aggiorna configurazione PHP
- Accesso a Nextcloud dall'URL web
1. Assicurati che i pacchetti del server siano aggiornati
Assicuriamoci che i nostri pacchetti server siano aggiornati con questo comando:
sudo apt update
sudo apt -y upgrade
Nel frattempo, installiamo anche alcune dipendenze di cui avremo bisogno
sudo apt install -y unzip vim
2. Installazione di Mariadb in Ubuntu 20.04
Mariadb è un popolare sistema di gestione relazionale Opensource. È disponibile nei repository predefiniti come mariadb-server
.
Installalo con questo comando:
sudo apt install -y mariadb-server
Mariadb verrà installato e avviato per impostazione predefinita in Ubuntu 20.04. Controlla lo stato con questo
$ sudo systemctl status mariadb
● mariadb.service - MariaDB 10.3.32 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2021-12-15 08:40:15 UTC; 6min ago
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Process: 47484 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
Process: 47485 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 47487 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ] && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (cod>
Process: 47566 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 47568 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
Main PID: 47534 (mysqld)
Status: "Taking your SQL requests now..."
Tasks: 30 (limit: 4631)
Memory: 62.7M
CGroup: /system.slice/mariadb.service
└─47534 /usr/sbin/mysqld
Dec 15 08:40:15 ip-10-2-40-248 systemd[1]: Starting MariaDB 10.3.32 database server...
Dec 15 08:40:15 ip-10-2-40-248 mysqld[47534]: 2021-12-15 8:40:15 0 [Note] /usr/sbin/mysqld (mysqld 10.3.32-MariaDB-0ubuntu0.20.04.1) starting as process 47534 ...
Dec 15 08:40:15 ip-10-2-40-248 systemd[1]: Started MariaDB 10.3.32 database server.
Dec 15 08:40:15 ip-10-2-40-248 /etc/mysql/debian-start[47573]: Looking for 'mysql' as: /usr/bin/mysql
Dec 15 08:40:15 ip-10-2-40-248 /etc/mysql/debian-start[47573]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
Dec 15 08:40:15 ip-10-2-40-248 /etc/mysql/debian-start[47573]: This installation of MySQL is already upgraded to 10.3.32-MariaDB, use --force if you still need to run mysql_upgrade
Dec 15 08:40:15 ip-10-2-40-248 /etc/mysql/debian-start[47581]: Checking for insecure root accounts.
Per assicurarti che mariadb si avvii all'avvio, abilitalo con questo comando systemd:
sudo systemctl enable mariadb
Una volta che il servizio MySQL è in esecuzione, è necessario proteggerlo. Mysql fornisce un'utilità della riga di comando che lo farà:
sudo mysql_secure_installation
Il comando precedente ti guiderà attraverso i prompt per proteggere e impostare una password di root per l'istanza mysql.
Consulta ulteriori informazioni sull'installazione e la configurazione di mariadb in questa guida qui.
3. Creazione utente MySQL per NextCloud
Si consiglia sempre di avere un utente dedicato per ogni app che si connette al DB. Dai un'occhiata a questa guida sulla gestione delle autorizzazioni MySQL qui. Imposteremo un database, un utente e una password che verranno utilizzati da nextcloud:
Connettiti al server MySQL:
mysql -u root -p
Dopo aver fornito la tua password, inserisci quanto segue nel prompt di mysql:
create database nextcloud;
create user 'nextcloud_user'@'%' identified by 'S0mStrongPa$$word';
grant all privileges on nextcloud.* to 'nextcloud_user'@'%';
Ora che abbiamo configurato la nostra connessione mysql, andiamo alla sezione successiva in cui installiamo e configuriamo PHP e Nginx.
4. Installazione di PHP 7.4 in Ubuntu 20/04
NextCloud funziona bene con PHP 7.4. Questa versione è disponibile nei repository Ubuntu predefiniti.
Quindi installa php e le dipendenze
sudo apt install -y \
php \
php-gd \
php-curl \
php-zip \
php-dom \
php-xml \
php-simplexml \
php-mbstring \
php-intl \
php-json \
php-fpm
Per ulteriori informazioni sulla configurazione di PHP e Nginx, consulta questa guida qui.
5. Installazione di Nginx in Ubuntu 20.04
Quindi, installiamo Nginx nel nostro sistema. Usa questo comando per installare nginx
sudo apt install -y nginx
Nginx verrà avviato per impostazione predefinita. Verifica lo stato usando questo comando:
$ sudo systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2021-12-11 14:42:39 UTC; 29s ago
Docs: man:nginx(8)
Process: 13698 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 13699 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 13780 (nginx)
Tasks: 3 (limit: 4626)
Memory: 3.1M
CPU: 24ms
CGroup: /system.slice/nginx.service
├─13780 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
├─13783 nginx: worker process
└─13784 nginx: worker process
Dec 11 14:42:39 ip-10-2-40-145 systemd[1]: Starting A high performance web server and a reverse proxy server...
Dec 11 14:42:39 ip-10-2-40-145 systemd[1]: Started A high performance web server and a reverse proxy server.
Active: active (running)
indica che il servizio è ora attivo e funzionante.
Per abilitare il servizio all'avvio, utilizzare questo comando:
sudo systemctl enable nginx
6. Scarica e configura Nextcloud
Ora che abbiamo configurato correttamente il server LEMP nel nostro sistema, scarichiamo e configuriamo NextCloud. Puoi ottenere l'ultima versione di NextCloud dalla pagina di installazione di NextCloud. Usa questo comando per scaricare il server NextCloud:
cd /tmp
curl -LO https://download.nextcloud.com/server/releases/nextcloud-23.0.0.zip
Ora cambiamo in un percorso di directory per servire NextCloud in /var/www
quindi estrai il file scaricato lì:
cd /var/www
sudo unzip /tmp/nextcloud-23.0.0.zip
sudo chown -R $USER:$GROUP nextcloud
sudo chmod -R 755 nextcloud
Nextcloud richiedeva una directory per conservare i suoi dati. Quindi crea una directory di dati e imposta le autorizzazioni appropriate sulla directory nextcloud
sudo mkdir -p /var/nextcloud/data sudo chown -R $USER:$GROUP /var/nextcloud sudo chmod -R 755 /var/nextcloud
7. Configura Nginx per servire NextCloud da un host virtuale
Siamo riusciti a scaricare i contenuti di NextCloud su /var/www/nextcloud
. Il prossimo passo è impostare Nginx per servirlo.
Creiamo un sito virtuale nella directory in cui nginx offre contenuti qui /etc/nginx/conf.d
:
sudo vim /etc/nginx/conf.d/nextcloud.conf
Aggiungi il seguente contenuto:
server {
listen 80;
server_name nextcloud.citizix.com;
root /var/www/nextcloud;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/run/php/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Una volta apportate le modifiche precedenti, è necessario riavviare il server nginx e il server php-fom. Usa questi comandi nel terminale per ottenerlo.
sudo systemctl restart php7.4-fpm nginx
Accesso a Nextcloud dall'URL web
Quindi vai al dominio impostato, http://nextcloud.citizix.com/nextcloud
per me. Ti verrà chiesto di creare l'account utente. Inserisci il nome utente e la password da utilizzare per il nuovo utente:
Quindi inserisci i dettagli del database:
Dopodiché, fai clic su Fine. Verrai reindirizzato alla pagina di accesso dove utilizzerai i dettagli per l'accesso dell'utente creato. Al login riuscito otterrai la Dashboard.
Conclusione
In questa guida, siamo riusciti a configurare LEMP su Ubuntu 20.04 per servire Next cloud.