Configurazioni per il serverone

Table of Contents

Elenco di configurazioni che uso sul serverone, sia da utente che di sistema.

Per commenti e suggerimenti scrivere a leandro@firenze.linux.it

Dimenticavo la stupidaggine della licenza: tutto questo è totalmente nel pubblico dominio.

1. Connessione al server mail don emacs/mu4e e offlineimap   Personali 

Il server mail del serverone è gestito da Opensmtpd configurato con ssl sulla porta 465 e Dovecot per lo scarico sempre con ssl sulla porta 993: per scaricare la posta mi connetto all’onion service relativo impostato sul server tor del serverone.

1.1. Offlineimap

Uso Offlineimap per lo scarico con una configurazione di questo tipo nel file ~/.offlineimaprc

[Account coraggio]
localrepository = CoraggioLocale
remoterepository = CoraggioRemoto

[Repository CoraggioLocale]
Type = Maildir
localfolders = ~/Posta/coraggio

[Repository CoraggioRemoto]
type = IMAP
ssl = yes
# remotehost = mx.firenze.linux.it
remotehost = 24dtj4gotxyvzhulnoebkpj32gnhbr7sfljyrmycip3qtzn4ns4bgkyd.onion
remoteuser = leandro
remotepass = LaPassword
cert_fingerprint = DB:07:20:C5:00:15:46:14:74:01:00:18:6C:2C:EA:9D:F8:4A:45:67
folderfilter = lambda foldername: foldername in ["INBOX", "Archivio", "Bozze", "Cestino", "Inviata", "Junk", "sistema"]

Per scaricare la posta uso un comando del tipo

torify offlineimap -a coraggio

Un’accortezza da considerare: ogni tot il certificato del server deve essere aggiornato e quindi si deve di conseguenza aggiornare la fingerprint indicata nel file di configurazione, cosa che faccio con un comando del tipo

openssl s_client -connect firenze.linux.it:993 < /dev/null 2>/dev/null | openssl x509 -fingerprint -sha256 -noout -in /dev/stdin

Che mi dà come risultato (in questo momento):

sha256 Fingerprint=41:CC:E0:6F:F5:21:AC:27:37:E8:68:77:DE:A0:B5:EE:9C:BD:80:C4:AE:84:44:5D:DC:D5:5C:5F:83:19:E8:63

1.2. emacs/mu4e

Per leggere e spedire l’email (in verità anche per fare molto altro) uso Emacs e mu4e.

La configurazione di emacs è una questione che non sono proprio in grado di spiegare perché la capisco poco anch’io.

Per mu4e uso l’opzione dei Contexts per impostare nome, indirizzo e server di ricezione con questa configurazione:

(setq mu4e-compose-context-policy 'always-ask)
(setq mu4e-contexts
       ;; Serverone
       (make-mu4e-context
        :name "Serverone"
        :enter-func (lambda () (mu4e-message "Comincio Serverone"))
        :leave-func (lambda () (mu4e-message "Finisco Serverone"))
        :vars '(
                ( mu4e-drafts-folder . "/coraggio/INBOX.Bozze")
                ( mu4e-sent-folder   . "/coraggio/INBOX")
                ( mu4e-trash-folder  . "/coraggio/INBOX.Cestino")
                ( mu4e-refile-folder . "/coraggio/INBOX.Archivio")
                ( user-mail-address  . "leandro@firenze.linux.it")
                ( user-full-name     . "Leandro Noferini" )
                ( mu4e-get-mail-command        . "torify offlineimap -a coraggio" )
                ( message-send-mail-function   . smtpmail-send-it )
                ( smtpmail-stream-type         . ssl )
                ( smtpmail-default-smtp-server . "mx.firenze.linux.it" )
                ( smtpmail-local-domain        . "firenze.linux.it" )
                ( smtpmail-smtp-server         . "mx.firenze.linux.it" )
                ( smtpmail-smtp-service        .  465)
                ( mu4e-compose-signature .
                                         (concat
                                          "Ciao\n"
                                          "Leandro\n") )
                )  ;; vars
           )
       )
      )

La password per la connessione è salvata nel file ~/.authinfo:

machine mx.firenze.linux.it login leandro password SempreLaMiaPassword

2. Controllo del traffico di rete con vnstat   Sistema

Considerato che il serverone è ospitato presso un’abitazione privata, con una connessione di tipo “domestico” credo sia necessario tenere d’occhio il traffico generato.

