Raspberry Pi può essere utilizzato per una moltitudine di progetti. Come ad esempio la realizzazione di: un media center, di un server VPN o DNS o, addirittura, per creare una Android TV box. Questa single board è dunque l'ideale per realizzare tutta una serie di servizi "fai da te" a basso costo.
Nella guida di oggi ci focalizzeremo sull'installazione e configurazione di una soluzione software avanzata come un server mail all'interno di un Raspberry Pi.
Vantaggi e svantaggi di un mail server personale
Sfruttare un mail server personale consente all'utente di avere un maggiore controllo sulla posta elettronica e di proteggere meglio la propria privacy. Di solito infatti, nei normali servizi di Web mail i messaggi ed i relativi allegati rimangono immagazzinati sui sistemi Cloud delle aziende che offrono tali soluzioni. Quindi nel caso di data leak l'utente è esposto a possibili furti di dati e a manomissioni dei servizi connessi all'indirizzo email compromesso.
Ecco perché moltissime aziende scelgono di non affidarsi alle comuni Web mail ma salvano tutta la propria posta elettronica nei server aziendali. Ciò tramite una configurazione simile a quella che andremo a descrivere in questo tutorial.
Ovviamente un server mail personale ha anche degli svantaggi. Infatti proprio come la Web mail può essere l'obbiettivo di un attacco informatico e, in assenza di backup, la vittima di un'intrusione può perdere l'intera cronologia delle proprie conversazioni ed i file inviati e ricevuti come allegato. Inoltre il device dove è ospitato il tutto deve avere sempre uno spazio disco sufficiente per contenere i nuovi messaggi in arrivo o in uscita. Altrimenti il servizio smette di funzionare.
Senza contare che per essere utilizzato anche da altri utenti, su più dispositivi, è necessario che questo server sia sempre accessibile ed operativo, quindi dovrà rimanere continuamente acceso. Ecco perché oggi è sempre più comune affidarsi a Raspberry Pi per questo genere di progetti.
Oltretutto per poter funzionare correttamente il dispositivo deve aver associato un indirizzo IP statico ed univoco. Spesso nei normali contratti consumer gli ISP (Internet Service Provider) non forniscono un IP statico di base, questo infatti deve essere richiesto a parte ed in certi casi è un servizio a pagamento.
La guida non si dilungherà eccessivamente sui dettagli tecnici della richiesta di un IP statico, né sulla configurazione del dominio personale che identifica il server mail. Ci focalizzeremo invece sulla configurazione base di tale soluzione software all'interno di una distribuzione Linux ospitata su Raspberry Pi.
Requisiti hardware
Per realizzare questo tipo di progetto consigliamo l'acquisto di un Raspberry Pi 4 e di una microSD da almeno 64GB di storage. Cosi da dare tutto lo spazio necessario sia al sistema operativo, Raspberry Pi OS, che ai messaggi ed agli allegati che ospiteremo al suo interno.
Inoltre consigliamo di utilizzare un cavo ethernet cat 6 per connettere il dispositivo al router, cosi da assicurare delle performance di rete ottimali.
Installare il server mail Citadel su Raspberry Pi
Dopo aver ottenuto: il nostro IP statico, il dominio personale ed una volta terminata la configurazione di Raspberry Pi OS, si può passare all'installazione vera e proprio dei pacchetti software del nostro server mail.
In questa guida ci affideremo al programma open source chiamato Citadel. Tale applicativo supporta i protocolli: SMTP (Simple Mail Transfer Protocol), IMAP (Internet Message Access Protocol) e POP3 (Post Office Protocol). Citadel è classificabile come un bundle di programmi, infatti offre funzionalità di: calendario, rubrica, instant messaging, RSS aggregation, blogging e bulletin board. Inoltre dispone del supporto a più domini da una comoda Web interface con cui amministrare il tutto senza dover per forza affidarsi alla CLI (Command Line Interface).
Iniziamo la configurazione del server mail accertandoci che Raspberry Pi OS sia aggiornato correttamente con gli ultimi update disponibili sui repository ufficiali. Invochiamo quindi il gestore di pacchetti APT (Advanced Packaging Tool), ovvero quello di riferimento in tutti i sistemi derivati da Debian, tramite shell:
sudo apt update && sudo apt upgrade
Ora assicuriamoci che il nostro sistema sfrutti il protocollo IPv6:
sudo modprobe ipv6
e successivamente procediamo con l'installazione vera e propria di Citadel e delle sue dipendenze:
sudo apt install citadel-suite
In seguito al download il wizard di configurazione dal programma ci guida nella prima configurazione di base. Immettiamo come default address il valore "0.0.0.0" ed in seguito indichiamo al software di sfruttare un database interno, che viene autogenerato, per la gestione delle password. Infine non dimentichiamoci di scrivere, quando richiesto dal programma, le nostre credenziali d'accesso.
Citadel dispone di un proprio Web server interno, chiamato Webcit, ma può anche essere impostato in modo tale da sfruttare il più comodo e completo Apache.
Configurazione del server mail Citadel su Raspberry Pi
Ora è arrivato il momento di avviare il demone di Citadel tramite systemd:
sudo service citadel start
a questo punto la Web interface di Citadel è disponibile digitando nella barra degli URL del browser:
http://IPdelRaspberryPi
se non ricordate l'IP locale del device potete sfruttare questo pratico comando:
hostname -I
come output dovrebbe essere visualizzata una stringa simile a questa:
192.168.1.11
Se l'interfaccia Web di Citadel si carica correttamente significa che fino ad ora tutto è andato a buone fine.
Adesso lanciamo la configurazione del Web server digitando:
sudo /usr/lib/citadel-server/setup
ed eseguiamo il login con le credenziali immesse in precedenza. Anche in questo caso come indirizzo dovremo inserire 0.0.0.0. Il resto delle configurazioni può essere lasciato con la selezione di default.
Siamo ora pronti per configurare un server mail SMTP. Torniamo nella Web interface di Citadel, eseguiamo il login e rechiamoci sul pannello chiamato "Administration", clicchiamo quindi su "Edit System Setting" sotto la voce "Global Configuration". Adesso dal menu delle opzioni scegliamo "SMTP" ed immettiamo tutti i dati richiesti del dominio mail configurato in precedenza.