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 NextCloud su Debian 11 e LEMP
Prerequisiti
Per seguire questa guida, assicurati di avere:
- Un server aggiornato basato su Rocky Linux/RHEL 8
- Accesso a Internet
- Accesso root al server o accesso sudo
Indice dei contenuti
- Assicurati che i pacchetti del server siano aggiornati
- Disabilita SELinux
- Installazione di MySQL
- Creazione utente MySQL per NextCloud
- Installazione di PHP
- Installa Nginx
- Scarica e configura Nextcloud
- Configura Nginx per servire NextCloud da un host virtuale
- Aggiorna configurazione PHP
- Accesso a Nextcloud dall'URL web
Assicurati che i pacchetti del server siano aggiornati
Assicuriamoci che i nostri pacchetti server siano aggiornati con questo comando:
sudo dnf -y update
Disabilita SELinux
Quindi, disabilitiamo SELinux. Imposteremo SELinux su permissivo. Modifica questo file:
vim /etc/selinux/config
Quindi aggiorna questa riga:
SELINUX=permisive
Installazione di MySQL
Mysql è un popolare sistema di gestione relazionale. È disponibile nei repository predefiniti come mysql-server
.
Installalo con questo comando:
sudo dnf install mysql-server
Dovrai avviare e abilitare per assicurarti che sia sempre avviato all'avvio del server.
sudo systemctl start mysql
sudo systemctl status mysqld
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.
Controlla maggiori informazioni sull'installazione e la configurazione di mysql in questa guida qui
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.
Installazione di PHP
NextCloud funziona bene con PHP 6.4. Per installare php 7.4, dobbiamo abilitare il repository remi in modo da ottenere l'ultima versione.
Abilita il repository Remi con questo comando:
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Abilita php 7.4 usando il modulo dnf:
sudo dnf module enable php:remi-7.4
Quindi installa php e le dipendenze
sudo dnf install -y php php-gd php-curl php-zip php-dom php-xml php-simplexml php-mbstring php-intl php-json
Per ulteriori informazioni sulla configurazione di Apache e PHP, consulta questa guida qui. Dai un'occhiata alla versione remi qui.
Installazione di Nginx
Quindi, installiamo Nginx nel nostro sistema. Usa questo comando per installare nginx
sudo dnf install -y nginx
Avvia e controlla lo stato di Nginx
$ sudo systemctl start nginx
$ sudo systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Drop-In: /usr/lib/systemd/system/nginx.service.d
└─php-fpm.conf
Active: active (running) since Fri 2021-10-15 17:33:39 UTC; 7s ago
Process: 1138614 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 1138607 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 1138605 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 1138615 (nginx)
Tasks: 3 (limit: 23800)
Memory: 5.3M
CGroup: /system.slice/nginx.service
├─1138615 nginx: master process /usr/sbin/nginx
├─1138616 nginx: worker process
└─1138617 nginx: worker process
Oct 15 17:33:38 test-app-server systemd[1]: Starting The nginx HTTP and reverse proxy server...
Oct 15 17:33:39 test-app-server nginx[1138607]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Active: active (running)
indica che il servizio è ora attivo e funzionante.
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-22.2.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-22.2.0.zip
sudo chown -R nginx:nginx 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 nginx:nginx /var/nextcloud sudo chmod -R 755 /var/nextcloud
Configura Nginx per servire NextCloud da un host virtuale
Siamo riusciti a scaricare il contenuto 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-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Aggiornamento della configurazione PHP
Quindi prendiamoci cura di alcune configurazioni di php. Stiamo usando php-fpm per servire il nostro contenuto php. È configurato per funzionare con Apache per impostazione predefinita, quindi aggiorniamo l'utente e il gruppo nel file /etc/php-fpm.d/www.conf
a nginx.
Modifica il file
vim /etc/php-fpm.d/www.conf
Quindi aggiorna questi
user = nginx
group = nginx
Cambiamo anche la directory di sessione per il login. Aggiorna la directory della sessione PHP in modo che sia di proprietà di nginx:
sudo chown nginx.nginx -R /var/lib/php/session/
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 php-fpm nginx
Accesso a Nextcloud dall'URL web
Quindi vai al tuo dominio impostato, http://nextcloud.citizix.com/nextcloud
per me. Ti verrà chiesto di creare l'account utente. Immettere 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 Rocky Linux 8 o server basato su RHEL per servire il cloud Next.