534
contributi
m (aggiunte altre immagini) |
Etichette: Modifica da mobile Modifica da web per mobile |
||
(32 versioni intermedie di 3 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
{{Versioni compatibili|Bullseye}} | {{Versioni compatibili|Bullseye}} | ||
__TOC__ | |||
== Premesse == | |||
In questi ultimi tempi la '''produzione e il consumo di dati''' sta aumentando sempre più, come foto scattate con il nostro telefono, documenti di testo e progetti personali. | In questi ultimi tempi la '''produzione e il consumo di dati''' sta aumentando sempre più, come foto scattate con il nostro telefono, documenti di testo e progetti personali. | ||
[[File:Vista file di nextcloud.png|miniatura|Vista file di Nextcloud]] | [[File:Vista file di nextcloud.png|miniatura|Vista file di Nextcloud|alt=|sinistra|500x500px]] | ||
Anche i dispositivi che possono produrre tali dati sono in continuo aumento: oramai è comune per ciascuno di noi possedere '''almeno uno smartphone''' e anche più di un computer (magari un fisso ed un laptop) e probabilmente anche una postazione in ufficio. | Anche i dispositivi che possono produrre tali dati sono in continuo aumento: oramai è comune per ciascuno di noi possedere '''almeno uno smartphone''' e anche più di un computer (magari un fisso ed un laptop) e probabilmente anche una postazione in ufficio. | ||
Riga 9: | Riga 11: | ||
Inoltre, i dispositivi mobili (sia laptop che smartphone) sono soggetti a rotture e furti in misura maggiore rispetto a dispositivi fissi. Con la loro perdita se ne vanno anche le nostre preziose '''fotografie''', ricordi o il nostro duro lavoro, magari di settimane, perché non abbiamo avuto tempo di effettuare il '''backup'''. | Inoltre, i dispositivi mobili (sia laptop che smartphone) sono soggetti a rotture e furti in misura maggiore rispetto a dispositivi fissi. Con la loro perdita se ne vanno anche le nostre preziose '''fotografie''', ricordi o il nostro duro lavoro, magari di settimane, perché non abbiamo avuto tempo di effettuare il '''backup'''. | ||
Non sarebbe utile avere la possibilità di fare un '''backup in tempo reale''' di tutti i nostri documenti, di poter archiviare ogni modifica effettuata e di poter ripristinare un documento ad una versione precedente a seguito di un salvataggio errato? | Non sarebbe utile avere la possibilità di fare un '''backup in tempo reale''' di tutti i nostri documenti, di poter archiviare ogni modifica effettuata e di poter ripristinare un documento ad una versione precedente a seguito di un salvataggio errato? | ||
[[File:Nextcloud-collabora-desktop.png|alt=Interfaccia stile LibreOffice con Collabora online, editor da browser.|miniatura|Interfaccia stile LibreOffice con Collabora online, editor da browser.]] | [[File:Nextcloud-collabora-desktop.png|alt=Interfaccia stile LibreOffice con Collabora online, editor da browser.|miniatura|Interfaccia stile LibreOffice con Collabora online, editor da browser.|500x500px]] | ||
Non sarebbe comodo poter '''sincronizzare i desktop''', i nostri '''telefoni''' o le cartelle documenti tra '''più dispositivi''' in tempo reale o condividere una cartella con il proprio collega di lavoro in modo da editare un documento simultaneamente? | Non sarebbe comodo poter '''sincronizzare i desktop''', i nostri '''telefoni''' o le cartelle documenti tra '''più dispositivi''' in tempo reale o condividere una cartella con il proprio collega di lavoro in modo da editare un documento simultaneamente? | ||
[[File:Collabora-android.png|alt=Stessa interfaccia ma da android.|miniatura|300x300px|Stessa interfaccia ma da android.]] | [[File:Collabora-android.png|alt=Stessa interfaccia ma da android.|miniatura|300x300px|Stessa interfaccia ma da android.]] | ||
L’ideale sarebbe che tutto questo potesse '''funzionare su tutti i dispositivi''' che usiamo ogni giorno: il nostro computer con '''Debian''', ma anche un '''MacBook''', o un computer '''Windows'''. E non dimentichiamo i dispositivi mobili, sia che montino '''Android''' che '''iOS''': insomma praticamente tutto ciò che esiste in commercio. | L’ideale sarebbe che tutto questo potesse '''funzionare su tutti i dispositivi''' che usiamo ogni giorno: il nostro computer con '''Debian''', ma anche un '''MacBook''', o un computer '''Windows'''. E non dimentichiamo i dispositivi mobili, sia che montino '''Android''' che '''iOS''': insomma praticamente tutto ciò che esiste in commercio. Tutto questo si può avere in casa propria grazie a un '''NAS con Nextcloud'''. | ||
Tutto questo si può avere in casa propria grazie a un '''NAS con Nextcloud'''. | |||
In questa guida andremo a '''costruire insieme il vostro dispositivo''' '''cloud'''. | |||
Attualmente non | Attualmente non esistono in commercio dispositivi pre-configurati per realizzare le funzionalità descritte in precedenza. Per questo andremo a realizzare una '''configurazione personalizzata''' di NAS che altro non è che un '''HomeServer'''. | ||
La | La scelta dei componenti è libera, l'ideale sarebbe fare una scelta '''modulare.''' È sconsigliato però utilizzare dischi vetusti perché da questi dipenderà l’affidabilità dei vostri preziosi dati. Inoltre, Nextcloud richiede comunque una certa potenza di calcolo, pertanto è '''necessario un minimo di investimento''' hardware per non ottenere un risultato deludente, ma quello che offre è davvero molto! | ||
__TOC__ | |||
Questa guida parte dal presupposto che abbiate '''già assemblato il NAS''', se non lo avete ancora fatto esistono innumerevoli guide e videoguide al riguardo, inoltre solitamente è anche '''chiaramente spiegato sulle istruzioni''' della scheda madre. | |||
Presupponiamo di aver '''già creato l’installer e di averlo avviato'''. Se invece non avete idea di come creare un '''drive USB''' per l’installazione potete seguire la guida [[Installare Debian da pendrive USB o SD card|per installare debian da USB]]. | |||
Andiamo ora ad analizzare la '''configurazione dei dischi''' da adottare per fare una cosa fighissima: '''archiviare i dati sull’HDD''', ma al contempo, '''utilizzare l’SSD come cache''' per accelerare notevolmente l’accesso e la scrittura dei files più utilizzati e quindi avere un NAS molto reattivo! | |||
== Configurazione dischi di sistema == | == Configurazione dischi di sistema == | ||
Avviate l’installer Debian '''con i firmware inclusi''' e proseguite l’installazione fino a che non vi troverete di fronte alla schermata del partizionamento. Selezionate manuale | Avviate l’installer Debian '''con i firmware inclusi''' e proseguite l’installazione fino a che non vi troverete di fronte alla schermata del partizionamento. Selezionate manuale | ||
[[File:Debian11-installer-manual-disk.png|alt=Partizionamento manuale installer debian 11 testuale|centro | [[File:Debian11-installer-manual-disk.png|alt=Partizionamento manuale installer debian 11 testuale|centro|Partizionamento manuale installer debian 11 testuale|miniatura|500x500px]] | ||
A questo punto '''selezionate l’SSD''' e iniziate il '''partizionamento''' creando | A questo punto '''selezionate l’SSD''' e iniziate il '''partizionamento''' creando | ||
* 100MB di partizione '''EFI'''; | * 100MB di partizione '''EFI'''; | ||
Riga 73: | Riga 45: | ||
Ripetiamo la procedura e creiamo un '''altro volume''' logico che chiamiamo '''swap''' e facciamolo di dimensioni '''pari''' alla dimensione della '''RAM''' installata. | Ripetiamo la procedura e creiamo un '''altro volume''' logico che chiamiamo '''swap''' e facciamolo di dimensioni '''pari''' alla dimensione della '''RAM''' installata. | ||
A questo punto clicchiamo su '''termina''' e, una volta tornati alla lista dello schema delle partizioni '''selezioniamo il volume debianOS''' | A questo punto clicchiamo su '''termina''' e, una volta tornati alla lista dello schema delle partizioni '''selezioniamo il volume debianOS''' | ||
[[File:Debian-11-installer-lvm.png|alt=Selezione partizione LVM|centro|Selezione partizione LVM|miniatura|500x500px]] | |||
Scegliamo di usare come File System '''Ext4 con Journaling''' e come punto di mount selezioniamo '''/''' | Scegliamo di usare come File System '''Ext4 con Journaling''' e come punto di mount selezioniamo '''/''' | ||
Riga 81: | Riga 52: | ||
A questo punto abbiamo '''finito il partizionamento manuale''' e possiamo procedere con l’installazione come di consueto. Alla schermata di scelta del software da installare selezionate solamente '''“server SSH”''' e '''“Utilità di sistema standard”.''' | A questo punto abbiamo '''finito il partizionamento manuale''' e possiamo procedere con l’installazione come di consueto. Alla schermata di scelta del software da installare selezionate solamente '''“server SSH”''' e '''“Utilità di sistema standard”.''' | ||
[[File:Debian11-installer-tasksel.png|alt=Selezione del software|centro|Selezione del software|miniatura|500x500px]] | |||
A questo punto completate l’installazione e '''riavviate'''. | A questo punto completate l’installazione e '''riavviate'''. | ||
Riga 87: | Riga 58: | ||
La cosa migliore è impostare una autenticazione con public-key per la quale sul wiki c’è una guida molto completa. | La cosa migliore è impostare una autenticazione con public-key per la quale sul wiki c’è una guida molto completa. | ||
== Configurazione dischi aggiuntivi == | === Configurazione dischi aggiuntivi === | ||
Ora è giunto il momento di '''configurare il disco rigido'''. Quello che vogliamo fare è creare una '''nuova partizione su LVM''' per i dati che salveremo su Nextcloud, ma la particolarità è che lo spazio che abbiamo lasciato residuo sulla SSD verrà sfruttato come '''cache in lettura e scrittura'''. | Ora è giunto il momento di '''configurare il disco rigido'''. Quello che vogliamo fare è creare una '''nuova partizione su LVM''' per i dati che salveremo su Nextcloud, ma la particolarità è che lo spazio che abbiamo lasciato residuo sulla SSD verrà sfruttato come '''cache in lettura e scrittura'''. | ||
Riga 99: | Riga 70: | ||
<code>cfdisk /dev/sdb</code> | <code>cfdisk /dev/sdb</code> | ||
Selezioniamo lo schema di partizionamento '''GPT''' e creiamo una nuova partizione grande come tutto il disco e come tipo selezioniamo '''Linux LVM'''. | Selezioniamo lo schema di partizionamento '''GPT''' e creiamo una nuova partizione grande come tutto il disco e come tipo selezioniamo '''Linux LVM'''. | ||
[[File:Cfdisk-lvm-selection.png|alt=Selezione LVM|centro|Selezione LVM|miniatura|500x500px]] | |||
Salviamo le modifiche e '''creiamo il volume fisico''' sull’HDD con | Salviamo le modifiche e '''creiamo il volume fisico''' sull’HDD con | ||
Riga 121: | Riga 91: | ||
<code>mkfs.ext4 -m 0 /dev/SSD/data</code> | <code>mkfs.ext4 -m 0 /dev/SSD/data</code> | ||
== Configurazione montaggio automatico al boot == | === Configurazione montaggio automatico al boot === | ||
Adesso che abbiamo appena creato i dischi e il file system configuriamo il montaggio automatico al boot del disco dati. | Adesso che abbiamo appena creato i dischi e il file system configuriamo il montaggio automatico al boot del disco dati. | ||
Riga 135: | Riga 105: | ||
<code>mount -a</code> | <code>mount -a</code> | ||
== Configurazione dell'ambiente LAMP == | |||
Ci concentreremo ora sull’'''installazione di un ambiente LAMP''' per far girare Nextcloud e all’installazione vera e propria di '''Nextcloud'''. | |||
La '''prima cosa da fare''' è '''configurare il dominio'''. Se volete acquistarne uno il mio consiglio è di utilizzare il servizio di google domains. Se volete utilizzare un vostro dominio, è importante che lo acquistiate già e lo configuriate per puntare al vostro NAS. Infatti configureremo il server web apache2 per accettare esclusivamente '''connessioni cifrate''' e quindi useremo solo il '''protocollo https'''. Per la validazione dei certificato è necessario che il dominio esista. | |||
La '''prima cosa da fare''' è '''configurare il dominio'''. Se volete acquistarne uno il mio consiglio è di utilizzare il servizio di google domains | |||
Inoltre dovrete al momento '''aprire''' almeno la '''porta 80 e la porta 443 del vostro router''', altrimenti non sarete accessibili dal mondo esterno. | Inoltre dovrete al momento '''aprire''' almeno la '''porta 80 e la porta 443 del vostro router''', altrimenti non sarete accessibili dal mondo esterno. | ||
== Installazione di MariaDB == | === Installazione di MariaDB === | ||
Per prima cosa pensiamo a '''installare il database'''. Utilizzeremo '''MariaDB''' pertanto iniziamo l’installazione digitando da root | Per prima cosa pensiamo a '''installare il database'''. Utilizzeremo '''MariaDB''' pertanto iniziamo l’installazione digitando da root | ||
<code># apt-get install mariadb-client mariadb-server</code> | <code># apt-get install mariadb-client mariadb-server</code> | ||
Finita l’installazione avviamo lo script di '''messa in sicurezza''' del database | Finita l’installazione avviamo lo script di '''messa in sicurezza''' del database lanciando | ||
< | <code># mysql_secure_installation</code> | ||
Io personalmente ho, per pigrizia, nel mio server personale, non attivato la password di root permettendo l’autenticazione come utenza root del database solamente dall’utente root di sistema. In realtà questa non è affatto una best practice e quindi impostate la password di root! | Io personalmente ho, per pigrizia, nel mio server personale, non attivato la password di root permettendo l’autenticazione come utenza root del database solamente dall’utente root di sistema. In realtà questa non è affatto una best practice e quindi impostate la password di root! | ||
=== Configurazione utenze === | ==== Configurazione utenze ==== | ||
A questo punto siamo pronti per '''configurare l’utenza''' per nextcloud. Effettuiamo l’'''accesso da root in mysql''' con | A questo punto siamo pronti per '''configurare l’utenza''' per nextcloud. Effettuiamo l’'''accesso da root in mysql''' con | ||
Riga 167: | Riga 131: | ||
A questo punto dobbiamo '''creare il database''' che chiameremo <code>d_nextcloud</code> | A questo punto dobbiamo '''creare il database''' che chiameremo <code>d_nextcloud</code> | ||
< | <syntaxhighlight lang="sql" inline>CREATE DATABASE 'd_nextcloud';</syntaxhighlight> | ||
creiamo ora l’utente u_nextcloud con la password c0Mpl3xpwD! che vi consiglio di generare con un generatore casuale di password. | creiamo ora l’utente u_nextcloud con la password c0Mpl3xpwD! che vi consiglio di generare con un generatore casuale di password. | ||
< | <syntaxhighlight lang="sql" inline>CREATE USER 'u_nextcloud'@localhost IDENTIFIED BY 'c0Mpl3xpwD!';</syntaxhighlight> | ||
Garantiamo '''tutti i privilegi all’utente''' <code>u_nextcloud</code> al proprio database associato <code>d_nextcloud</code> | Garantiamo '''tutti i privilegi all’utente''' <code>u_nextcloud</code> al proprio database associato <code>d_nextcloud</code> | ||
< | <syntaxhighlight lang="sql" inline>GRANT ALL PRIVILEGES ON 'd_nextcloud'.* TO 'u_nextcloud'@localhost;</syntaxhighlight> | ||
'''Aggiorniamo ora i privilegi''' (altrimenti è come se non avessimo mai creato alcun database). | '''Aggiorniamo ora i privilegi''' (altrimenti è come se non avessimo mai creato alcun database). | ||
< | <syntaxhighlight lang="sql" inline>FLUSH PRIVILEGES;</syntaxhighlight> | ||
Usciamo dalla console digitando | Usciamo dalla console digitando | ||
<code>\q</code> | <code>\q</code> | ||
=== Ottimizzazione database === | |||
==== Ottimizzazione database ==== | |||
Inoltre per '''utilizzare al meglio MariaDB con nextcloud''' è opportuno modificare alcuni parametri del database. Editiamo il file <code>/etc/mysql/my.cnf</code> e sotto a | Inoltre per '''utilizzare al meglio MariaDB con nextcloud''' è opportuno modificare alcuni parametri del database. Editiamo il file <code>/etc/mysql/my.cnf</code> e sotto a | ||
<pre>[client-server] | |||
# Import all .cnf files from configuration directory | |||
!includedir /etc/mysql/conf.d/ | |||
!includedir /etc/mysql/mariadb.conf.d/</pre> | |||
aggiungete | aggiungete | ||
< | <pre>[server] | ||
skip_name_resolve = 1 | |||
innodb_buffer_pool_size = 256M | |||
innodb_buffer_pool_instances = 1 | |||
innodb_flush_log_at_trx_commit = 2 | |||
innodb_log_file_size = 32M | |||
innodb_log_buffer_size = 32M | |||
innodb_max_dirty_pages_pct = 90 | |||
#query_cache_type = 0 | |||
query_cache_type = 0 | |||
query_cache_limit = 4M | |||
query_cache_min_res_unit = 2k | |||
#query_cache_size = 64M | |||
query_cache_size = 0 | |||
tmp_table_size= 64M | |||
max_heap_table_size= 64M | |||
performance_schema = ON | |||
[mysqld] | |||
transaction_isolation = READ-COMMITTED | |||
binlog_format = ROW</pre> | |||
La configurazione di MariaDB è conclusa, potete '''riavviare il server''' con | La configurazione di MariaDB è conclusa, potete '''riavviare il server''' con | ||
<code>service mysql restart</code> | <code>service mysql restart</code> | ||
== Installazione del web-server == | |||
==== Installazione del web-server ==== | |||
Come web-server ho scelto '''apache2'''. Per installare tutte le componenti necessarie al corretto utilizzo di Nextcloud digitate | Come web-server ho scelto '''apache2'''. Per installare tutte le componenti necessarie al corretto utilizzo di Nextcloud digitate | ||
Riga 225: | Riga 191: | ||
<code>a2enmod headers</code> | <code>a2enmod headers</code> | ||
=== Modifiche minori === | ==== Modifiche minori ==== | ||
==== Apache ==== | ===== Apache ===== | ||
Sarà necessario ora effettuare alcune piccole modifiche ai file di configurazione | Sarà necessario ora effettuare alcune piccole modifiche ai file di configurazione | ||
Riga 236: | Riga 202: | ||
modificare <code>TraceEnable</code> da <code>On</code> a <code>Off</code>. | modificare <code>TraceEnable</code> da <code>On</code> a <code>Off</code>. | ||
==== Php ==== | ===== Php ===== | ||
Aprite il file <code>/etc/php/7. | Aprite il file <code>/etc/php/7.4/apache2/php.ini</code> e | ||
Modificate <code>opcache.enable=1</code> | Modificate <code>opcache.enable=1</code> | ||
Riga 282: | Riga 248: | ||
<code>rediricter.conf</code> contenente | <code>rediricter.conf</code> contenente | ||
<syntaxhighlight lang="apache"><VirtualHost *:80> | |||
ServerAdmin webmaster@localhost | ServerAdmin webmaster@localhost | ||
DocumentRoot /var/www/html | DocumentRoot /var/www/html | ||
Riga 304: | Riga 270: | ||
</IfModule> | </IfModule> | ||
</VirtualHost></ | </VirtualHost></syntaxhighlight> | ||
Lo '''scopo''' di questa configurazione è '''reindirizzare''' tutto il traffico di nostro interesse da http verso il protocollo https. Inoltre reindirizzerà anche il traffico proveniente dal dominio di terzo livello www e cloud verso il dominio di secondo livello. Inoltre sarà anche il dominio di default nel caso di richieste provenienti da domini non configurati. | Lo '''scopo''' di questa configurazione è '''reindirizzare''' tutto il traffico di nostro interesse da http verso il protocollo https. Inoltre reindirizzerà anche il traffico proveniente dal dominio di terzo livello www e cloud verso il dominio di secondo livello. Inoltre sarà anche il dominio di default nel caso di richieste provenienti da domini non configurati. | ||
Creiamo ora il file <code>rediricter-ssl.conf</code> che si occuperà di '''redirigere''' il traffico dai sottodomini non desiderati per il protocollo https. | Creiamo ora il file <code>rediricter-ssl.conf</code> che si occuperà di '''redirigere''' il traffico dai sottodomini non desiderati per il protocollo https. | ||
<syntaxhighlight lang="apache"><IfModule mod_ssl.c> | |||
<VirtualHost _default_:443> | <VirtualHost _default_:443> | ||
ServerName www.tuodominio.org | ServerName www.tuodominio.org | ||
Riga 329: | Riga 295: | ||
Redirect "/index.html" "<nowiki>https://tuodominio.org/</nowiki>" | Redirect "/index.html" "<nowiki>https://tuodominio.org/</nowiki>" | ||
</VirtualHost> | </VirtualHost> | ||
</IfModule></ | </IfModule></syntaxhighlight> | ||
Infine creiamo <code>nextcloud.conf</code> che è il file di configurazione vero e proprio per Nextcloud. | Infine creiamo <code>nextcloud.conf</code> che è il file di configurazione vero e proprio per Nextcloud. | ||
<syntaxhighlight lang="apache"><IfModule mod_ssl.c> | |||
<VirtualHost _default_:443> | <VirtualHost _default_:443> | ||
ServerAdmin webmaster@localhost | ServerAdmin webmaster@localhost | ||
Riga 377: | Riga 343: | ||
</IfModule> | </IfModule> | ||
</VirtualHost> | </VirtualHost> | ||
</IfModule></ | </IfModule></syntaxhighlight> | ||
Questi virtualhost sono '''configurati''' per accettare la connessione su tuodominio.org e reindirizzare su tuodominio.org tutte le connessioni provenienti anche da altri sottodomini. Se non avete creato sottodomini potete anche cancellare quella parte di reindirizzamento. Comunque lasciate il reindirizzamento per www perché necessario. | Questi virtualhost sono '''configurati''' per accettare la connessione su tuodominio.org e reindirizzare su tuodominio.org tutte le connessioni provenienti anche da altri sottodomini. Se non avete creato sottodomini potete anche cancellare quella parte di reindirizzamento. Comunque lasciate il reindirizzamento per www perché necessario. | ||
Riga 389: | Riga 355: | ||
<code>a2dissite 000-default.conf default-ssl.conf</code> | <code>a2dissite 000-default.conf default-ssl.conf</code> | ||
=== Richiesta dei certificati === | === Richiesta dei certificati === | ||
Ovviamente questo virtualhost per il momento non funzionerà, infatti '''prevede sia abilitato ssl'''. Pertanto è giunto il momento di '''richiedere i certificati''' ssl con certbot! | Ovviamente questo virtualhost per il momento non funzionerà, infatti '''prevede sia abilitato ssl'''. Pertanto è giunto il momento di '''richiedere i certificati''' ssl con certbot! | ||
Riga 398: | Riga 365: | ||
Certbot provvederà anche autonomamente all’'''auto rinnovo''' del certificato e al riavvio di apache2. | Certbot provvederà anche autonomamente all’'''auto rinnovo''' del certificato e al riavvio di apache2. | ||
=== Installazione di Nextcloud === | === Installazione di Nextcloud === | ||
[[File:Nextcloud-database-selection.png|alt=Pagina di installazione di nextcloud|miniatura|300x300px|Pagina di installazione di nextcloud|centro]] | |||
Fatto ciò potrete ora '''collegarvi al vostro dominio''' e vi troverete la pagina di Nextcloud pronta ad accettare una nuova installazione. | Fatto ciò potrete ora '''collegarvi al vostro dominio''' e vi troverete la pagina di Nextcloud pronta ad accettare una nuova installazione. | ||
Assicuratevi di inserire correttamente il '''nome del database''', della '''password''' e come Data folder selezionate la '''directory''' che abbiamo creato appositamente, cioè <code>/mnt/data/nextcloud</code>. | Assicuratevi di inserire correttamente il '''nome del database''', della '''password''' e come Data folder selezionate la '''directory''' che abbiamo creato appositamente, cioè <code>/mnt/data/nextcloud</code>. | ||
Bene, '''abbiamo finito'''! Avrete ora il vostro servizio di Cloud auto hostato personale. Non vi resta che ultimare le vostre '''personalizzazioni''', installando '''applicazioni aggiuntive''', come l’ottima stuite '''Collabora Online''' che altro non è che LibreOffice utilizzabile da browser (come google documents). | Bene, '''abbiamo finito'''! Avrete ora il vostro servizio di Cloud auto hostato personale. Non vi resta che ultimare le vostre '''personalizzazioni''', installando '''applicazioni aggiuntive''', come l’ottima stuite '''Collabora Online''' che altro non è che LibreOffice utilizzabile da browser (come google documents). | ||
[[File:Nextcloud-background-job-selection.png|alt=Selezione del lavoro in background|centro|Selezione del lavoro in background|miniatura|600x600px]] | |||
Inoltre è conveniente che configuriate cron per far eseguire i lavori periodici in maniera indipendente dalla navigazione sul browser. Per | Inoltre è conveniente che configuriate cron per far eseguire i lavori periodici in maniera indipendente dalla navigazione sul browser. Per far eseguire le operazioni a cron dovrete innanzitutto accedere alle impostazioni di NextCloud, poi andare su ''Impostazioni di base'' e selezionate ''Cron'' per le ''Operazioni in background''. Poi digitare da terminale: | ||
e | |||
<code>sudo -u www-data crontab -e</code> | <code>sudo -u www-data crontab -e</code> | ||
Riga 418: | Riga 382: | ||
Non dimenticate di installare sui vostri dispositivi i client di Nextcloud! Grazie a questi programmi potrete '''attivare la sincronizzazione automatica''' di tutti i vostri dispositivi (mobile e desktop) e visualizzare da browser (ed eventualmente ripristinare) le versioni dei file. | Non dimenticate di installare sui vostri dispositivi i client di Nextcloud! Grazie a questi programmi potrete '''attivare la sincronizzazione automatica''' di tutti i vostri dispositivi (mobile e desktop) e visualizzare da browser (ed eventualmente ripristinare) le versioni dei file. | ||
== Configurazione dominio dinamico dyndns == | |||
Nella prima di configurazione del certificato di sicurezza abbiamo già configurato il domino per puntare al server. | |||
Dal momento che però questa guida si occupa di un NAS casalingo è molto probabile che voi abbiate un contratto con '''indirizzo IP dinamico''' (se avete un dominio statico questa parte può essere saltata). Questo comporta che in caso di riavvio del router o di una rinegoziazione della connessione con il vostro provider il vostro '''IP possa cambiare''' rendendo irraggiungibile il vostro NAS fino a che non aggiorniate l’indirizzo IP dal gestore DNS. Questo '''non è accettabile''' per un ambiente di produzione. | |||
[[File:Google-dns-select.png|alt=Selezione DNS|centro|miniatura|208x208px|Selezione DNS]] | |||
Dal momento che però questa guida si occupa di un NAS casalingo è molto probabile che voi abbiate un contratto con '''indirizzo IP dinamico'''. Questo comporta che in caso di riavvio del router o di una rinegoziazione della connessione con il vostro provider il vostro '''IP possa cambiare''' rendendo irraggiungibile il vostro NAS fino a che non aggiorniate l’indirizzo IP dal gestore DNS. Questo '''non è accettabile''' per un ambiente di produzione. | |||
Nel caso abbiate seguito il mio suggerimento e stiate utilizzando '''google domains''' accedete alla pagina di configurazione del vostro dominio e una volta selezionato andate su DNS | Nel caso abbiate seguito il mio suggerimento e stiate utilizzando '''google domains''' accedete alla pagina di configurazione del vostro dominio e una volta selezionato andate su DNS | ||
[[File:Google-dns-sintetici.png|alt=Configurazione dei DNS sintetici su google DNS|centro|miniatura|200x200px|Configurazione dei DNS sintetici su google DNS]] | |||
Una volta fatto questo cancellate ogni configurazione dei DNS, dopo di che cliccate su “'''Record sintetici'''” e configurate il vostro DNS dinamico. | Una volta fatto questo cancellate ogni configurazione dei DNS, dopo di che cliccate su “'''Record sintetici'''” e configurate il vostro DNS dinamico. | ||
Riga 440: | Riga 399: | ||
<code>/etc/default/ddclient</code> | <code>/etc/default/ddclient</code> | ||
<pre>run_ipup="false" | |||
run_daemon="true"</pre> | |||
/etc/ddclient.conf | /etc/ddclient.conf | ||
<pre>ssl=yes | |||
use=web | |||
protocol=googledomains | |||
login=LOGIN_TOKEN | |||
password=PASSWORD | |||
iltuodominio</pre> | |||
A questo punto non vi resta che '''riavviare''' ddclient con | A questo punto non vi resta che '''riavviare''' ddclient con | ||
<code>service ddclient restart</code> | <code>service ddclient restart</code> | ||
== Configurazione UPS per l'auto shutdown e mail di notifica == | |||
Se non avete un UPS APC questa parte della guida può essere saltata, infati serve un '''UPS compatibile''', in particolare quello utilizzato per il nostro test è un '''APC Back-UPS BX700U-GR'''. Se vi interessa potrete trovarlo su Amazon.it al seguente indirizzo https://amzn.to/3jbFL0E. | |||
La compatibilità è garantita con '''tutti gli UPS della APC''' dotati di '''interfaccia USB'''. Vi servirà anche un cavo USB da tipo A a tipo B. | La compatibilità è garantita con '''tutti gli UPS della APC''' dotati di '''interfaccia USB'''. Vi servirà anche un cavo USB da tipo A a tipo B. | ||
Collegate l’'''alimentazione del computer e del router''' | Collegate l’'''alimentazione del computer e del router''' all’UPS (si, anche il router, altrimenti perderete la connessione in caso di mancanza di rete e non potrete ricevere le notifiche) e il cavo USB all’UPS e al NAS. | ||
A questo punto '''collegatevi via SSH''' al vostro NAS. | A questo punto '''collegatevi via SSH''' al vostro NAS. | ||
== Configurazione apcupsd == | |||
=== Configurazione apcupsd === | |||
Per prima cosa installate <code>apcupsd</code> con | Per prima cosa installate <code>apcupsd</code> con | ||
apt-get install apcupsd | apt-get install apcupsd | ||
Riga 495: | Riga 447: | ||
systemctl status apcupsd | systemctl status apcupsd | ||
Avete finito, ora non resta che '''configurare il server mail''' per ricevere le notifiche. | Avete finito, ora non resta che '''configurare il server mail''' per ricevere le notifiche. | ||
== Configurazione del server mail == | === Configurazione del server mail === | ||
Per prima cosa modificate il file <code>/etc/aliases</code> e '''ridirigete''' tutta la posta dell’utente root e del vostro utente all’'''indirizzo di posta personale''' aggiungendo (e modificando a dovere) | Per prima cosa modificate il file <code>/etc/aliases</code> e '''ridirigete''' tutta la posta dell’utente root e del vostro utente all’'''indirizzo di posta personale''' aggiungendo (e modificando a dovere) | ||
Riga 506: | Riga 458: | ||
La configurazione del server di posta che ho scelto è '''standalone'''. Cioè il server invierà direttamente la posta. Questa scelta ha il '''vantaggio''' di non doversi preoccupare di '''configurare account per l’invio della posta''', ma se non configurate opportunamente i reverse DNS avrete la certezza che la vostra posta '''sarà inviata nello SPAM'''. Far configurare i reverse DNS su un indirizzo IP dinamico è impossibile, però non è un grande problema. Infatti potrete configurare il vostro indirizzo personale dove riceverete le mail per non mandare mai in SPAM la posta proveniente dal vostro server. | La configurazione del server di posta che ho scelto è '''standalone'''. Cioè il server invierà direttamente la posta. Questa scelta ha il '''vantaggio''' di non doversi preoccupare di '''configurare account per l’invio della posta''', ma se non configurate opportunamente i reverse DNS avrete la certezza che la vostra posta '''sarà inviata nello SPAM'''. Far configurare i reverse DNS su un indirizzo IP dinamico è impossibile, però non è un grande problema. Infatti potrete configurare il vostro indirizzo personale dove riceverete le mail per non mandare mai in SPAM la posta proveniente dal vostro server. | ||
Per prima cosa | Per prima cosa andate nella pagina di configurazione dei DNS e configurate un '''record di tipo MX''' come | ||
10 tuodominio.com | 10 tuodominio.com | ||
Riga 523: | Riga 475: | ||
e poi diamo | e poi diamo | ||
<code>dpkg-reconfigure exim4-config</code><gallery widths="300" caption="Passaggi per la configurazione del server di posta"> | |||
<code>dpkg-reconfigure exim4-config</code> | File:Exim4-configuration-1.png|alt=Configuriamo il server di posta per spedire direttamente le mail|Configuriamo il server di posta per spedire direttamente le mail | ||
File:Exim4-configuration-2.png|alt=Selezioniamo il nostro dominio per il quale vogliamo spedire la posta|Selezioniamo il nostro dominio per il quale vogliamo spedire la posta | |||
Abbiamo finito. Il '''server di posta è configurato'''. Ovviamente questa è una configurazione veramente '''base''', non possiamo inviare posta dall’esterno, non possiamo ricevere davvero posta e tutta la posta ricevuta ci verrà indirizzata all’indirizzo di posta specificato nel file alias prima. | File:Exim4-configuration-3.png|alt=Accettiamo le connessioni solamente dal computer stesso|Accettiamo le connessioni solamente dal computer stesso | ||
File:Exim4-configuration-4.png|alt=E configuriamo il server per accettare la posta solo dal nostro dominio|E configuriamo il server per accettare la posta solo dal nostro dominio | |||
File:Exim4-configuration-5.png|alt=Per carità non facciamo da relay per nessuno, altrimenti diventiamo dei bocconcini per gli spammer|Per carità non facciamo da relay per nessuno, altrimenti diventiamo dei bocconcini per gli spammer | |||
File:Exim4-configuration-6.png|alt=Anche qui non accettiamo di spedire posta per nessun altro|Anche qui non accettiamo di spedire posta per nessun altro | |||
File:Exim4-configuration-7.png|alt=Scegliete No|Scegliete No | |||
File:Exim4-configuration-8.png|alt=Salviamo tutte le mail in arrivo in /var/mail/|Salviamo tutte le mail in arrivo in /var/mail/ | |||
File:Exim4-configuration-9.png|alt=E creiamo un file di configurazione unico|E creiamo un file di configurazione unico | |||
</gallery>Abbiamo finito. Il '''server di posta è configurato'''. Ovviamente questa è una configurazione veramente '''base''', non possiamo inviare posta dall’esterno, non possiamo ricevere davvero posta e tutta la posta ricevuta ci verrà indirizzata all’indirizzo di posta specificato nel file alias prima. | |||
Però era quello che volevamo, cioè semplicemente '''ricevere le notifiche in caso di blackout''' (o altri tipi di notifiche come un fallimento dei drive individuato da smartmontools). | Però era quello che volevamo, cioè semplicemente '''ricevere le notifiche in caso di blackout''' (o altri tipi di notifiche come un fallimento dei drive individuato da smartmontools). | ||
== Configurazione del client di posta per ignorare la SPAM == | === Configurazione del client di posta per ignorare la SPAM === | ||
Come accennato precedentemente con questa configurazione praticamente tutta la posta che inviamo sarà girata nella SPAM. Bisogna configurare il provider di posta per accettarla comunque. | Come accennato precedentemente con questa configurazione praticamente tutta la posta che inviamo sarà girata nella SPAM. Bisogna configurare il provider di posta per accettarla comunque. | ||
Per esempio in '''gmail''' è sufficiente andare sulle '''impostazioni''' | Per esempio in '''gmail''' è sufficiente andare sulle '''impostazioni''' | ||
[[File:Gmail-impostazioni.png|alt=Impostazioni nell'interfaccia di gmail|centro|miniatura|Impostazioni nell'interfaccia di gmail]] | |||
e poi andare su '''Filtri''' e '''indirizzi bloccati''', scegliete il vostro dominio | e poi andare su '''Filtri''' e '''indirizzi bloccati''', scegliete il vostro dominio | ||
[[File:Gmail-filtri-e-indirizzi-bloccati.png|alt=Filtri e indirizzi gmail|centro|miniatura|500x500px|Filtri e indirizzi gmail]] | |||
Crea nuovo filtro | Crea nuovo filtro | ||
[[File:Gmail-creazione-nuovo-filtro.png|alt=Creazione nuovo filtro gmail|centro|miniatura|Creazione nuovo filtro gmail]] | |||
cliccate su '''Crea filtro''' e poi selezionate | cliccate su '''Crea filtro''' e poi selezionate | ||
[[File:Gmail-impostazioni-creazione-nuovo-filtro.png|centro|miniatura|Impostazioni del filtro]] | |||
A questo punto una volta cliccato su '''Crea filtro''' avete '''finito'''! | A questo punto una volta cliccato su '''Crea filtro''' avete '''finito'''! | ||
Riceverete tempestivamente tutte le email nella casella selezionata. In particolare in mancanza di tensione riceverete una mail da <code>root@tuodominio.com</code> con oggetto <code>hostname UPS nome_ups Power Failure !!!</code> contenente tutte le statistiche di vostro interesse. | Riceverete tempestivamente tutte le email nella casella selezionata. In particolare in mancanza di tensione riceverete una mail da <code>root@tuodominio.com</code> con oggetto <code>hostname UPS nome_ups Power Failure !!!</code> contenente tutte le statistiche di vostro interesse. | ||
Inoltre, nel caso dovesse tornare la tensione prima dello scattare della soglia di shutdown, vi verrà '''notificato l’eventuale ritorno''' della tensione con una mail con oggetto <code>hostname UPS nome_ups Power has returned</code>. | Inoltre, nel caso dovesse tornare la tensione prima dello scattare della soglia di shutdown, vi verrà '''notificato l’eventuale ritorno''' della tensione con una mail con oggetto <code>hostname UPS nome_ups Power has returned</code>. | ||
== Sistema automatico di backup con rsnapshot == | |||
Rsnapshot è un un software in grado di '''realizzare snapshot del disco''', cioè è in grado di '''memorizzare delle istantanee'''. Fa un massiccio utilizzo di '''hard link''' in modo da risparmiare molto spazio su disco, in pratica il '''file viene memorizzato una sola volta''' e se lo snapshot successivo contiene ancora il '''medesimo file non modificato''' non viene richiesta ulteriore memoria sul disco. | Rsnapshot è un un software in grado di '''realizzare snapshot del disco''', cioè è in grado di '''memorizzare delle istantanee'''. Fa un massiccio utilizzo di '''hard link''' in modo da risparmiare molto spazio su disco, in pratica il '''file viene memorizzato una sola volta''' e se lo snapshot successivo contiene ancora il '''medesimo file non modificato''' non viene richiesta ulteriore memoria sul disco. | ||
Grazie agli hard link però vi ritroverete '''ogni snapshot come una differente directory''' che contiene l’istantanea del disco esattamente come quando è stato fatto, questo significa che il '''ripristino di un backup sarà semplice''' quanto copiare una directory! | Grazie agli hard link però vi ritroverete '''ogni snapshot come una differente directory''' che contiene l’istantanea del disco esattamente come quando è stato fatto, questo significa che il '''ripristino di un backup sarà semplice''' quanto copiare una directory! | ||
== Configurazione dei dischi di backup == | === Configurazione dei dischi di backup === | ||
Potrete configurare il disco di backup come preferite, nell’ottica di questa serie di articoli sul NAS | Potrete configurare il disco di backup come preferite, nell’ottica di questa serie di articoli sul NAS definitivo con Debian e Nextcloud andremo a configurare il disco di '''backup con LVM'''. | ||
Ipotizziamo che il disco destinato al backup sia <code>/dev/sdc</code> | Ipotizziamo che il disco destinato al backup sia <code>/dev/sdc</code> | ||
Riga 563: | Riga 513: | ||
'''Cancelliamo''' tutto il contenuto del disco con | '''Cancelliamo''' tutto il contenuto del disco con | ||
<code>wipefs -a /dev/ | <code>wipefs -a /dev/sdc</code> | ||
A questo punto '''partizioniamo''' il volume con | A questo punto '''partizioniamo''' il volume con | ||
Riga 604: | Riga 554: | ||
infatti, se avremo fatto un '''errore''' e il dispositivo '''non è correttamente montato effettueremo''' il backup sul disco principale '''esaurendo rapidamente tutto lo spazio disponibile'''. | infatti, se avremo fatto un '''errore''' e il dispositivo '''non è correttamente montato effettueremo''' il backup sul disco principale '''esaurendo rapidamente tutto lo spazio disponibile'''. | ||
== Configurazione di rsnapshot == | === Configurazione di rsnapshot === | ||
Prima di iniziare la '''configurazione di rsnapshot''' è necessario fare una particolare premessa, altrimenti si andrà incontro a numerosi errori difficili da risolvere. Nel file di configurazione di rsnapshot gli '''spazi non sono validi''' per separare le variabili di configurazione è '''necessario utilizzare le tabulazioni'''. | Prima di iniziare la '''configurazione di rsnapshot''' è necessario fare una particolare premessa, altrimenti si andrà incontro a numerosi errori difficili da risolvere. Nel file di configurazione di rsnapshot gli '''spazi non sono validi''' per separare le variabili di configurazione è '''necessario utilizzare le tabulazioni'''. | ||
Riga 610: | Riga 560: | ||
Modifichiamo la snapshot_root come segue | Modifichiamo la snapshot_root come segue | ||
<code>snapshot_root /mnt/autobackup/rsnapshot/</code> | |||
Poi andiamo sotto dove sono specificati gli intervalli di backup. '''Commentiamo''' tutta la parte dove è definito il backup di tipo '''alpha, beta, gamma e delta''' e inseriamo subito prima | Poi andiamo sotto dove sono specificati gli intervalli di backup. '''Commentiamo''' tutta la parte dove è definito il backup di tipo '''alpha, beta, gamma e delta''' e inseriamo subito prima | ||
<pre>#retain hourly 24 | |||
retain daily 7 | |||
retain weekly 4 | |||
retain monthly 12</pre> | |||
In questo modo rsnapshot terrà un backup al giorno per l’ultima settimana, uno a settimana per l’ultima settimana e un backup al mese nell’ultimo anno. | In questo modo rsnapshot terrà un backup al giorno per l’ultima settimana, uno a settimana per l’ultima settimana e un backup al mese nell’ultimo anno. | ||
In fondo nella parte riguardante i '''BACKUP POINTS''' commentate tutto quello che è stato scritto di default e '''aggiungete''' i punti di backup da tenere. Inoltre settiamo uno '''script aggiuntivo''' (che andremo a creare in seguito) per effettuare il backup del database mysql. | In fondo nella parte riguardante i '''BACKUP POINTS''' commentate tutto quello che è stato scritto di default e '''aggiungete''' i punti di backup da tenere. Inoltre settiamo uno '''script aggiuntivo''' (che andremo a creare in seguito) per effettuare il backup del database mysql. | ||
<pre>backup /home/ localhost/ | |||
backup /etc/ localhost/ | |||
backup /usr/local/ localhost/ | |||
backup /root/ localhost/ | |||
backup /var/www/ localhost/ | |||
backup /mnt/data/ localhost/ | |||
backup_script /usr/local/bin/rs-mysql localhost/mysqldump/</pre> | |||
== Configurazione di script aggiuntivi == | |||
=== Configurazione di script aggiuntivi === | |||
Creiamo un file <code>/usr/local/bin/rs-mysql</code> contenente | Creiamo un file <code>/usr/local/bin/rs-mysql</code> contenente | ||
<pre>#!/bin/bash | |||
/usr/bin/mysqldump --single-transaction "d_nextcloud" > "nextcloud.sql" | |||
gzip nextcloud.sql | |||
/bin/chmod 600 nextcloud.sql.gz</pre> | |||
nel caso abbiate '''settato la password di root''' dovrete aggiungere in cima al file | nel caso abbiate '''settato la password di root''' dovrete aggiungere in cima al file | ||
Riga 639: | Riga 590: | ||
Ovviamente '''diamo i permessi''' di esecuzione per root (e impediamo la lettura ad altri utenti visto che lo script ha una password memorizzata) | Ovviamente '''diamo i permessi''' di esecuzione per root (e impediamo la lettura ad altri utenti visto che lo script ha una password memorizzata) | ||
<code>chmod 700 /usr/local/bin/rs-mysql</code> | |||
Inoltre creiamo un ulteriore file per la manutenzione ordinaria | Inoltre creiamo un ulteriore file per la manutenzione ordinaria | ||
<code>/usr/local/bin/rs-daily</code> | |||
<pre>#!/bin/bash | |||
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --on | |||
/usr/bin/rsnapshot daily | |||
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --off</pre> | |||
e aggiungiamo i permessi di esecuzione con | e aggiungiamo i permessi di esecuzione con | ||
<code>chmod +x /usr/local/bin/rs-daily</code> | |||
== Configurazione crontab == | |||
=== Configurazione crontab === | |||
Configuriamo cron per eseguire i backup con <code>crontab -e</code> | Configuriamo cron per eseguire i backup con <code>crontab -e</code> | ||
<pre>0 6 * * * /usr/local/bin/rs-daily > /dev/null | |||
0 3 * * 1 /usr/bin/rsnapshot weekly | |||
0 0 1 * * /usr/bin/rsnapshot monthly</pre> | |||
In questo modo verrà eseguito ogni giorno il backup giornaliero alle 6 si mattina, ogni lunedì alle 3 di notte il backup settimanale e ogni primo del mese all’1 un backup mensile. | In questo modo verrà eseguito ogni giorno il backup giornaliero alle 6 si mattina, ogni lunedì alle 3 di notte il backup settimanale e ogni primo del mese all’1 un backup mensile. | ||
Riga 659: | Riga 611: | ||
Comunque il '''backup settimanale e mensile è davvero veloce''' ad essere eseguito (si tratta solamente di spostare hard link), mentre il più lento è il giornaliero che deve eseguire un intero rsync e il dump del database, comunque è consigliabile lasciare un minimo di tempo (almeno 5 minuti) tra un backup e il successivo per evitare conflitti temporali. | Comunque il '''backup settimanale e mensile è davvero veloce''' ad essere eseguito (si tratta solamente di spostare hard link), mentre il più lento è il giornaliero che deve eseguire un intero rsync e il dump del database, comunque è consigliabile lasciare un minimo di tempo (almeno 5 minuti) tra un backup e il successivo per evitare conflitti temporali. | ||
== Il backup del backup offline == | |||
=== Il backup del backup offline === | |||
È inoltre importante ogni tanto (quando ci si ricorda almeno), '''eseguire un backup del backup su un supporto offline'''. Infatti questo backup automatico è sempre accessibile dal dispositivo, inoltre il disco di backup è interno al NAS stesso. | È inoltre importante ogni tanto (quando ci si ricorda almeno), '''eseguire un backup del backup su un supporto offline'''. Infatti questo backup automatico è sempre accessibile dal dispositivo, inoltre il disco di backup è interno al NAS stesso. | ||
Riga 669: | Riga 622: | ||
Io attualmente sto utilizzando rsync per copiare il backup su un disco USB esterno, per farlo utilizzo rsync con | Io attualmente sto utilizzando rsync per copiare il backup su un disco USB esterno, per farlo utilizzo rsync con | ||
rsync -aAxH --delete /mnt/autobackup/rsnapshot/ /mnt/usb/rsnapshot/ | |||
Dove <code>/mnt/usb/rsnapshot/</code> è la directory nel disco esterno montato in <code>/mnt/usb/</code>. L’attributo -H serve a mantenere gli hard link intatti e non sprecare il lavoro di risparmio di spazio prodotto da rsnapshot. | Dove <code>/mnt/usb/rsnapshot/</code> è la directory nel disco esterno montato in <code>/mnt/usb/</code>. L’attributo -H serve a mantenere gli hard link intatti e non sprecare il lavoro di risparmio di spazio prodotto da rsnapshot. | ||
== Ripristino del backup == | |||
=== Ripristino del backup === | |||
Nel caso dobbiate ripristinare il backup la procedura è piuttosto semplice. Per prima cosa stoppate apache2. Per quanto riguarda i dati è sufficiente dare un | Nel caso dobbiate ripristinare il backup la procedura è piuttosto semplice. Per prima cosa stoppate apache2. Per quanto riguarda i dati è sufficiente dare un | ||
rsync -aAx --delete /directory/backup /directory/da/ripristinare | |||
Solitamente è sufficiente ripristinare solamente la directory dei dati e quella di Nextcloud. | Solitamente è sufficiente ripristinare solamente la directory dei dati e quella di Nextcloud. | ||
Riga 679: | Riga 633: | ||
Cancellate il database e ricreatelo con | Cancellate il database e ricreatelo con | ||
<pre>DROP DATABASE d_nextcloud; | |||
CREATE DATABASE d_nextcloud;</pre> | |||
A questo punto ripristinate il backup dal file sql che troverete compresso in /mnt/autobackup/daily.x/localhost/mysqldump/nextcloud.sql.gz. Copiatelo nella vostra home ed estraetelo con | A questo punto ripristinate il backup dal file sql che troverete compresso in /mnt/autobackup/daily.x/localhost/mysqldump/nextcloud.sql.gz. Copiatelo nella vostra home ed estraetelo con | ||
gzip -d nextcloud.sql.gz | |||
A questo punto ripristinatelo con | A questo punto ripristinatelo con | ||
mysql d_nextcloud < nextcloud.sql | |||
Ora potete riavviare il webserver e avrete il backup ripristinato. | Ora potete riavviare il webserver e avrete il backup ripristinato. | ||
== Importare file esterni su Nextcloud == | == Importare file esterni su Nextcloud == | ||
Sebbene sia sempre possibile importare i file semplicemente trascinando le directory nell’interfaccia web è possibile che si abbia un grande archivio a disposizione. Magari parecchie centinaia di GB e quindi si vorrebbe importare i dati direttamente da hard drive. | Sebbene sia sempre possibile importare i file semplicemente trascinando le directory nell’interfaccia web è possibile che si abbia un grande archivio a disposizione. Magari parecchie centinaia di GB e quindi si vorrebbe importare i dati direttamente da hard drive. | ||
Per farlo è sufficiente posizionarsi nella directory destinata ai file con | Per farlo è sufficiente posizionarsi nella directory destinata ai file con | ||
/mnt/data/www/nextcloud/data/tuonomeutente/files/ | |||
A questo punto copiare i dati all’interno con un <code>cp -r /origine/ ./</code> | A questo punto copiare i dati all’interno con un <code>cp -r /origine/ ./</code> | ||
Dare i giusti permessi ai files con i primi 3 comandi, mentre con gli ultimi due facciamo digerire a nextcloud i files appena aggiunti (altrimenti non saranno visibili dall’interfaccia WEB). | Dare i giusti permessi ai files con i primi 3 comandi, mentre con gli ultimi due facciamo digerire a nextcloud i files appena aggiunti (altrimenti non saranno visibili dall’interfaccia WEB). | ||
<pre>chown -R www-data:www-data ./ | |||
find . -type d -exec chmod 755 {} + | |||
find . -type f -exec chmod 644 {} + | |||
cd /var/www/nextcloud/ | |||
sudo -u www-data php occ files:scan --all</pre> | |||
== Aggiornare le applicazioni di Nextcloud == | == Aggiornare le applicazioni di Nextcloud == | ||
Per aggiornare le applicazioni nextcloud è sufficiente dare da terminale | Per aggiornare le applicazioni nextcloud è sufficiente dare da terminale | ||
<pre>cd /var/www/nextcloud/ | |||
sudo -u www-data php occ app:update --all | |||
sudo -u www-data php occ upgrade</pre> | |||
L’ultimo passaggio non è sempre necessario, ma alcune volte l’aggiornamento di applicativi (quali mail) richiedono di mettere mano al database. | L’ultimo passaggio non è sempre necessario, ma alcune volte l’aggiornamento di applicativi (quali mail) richiedono di mettere mano al database. | ||
== Aggiornare Nextcloud == | == Aggiornare Nextcloud == | ||
Per aggiornare una minor version di Nextcloud è sufficiente dare | Per aggiornare una minor version di Nextcloud è sufficiente dare | ||
<pre>cd /var/www/nextcloud/ | |||
sudo -u www-data php updater/updater.phar | |||
sudo -u www-data php occ upgrade</pre> | |||
Invece per aggiornare una major version bisogna andare (dall’interfaccia web) su Impostazioni, Riepilogo e impostare come canale di aggiornamento Beta | Invece per aggiornare una major version bisogna andare (dall’interfaccia web) su Impostazioni, Riepilogo e impostare come canale di aggiornamento Beta | ||
A questo punto fornire i comandi di cui sopra. Una volta completato l’aggiornamento ripristinare la versione Stabile. | A questo punto fornire i comandi di cui sopra. Una volta completato l’aggiornamento ripristinare la versione Stabile. | ||
Ok, questo è quanto per la manutenzione ordinaria, per informazioni più specifiche è sempre bene fare riferimento al | Ok, questo è quanto per la manutenzione ordinaria, per informazioni più specifiche è sempre bene fare riferimento al [https://docs.nextcloud.com manuale d’uso]. | ||
== Problemi noti == | |||
Nel caso in cui ci siano problemi nell'uso di occ per via di <code>apc</code> si può aggiungere <code>--define apc.enable_cli=1</code> alla command line, oppure modificare il file | |||
<code>/etc/php/7.4/cli/conf.d/20-apcu.ini</code> | |||
Aggiungendo la riga | |||
apc.enable_cli=1 | |||
{{Autori | |||
|Autore = [[Utente:Marcomg|marcomg]] | |Autore = [[Utente:Marcomg|marcomg]] | ||
|Verificata_da = | |Verificata_da = [[Utente:Adri|Adri]] 14:21, 27 Mar 2022 | ||
|Estesa_da = | |Estesa_da = | ||
|Numero_revisori= | |Numero_revisori=1 | ||
}} | }} | ||
[[Categoria:Condivisione risorse]] | [[Categoria:Condivisione risorse]] |