
Benvenuti all'ultima puntata della nostra serie. Dopo aver costruito e configurato il nostro server domestico con Nextcloud, oggi completiamo il sistema aggiungendo una soluzione di backup robusta e accennando alla gestione email self-hosted.
Obiettivo della puntata: Implementare un sistema di backup affidabile per tutti i nostri dati e servizi, e comprendere le basi dell'hosting email autonomo con i suoi pro e contro.
1. Perché il backup è fondamentale
Il backup dei dati è spesso trascurato fino a quando non si verifica un disastro. Ecco perché è essenziale:
Protezione da guasti hardware: I dischi rigidi hanno una vita limitata
Protezione da errori umani: Cancellazioni accidentali o configurazioni errate
Protezione da malware e ransomware: Attacchi che possono cifrare o danneggiare i dati
Conformità: Molte professioni richiedono backup regolari dei dati clienti
Regola d'oro del backup 3-2-1: Mantenere 3 copie dei dati, su 2 supporti diversi, di cui 1 conservata off-site.
2. Strategia di backup completa
Implementiamo una strategia a più livelli per proteggere tutti i nostri dati:
Backup dei dati utente (Nextcloud):
# Script per backup Nextcloud (nextcloud-backup.sh) #!/bin/bash # Configurazione BACKUP_DIR="/backup/nextcloud" DATE=$(date +%Y%m%d_%H%M%S) NC_DIR="/var/www/nextcloud" DB_USER="nextclouduser" DB_PASS="password_molto_sicura" DB_NAME="nextcloud" # Creazione directory backup mkdir -p $BACKUP_DIR/$DATE # Modalità manutenzione Nextcloud sudo -u www-data php $NC_DIR/occ maintenance:mode --on # Backup database mysqldump --single-transaction -h localhost -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/$DATE/nextcloud-sqlbkp_$DATE.bak # Backup file Nextcloud rsync -Aavx $NC_DIR/ $BACKUP_DIR/$DATE/nextcloud-dirbkp/ # Disattivazione modalità manutenzione sudo -u www-data php $NC_DIR/occ maintenance:mode --off # Eliminazione backup più vecchi di 30 giorni find $BACKUP_DIR/* -type d -ctime +30 -exec rm -rf {} \; echo "Backup completato: $BACKUP_DIR/$DATE"
Automazione del backup con Cron:
# Aggiungere al crontab (sudo crontab -e) 0 2 * * * /path/to/nextcloud-backup.sh
3. Backup configurazioni del server
Oltre ai dati, è cruciale backup delle configurazioni:
# Script per backup configurazioni (config-backup.sh) #!/bin/bash # Directory backup BACKUP_DIR="/backup/config" DATE=$(date +%Y%m%d) CONFIG_BACKUP="$BACKUP_DIR/server-config_$DATE.tar.gz" # Elenco directory importanti da backupare tar -czf $CONFIG_BACKUP \ /etc/nginx \ /etc/ssh \ /etc/letsencrypt \ /etc/fail2ban \ /home/*/.ssh \ /root/.ssh \ /var/log \ 2>/dev/null # Eliminazione backup più vecchi di 90 giorni find $BACKUP_DIR/* -type f -ctime +90 -exec rm -rf {} \; echo "Backup configurazioni completato: $CONFIG_BACKUP"
4. Soluzioni di backup off-site
Implementiamo backup esterni per la regola 3-2-1:
Utilizzo di Rclone per backup cloud:
# Installazione Rclone curl https://rclone.org/install.sh | sudo bash # Configurazione (seguire il wizard) rclone config # Sincronizzazione backup con cloud esterno rclone sync /backup/nextcloud remote:backup-server -P --transfers 10
Backup su disco esterno:
# Script per backup su disco esterno (external-backup.sh) #!/bin/bash # Verifica se il disco esterno è montato if mountpoint -q /mnt/backup-disk; then rsync -av --delete /backup/ /mnt/backup-disk/ echo "Backup su disco esterno completato" else echo "Disco esterno non montato" fi
5. Introduzione all'email self-hosted
Hosting della propria email è complesso ma possibile. Ecco cosa considerare:
Avvertenza: L'email self-hosted è avanzato e richiede manutenzione costante. Molti provider bloccano email da server residenziali. Valutate soluzioni ibride.
Componenti di un server email:
MTA (Mail Transfer Agent): Postfix, Exim
MDA (Mail Delivery Agent): Dovecot
Filtri antispam: SpamAssassin, Rspamd
Filtri antivirus: ClamAV
Webmail: Roundcube, RainLoop
6. Configurazione email base con Postfix e Dovecot
Installazione minima per testing o uso interno:
# Installazione pacchetti base sudo apt install postfix dovecot-imapd dovecot-pop3d # Durante l'installazione di Postfix, selezionare "Internet Site" # e inserire il vostro dominio
Configurazione base Postfix (main.cf):
# /etc/postfix/main.cf myhostname = mail.tuodominio.com mydomain = tuodominio.com myorigin = $mydomain mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 home_mailbox = Maildir/
Configurazione base Dovecot:
# /etc/dovecot/conf.d/10-mail.conf mail_location = maildir:~/Maildir
7. Soluzioni ibride per l'email
Per evitare problemi di deliverability, considerate soluzioni ibride:
Incoming: Usare il vostro server per ricevere email
Outgoing: Usare un servizio SMTP relay come SendGrid, Mailgun o Amazon SES
Vantaggi: Maggiore affidabilità nell'invio e meno rischi di blacklist
8. Monitoraggio e manutenzione del server
Strumenti per tenere sotto controllo il server:
Installazione di Cockpit per gestione web:
sudo apt install cockpit sudo systemctl enable --now cockpit.socket sudo ufw allow 9090
Monitoraggio con netdata:
bash <(curl -Ss https://my-netdata.io/kickstart.sh) sudo ufw allow 19999
Script di manutenzione automatica:
# Script manutenzione (maintenance.sh) #!/bin/bash # Aggiornamento sistema apt update && apt upgrade -y # Pulizia pacchetti non necessari apt autoremove -y apt autoclean -y # Rotazione log logrotate -f /etc/logrotate.conf # Riavvio servizi principali systemctl restart nginx systemctl restart php8.2-fpm systemctl restart mysql
9. Checklist di manutenzione regolare
Giornaliera: Verifica backup, controlla log, verifica spazio disco
Settimanale: Aggiornamento pacchetti, pulizia system, verifica sicurezza
Mensile: Test restore backup, verifica certificati SSL, audit sicurezza
Trimestrale: Verifica hardware, aggiornamento major software, review configurazioni
10. Conclusioni della serie
In questa serie abbiamo costruito insieme un server domestico completo e sicuro:
Valutazione hardware e pianificazione
Installazione di Debian 13
Configurazione della sicurezza di base
Accesso remoto sicuro con SSH
Reverse proxy con Nginx e SSL
Installazione di Nextcloud come cloud privato
Backup e soluzioni email (questa puntata)
Ora avete un sistema completo sotto il vostro controllo, che rispetta la vostra privacy e vi libera dai servizi cloud commerciali.
Ricordate: Un server richiede manutenzione costante. dedicate del tempo ogni mese per verificare che tutto funzioni correttamente e che i backup siano integri.
Risorse utili
Community: Forum Debian Italiano
Documentazione: Nextcloud Documentation
Sicurezza: CERT-Bund Advisory
Monitoraggio: Netdata GitHub
Hai domande o bisogno di chiarimenti?
Lascia un commento qui sotto con le tue domande! Continuerò a risponderti anche dopo la serie.
Grazie per aver seguito la serie! Spero che il vostro server domestico vi dia soddisfazione e vi liberi dai vincoli dei servizi cloud commerciali.
Iscriviti alla newsletter per eventuali aggiornamenti futuri e nuovi tutorial!