Per adesso sto utilizzando semplicemente vnstat (dal pacchetto debian) con un semplice job di crontab che mi invia quotidianamente il conteggio del traffico.

Il risultato è qualcosa di questo genere (considerato che l’ho appena installato e quindi i dati sono aggiornati a poco fa):

                      rx      /      tx      /     total    /   estimated
 Flug:
       2026-03    556.99 KiB  /    1.37 MiB  /    1.92 MiB  /    3.08 GiB
         today    556.99 KiB  /    1.37 MiB  /    1.92 MiB  /    4.76 MiB

 GolemIPv6:
       2026-03         552 B  /    1.84 KiB  /    2.38 KiB  /    1.53 MiB
         today         552 B  /    1.84 KiB  /    2.38 KiB  /       4 KiB

 enp1s0:
       2026-03    868.87 KiB  /    2.59 MiB  /    3.44 MiB  /    5.53 GiB
         today    868.87 KiB  /    2.59 MiB  /    3.44 MiB  /    8.55 MiB

 enp2s0:
       2026-03           0 B  /         0 B  /         0 B  /     --     
         today           0 B  /         0 B  /         0 B  /     --     

 enp3s0:
       2026-03           0 B  /         0 B  /         0 B  /     --     
         today           0 B  /         0 B  /         0 B  /     --     

Spiegazione delle voci:

  • Flug è la vpn che collega il serverone al vps (frontiera) che ci fornisce l’ip statico;
  • GolemIPV6 è la vpn del Golem che ci dà un’ulteriore indirizzo IPv6;
  • enp1s0 è la scheda ethernet collegata alla rete casalinga, quindi la connessione da tenere realmente sotto controllo;
  • enp2s0 e enp3s0 sono altre due schede di rete presenti sull’hardware ma non utilizzate.

3. Backup remoto della $HOME   Personali Backup

Ho necessità di tenere un backup remoto della mia home sul serverone visto che il supporto di questa non è delle più affidabili: link al resoconto della riunione.

Però era per me necessario evitare di usare la chiave ssh privata che sta sul serverone per collegarmi al server remoto, perché, essendo il serverone senza un mio controllo diretto, volevo evitare che fosse questo a fare connessioni all’esterno ma che le ricevesse.

Inoltre ho a disposizione un NAS casalingo sempre acceso e che quindi posso usare come origine delle connessioni.

Ho quindi installato sul NAS rsnapshot dal pacchetto debian e l’ho configurato con il seguente file di configurazione, copiando quello di default con leggere modifiche (che elenco):

config_version	1.2

snapshot_root           /srv/dev-disk-by-uuid-f640bbbf-7534-4a52-a17e-4a1d1845dd0f/HomeCoraggio/

cmd_cp		/usr/bin/cp

cmd_rm		/usr/bin/rm

cmd_rsync	        /usr/bin/rsync

cmd_ssh	        /usr/bin/ssh

cmd_logger	        /usr/bin/logger

cmd_du		/usr/bin/du

retain	        alpha	6
retain	        beta	7
retain	        gamma	4
retain	        delta	3

verbose		2

loglevel	        3

lockfile                /srv/dev-disk-by-uuid-9418021a-1564-4c99-9947-193bfcde0fc3/Home/leandro/.config/rsnapshot/rsnapshot.pid

ssh_args	        -p 222

# Coraggio
backup	        leandro@firenze.linux.it:/home/leandro/*	home_coraggio/

Ho quindi creato una chiave ssh per l’utente del NAS della quale ho copiato la chiave pubblica sul serverone (al quale è possibile collegarsi solo via chiave).

Infine ho creato il seguente compito di crontab:

0 */4 * * *     rsnapshot -c .config/rsnapshot/rsnapshot.conf alpha
50 23 * * *     rsnapshot -c .config/rsnapshot/rsnapshot.conf beta
50 22 * * 6     rsnapshot -c .config/rsnapshot/rsnapshot.conf gamma
50 21 1 * *     rsnapshot -c .config/rsnapshot/rsnapshot.conf delta

Con questa configurazione:

  • ho un backup fatto ogni 4 ore del quale ne vengono mantenute 6 copie;
  • un backup giornaliero del quale ne vengono tenute 7 copie;
  • un backup settimanale del quale ne vengono tenute 4 copie;
  • un backup mensile del quale ne vengono tenute 3 copie.

4. Note

Pagina modificata lunedì 2 novembre 2026

Author: Leandro Noferini

Created: 2026-11-02 lun 19:38