Creare un proprio server di posta elettronica


Google con GMAIL, Microsoft con Hotmail/Outlook forniscono account di posta elettronica gratuita ma le mail vengono analizzate e utilizzate a fini di marketing.
Se desiderassimo mantenere le nostre mail fuori da questi giri, come è possibile fare?
Potremmo optare per una soluzione casalinga o privata.

Non è una cosa comune costruirsi un mail server, ma con un po’ di conoscenze è possibile predisporre un ambiente funzionale per gestire il flusso mail di qualche utente ad un costo contenuto.

Se si disporre di un indirizzo IP fisso per la propria linea Internet, si può ospitare il server di posta a casa, altrimenti con una decina di euro al mese (o anche meno) si possono acquistare dei VPS (virtual private server) sui quali predisporre il nostro server di posta.
Nel nostro caso optiamo per un VPS con Ubuntu 18.04, che offre aggiornamenti di sicurezza per parecchi anni.

Come risorse disponibili è sufficiente 1 GB di RAM e 1 CPU, anche un Raspberry Pi va bene. Invece per lo spazio disco, beh…Questo dipende dalle vostre necessità: calcolando che circa 5 GB di spazio disco sono necessari per il sistema operativo, altri 10 GB sono sufficienti se si usa una politica di svecchiamento delle vecchie mail e degli allegati, in un ambiente con 7-8 account mail attivi.

E’ possibile acquistare una VPS a 11,80 euro l’anno con 1536 MB di RAM e 10 GB di disco su AlexHost.com, scegliendo il piano PROMO KVM VDS 0.99/mo con pagamento annuale. In alternativa con circa 44 euro l’anno, si può avere una VPS su OVH VPS 2018 SSD 1 da 2 GB di RAM e 20 GB di disco.

Acquistata il VPS oppure predisposto il nostro server casalingo, si può installare l’ecosistema posta elettronica con uno script predisposto di mailinabox.email che fa uso di certificati TLS Let’s Encrypt, gratuiti.

Lo script prevede che sul server che andremmo ad usare non ci siano altri software (es. Apache) o servizi installati se non quelli previsti dall’installazione mimimal di Ubuntu 18.04, perchè mailinabox andrà ad installare Nginx e altri componenti come Postfix, Dovecot e Nextcloud.

La prima cosa da fare è assegnare un hostname appropriato al server. Se andremmo a creare un account di posta come @pyroplastic.stream, potremmo decidere di chiamare il nostro server posta.pyroplastic.stream.

Il nome del mail server deve essere risolvibile dai nostri DNS e da quelli su Internet; per assegnare un hostname definitivo e permanente occorre inserire tale nome nel file /etc/HOSTNAME

sudo echo posta.pyroplastic.stream > /etc/hostname

Verifichiamo tramite il comando hostname che il nome del server sia corretto.

hostname
hostname --fqdn

Aggiorniamo il server con gli ultimi pacchetti disponibili:

sudo apt update && sudo apt upgrade

Poi riavviamo il server, in modo che il kernel e altri software possano girare all’ultima versione.

Successivamente si può lanciare lo scaricamento dello script e la conseguente installazione:

wget https://mailinabox.email/setup.sh
sudo bash setup.sh

Lo script ad un certo punto inizierà a mostrare delle schermate in cui vengono chieste alcune informazioni:

Ora è possibile aggiungere il primo account di posta da attivare sul nuovo mail server. Questo account sarà necessario per accedere anche alla console di gestione.

Nella successiva schermata, viene chiesto di inserire l’hostname del proprio server:

Se si è presa una VPS su Internet, può essere che venga chiesto quale è l’indirizzo IP pubblico del server, solitamente il campo è precompilato già in maniera corretta.

Viene chiesto di impostare il fuso orario (time zone), basta scegliere Europe e poi Rome.

Durante l’installazione, è possibile vedere quale indirizzo IP viene assegnato al server. In questo caso, il server è posto in una rete privata (casalinga) con un indirizzo pubblico associato (indirizzo di NAT).

Invece se il server ha già un suo indirizzo pubblico, viene mostrato solo questo:

Viene chiesto di fornire una password per il proprio account, da usare anche per fare login sul pannello di controllo.

Una volta terminata la configurazione è possibile collegarsi alla console di gestione tramite la pagina web https://posta.pyroplastic.stream/admin, dove posta.pyroplastic.stream è il nome del nostro mail server.

Colleghiamaoci al pannello di gestione di Mail-in-a-Box:

Per aggiungere un nuovo account di posta, basta andare nella sezione mail poi users

Aggiungiamo un account, es. rosa:

Aggiunto l’utente, possiamo entrare nella sua webmail (roundcube) su https://posta.pyroplastic.stream/mail/

Oltre alla webmail è possibile configurare l’account anche su un mail client come Thunderbird.

I valori da usare sono questi (ovviamente posta.pyroplastic.stream va cambiato col vostro hostname):

OpzioneValore
ProtocoloIMAP
Mail serverposta.pyroplastic.stream
IMAP Port993
IMAP SecuritySSL or TLS
SMTP Port587
SMTP Security STARTTLS (“always” or “required”, se richiesto)
Username:L’intero indirizzo mail es. rosa@pyroplastic.stream
Password:La password dell’utente

Configurare un certificato TLS

Per configurare un certificato TLS (SSL) si può usare Let’s Encrypt. Basta andare nel meù System, TLS (SSL) Certificates.

Cliccando sul pulsante Provision, sarà possibile attivare il certificato.

Dopo pochi secondi compare una schermata che segnala che il certificato è ok. Il certificato ha una durata di 89 giorni, ma sarà rinnovato automaticamente in futuro.

Accedere a Nextcloud

Mail-in-a-Box, oltre a predisporre un server di posta elettronica, installa anche NextCloud uno software che consente di tenere aggiornati i propri contatti oppure di caricare i file personali sul server come se fosse Dropbox o Owncloud.

Per accedere al proprio NextCloud basta puntare all’indirizzo: https://posta.pyroplastic.stream/cloud/ e fare login con le stesse credenziali dell’account di posta: es. rosa@pyroplastic.stream

Questo server mail è ospitato su AlexHost.com, in particolare abbiamo scelto il PROMO KVM VDS 0.99/mo, che consente di avere una VPS con 1536MB RAM e 10 GB di spazio disco ad un prezzo contenuto.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *