Installazione di un Mail Server con Mailcow
Che cos’è il server di posta elettronica Mailcow?
Mailcow è una soluzione server di posta elettronica open source che semplifica la configurazione dei servizi di posta elettronica su Linux. È specificamente progettato per l’esecuzione all’interno di server containerizzati, integrando componenti chiave come un agente di trasferimento della posta, un client di posta elettronica e funzionalità di sicurezza, il tutto in un unico sistema.
Mailcow è essenzialmente una raccolta di contenitori Docker che eseguono varie applicazioni di server di posta, tra cui (ma non solo) SOGo, Postfix e Dovecot. Ogni contenitore rappresenta una singola applicazione e sono tutti collegati in una rete bridged.
Offre un’interfaccia web moderna e intuitiva, nota come Mailcow UI, che fornisce un’interfaccia semplice e facile per configurare quasi tutte le impostazioni e le attività amministrative, come ad esempio la creazione semplice di nuovi domini e indirizzi email con pochi clic.
Tutti i dati, come email e dati utente, sono archiviati in volumi Docker. Questa configurazione rende Mailcow una scelta solida e semplice per chi cerca una soluzione di server email self-hosted.
Come installare il server di posta elettronica SMTP in Ubuntu
Se non hai intenzione di inviare troppe email, allora è meglio usare un servizio email di terze parti, in quanto è generalmente più economico che mantenere e gestire un server email privato.
Se sei determinato a configurare il tuo server di posta elettronica, ti consigliamo di installarlo su un VPS separato dai tuoi siti web. In questo modo, se qualcuno hackerasse il tuo sito web, non sarebbe in grado di accedere alle tue e-mail e ai tuoi dati utente.
Come accennato, utilizzeremo Mailcow come server di posta elettronica, quindi iniziamo assicurandoci che il nostro computer soddisfi i seguenti requisiti minimi affinché il processo di installazione proceda senza intoppi:
- Processore: 1 GHz
- RAM: minimo 6 GiB + 1 GiB di swap (configurazione predefinita)
- Disco di avvio: 20 GiB (senza e-mail)
- Architettura: x86_64, ARM64
Puoi effettuare il provisioning del tuo server da qualsiasi provider cloud che soddisfi questi requisiti. In questo tutorial, utilizzeremo un’istanza di Ubuntu 22 su Hetzner. Una volta che la tua macchina è in funzione, devi effettuare l’accesso al tuo server tramite la riga di comando e installare Docker.
Alcuni provider potrebbero bloccare le porte in uscita per prevenire lo spam, quindi assicurati di configurare le impostazioni del firewall per consentire le connessioni TCP in entrata su tutte le seguenti porte: 25, 465, 587, 143, 993, 110, 995, 4190, 80 e 443.
Su Hetzner, dovrai inviare una richiesta speciale per sbloccare le porte 25 e 465 andando alle impostazioni del server e passando alla scheda di rete. In questa schermata, vedrai un pulsante etichettato ‘Richiedi porte di sblocco’.
Quando clicchi sul pulsante ‘Richiedi porte di sblocco’, vedrai una finestra di dialogo che ti chiederà di giustificare la necessità di questa azione. Nella casella di testo fornita, spiega perché hai bisogno di un server di posta elettronica e invia la richiesta: la maggior parte delle richieste viene approvata automaticamente entro un minuto.
Per utilizzare MailCow e configurare correttamente i DNS del dominio e necessario utilizzare CLoudfare oppure aggiungere i Record direttamente dal pannello di controllo del provider dominio.
Impostazione del dominio della dashboard
Una volta che hai un server attivo e funzionante, è il momento di impostare i tuoi record DNS. Sebbene questa azione possa essere rimandata a dopo, ti consigliamo di farlo prima perché la propagazione DNS richiede tempo.
Vai alla dashboard del tuo registrar DNS e aggiungi i record A/AAAA pertinenti per la dashboard del tuo server di posta elettronica per indirizzare questo dominio alla tua macchina. Dopo aver impostato il server di posta, i tuoi utenti dovranno visitare questo sito Web per inviare e leggere le email.
Nota: questo dominio può essere un nome di dominio completamente separato e completamente qualificato oppure un sottodominio del tuo dominio esistente, non ha importanza.
Installazione di Mailcow
Prima di procede all’installazione dobbiamo installare Docker sul nostro server quindi segui i seguenti passaggi per installare Docker, io utilizzerò Ubuntu 24 per questa guida. Utilizza i seguenti comandi per avviare la condigurazie di Docker:
sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update
Dopo ever installato docket continua con l’installazione di Mail cow.
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Accedi al tuo server con privilegi di root e avvia il processo di installazione di Mailcow eseguendo i seguenti comandi:
cd /opt git clone https://github.com/mailcow/mailcow-dockerized cd /opt/mailcow-dockerized ./generate_config.sh
I comandi soprastanti scaricheranno e memorizzeranno i file necessari per avviare l’installazione sul tuo server. Se hai eseguito correttamente i comandi soprastanti, la riga di comando ti chiederà di immettere il nome di dominio che hai configurato nel passaggio precedente. Dopo aver immesso il nome di dominio, ti verrà chiesto di specificare alcune impostazioni di base come il fuso orario e il ramo di sviluppo.
Inserisci il tuo fuso orario, o premi semplicemente ‘Invio’ per usare le impostazioni predefinite. Poi, premi ‘1‘ per usare la versione stabile e poi premi ‘Invio’: questo scaricherà i file necessari per avviare l’installazione. Infine, esegui i seguenti comandi per scaricare ed eseguire i contenitori docker:
docker compose pull docker compose up -d
Dopo aver eseguito i comandi Docker sopra indicati, vedrai che tutti i container necessari sono stati avviati.
Impostazione della dashboard
Una volta che i tuoi contenitori Docker sono attivi e funzionanti, puoi visitare la pagina principale della dashboard di Mailcow nel tuo browser utilizzando il nome di dominio specificato in precedenza. In questa schermata, vedrai una pagina di accesso per l’account amministratore predefinito:
le credenziali di amministratore sono admin e moohoo.
Quando accedi per la prima volta alla tua dashboard, vedrai una pagina di statistiche per il tuo server che mostra informazioni diagnostiche di base come l’utilizzo della CPU, l’utilizzo della memoria e tutti i servizi attualmente in esecuzione.
Configurazione del dominio della posta in arrivo
Nella dashboard di Mailcow, ora puoi iniziare ad aggiungere diversi nomi di dominio per le tue caselle di posta elettronica. Fai clic sul menu a discesa Email e seleziona Configurazione. Nella scheda domini, puoi fare clic su “Aggiungi dominio” e seguire le istruzioni sullo schermo per configurarlo.
Dopo aver inserito tutte le informazioni, ti verrà chiesto di configurare i record DNS per questo dominio. Vai alla dashboard del tuo registrar DNS e crea tutti i record richiesti utilizzando i valori forniti da Mailcow.
Impostazione utente
Dopo aver aggiunto un dominio di posta in arrivo al tuo server di posta, puoi iniziare a usarlo immediatamente creando nuovi account utente. Passa alla scheda utenti e clicca su “Aggiungi utente” per creare un nuovo account.
Nella schermata successiva puoi inserire il tuo nome utente, il nome completo, una password di accesso e configurare altre impostazioni e-mail, come il limite di velocità o il protocollo che può essere utilizzato per accedere al tuo indirizzo e-mail.
Configurazione Webmail
Dopo aver aggiunto utenti al tuo server, puoi aprire la dashboard SOGo cliccando su App > Webmail. Dopo aver cliccato su Webmail, ti verrà mostrato un modulo di login, dove puoi inserire l’indirizzo email e la password che hai appena creato.
Una volta effettuato l’accesso al tuo account di posta elettronica, puoi iniziare a utilizzarlo normalmente per inviare e ricevere email.
Conclusione
Impostare un server di posta elettronica su Ubuntu può essere un compito complesso, ma con gli strumenti e la guida giusti diventa del tutto gestibile. Abbiamo esaminato il processo di installazione di un server di posta elettronica Mailcow, che offre una soluzione solida e semplice per coloro che cercano un server di posta elettronica self-hosted.
Tuttavia, è importante notare che se si prevede di inviare meno email, utilizzare un servizio email di terze parti potrebbe essere una soluzione più efficiente e conveniente. Questi servizi spesso offrono una migliore recapitabilità, scalabilità semplificata e supporto dedicato, il che può far risparmiare molto tempo e fatica a lungo termine.
Se necessiti assistenza all’installazione e configurazione puoi contattarmi nella sezione contatti.