Kör din egen Open Source Email Server

Vad du ska skapa

Om tiden för Edward Snowdens NSA PRISM-uppenbarelser började jag utforska alternativa e-postsystem. Australiensbaserad FastMail fångade min uppmärksamhet på grund av en väns rekommendation och de till synes bättre integritetsskyddet som sitt hemland erbjöd:

"Australien har inte något som motsvarar USA: s nationella säkerhetsbrev, så vi kan inte tvingas göra något utan att tillåtas avslöja det."

En del av FastMails servrar är dock värd i USA och e-post kan äventyras på flera olika sätt. Oavsett om du använder en tredjepartstjänst eller värd din egen e-post, om integritet och säkerhet är dina viktigaste problem, måste du bygga dina färdigheter på flera nivåer.

Jag har inga illusioner att självhäftande ditt e-postmeddelande kommer att hålla regeringen från att läsa den om den vill. Till exempel fick Amazon nyligen ett kontrakt på 600 miljoner dollar för att driva CIA: s molntransaktioner. Men det kommer att göra det lite svårare och uppmuntra open source innovatörer att flytta plattformar mot en mer privat och säkrare värld.

Om du minimerar kostnaderna är din oro, kom ihåg att köra din egen e-postserver inte kommer att vara gratis. Det kan enkelt kosta mellan $ 7 och $ 15 per månad eller mer beroende på din konfiguration. Och jag rekommenderar starkt att du kör en dedikerad instans eller att servera bland andra appar på samma server kan exponera ditt mail till en mängd olika hot.

En sådan plattform som jag började experimentera med är iRedMail, en öppen källkods e-postserverlösning som körs på vanliga Linux-system. iRedMail buntar RoundCube, en öppen källkod webmail klient. Tillsammans ger båda ett ganska anständigt Gmail-alternativ. Och iRedMail stöder IMAP och POP så att du kan köra den med en mängd olika smartphone- och tablet-appar och stationära mailklienter.

I den här handledningsserien går jag igenom grunderna för att installera och konfigurera iRedMail och RoundCube. Om du vill ha ytterligare hjälp, erbjuder iRedMail också en premium administrativ konsol och betalad installation och support.

Låt dig inte lura dig för att tro att det här blir lika enkelt som att springa på WordPress. Det är inte. Förutom frågor om säkerhet och integritet måste du övertyga andra mailservrar för att lita på din mail-server. Så du skulle vilja skicka några e-postmeddelanden (via kod) beskriver en del av komplexiteten att hantera denna utmaning, inklusive konfigurering av Reverse PTR och DomainKeys Identified Mail.

Översikt över iRedMail-funktioner

iRedMail är en gratis, fullfjädrad, öppen källkods e-postserverlösning. Det ger en enkel automatiserad installationsprocedur och körs på sju versioner av Linux: Red Hat Enterprise Linux, CentOS, Scientific Linux, Debian, Ubuntu, FreeBSD och OpenBSD. Det är ett open source-projekt licensierat enligt GPLv2.

Med iRedMail kontrollerar du dina egna data. Alla dina personuppgifter finns på din server, inte på tredje part. Mail kan lagras med antingen PostgreSQL, MySQL eller OpenLDAP.

För postsändning och leverans tillhandahåller SMTP via Postfix och använder Dovecot för att tillhandahålla POP3 / POP3S och IMAP / IMAPS. Det tillhandahåller flera lager anti-spam och hot skydd, inklusive Amavisd, SpamAssassin, ClamAV och Fail2ban.

Här är en vy som representerar den övergripande iRedMail-arkitekturen:


Bildkredit: http://workaround.org/ispmail/lenny/bigpicture

Det ger integrerad webbmail via Roundcube, som har sitt eget utvecklingssamhälle som tillhandahåller teman och plugins.

Här är en komplett lista över RoundCube-funktioner.

Installera iRedMail

Konfigurera operativsystemet

Nu går jag igenom installationen av iRedMail med MySQL på Ubuntu 14.x. Jag använder den här guiden för att installera och konfigurera Ubuntu på Digital Ocean, med en primär skillnad. Istället för att använda LAMP-stacken i fliken Program, vill vi använda standard Ubuntu 14.04-installationen i distributioner fliken, som visas nedan under installationsprocessen:

Naturligtvis kan du använda en generisk virtuell server som du önskar.

Om du använder 512MB minnesinstansen, vill du skapa en swap-fil (bläddra till Konfigurera din droppe), Annars kommer antivirusprogrammet sannolikt att krascha och förhindra postleverans.

Konfigurera ditt domännamn

När du har fått din IP-adress måste du mappa ditt domännamns DNS till IP-adressen. Och du behöver en sekundär domän för posttjänsterna. 

Till exempel använder jag red.lookahead.me som underdomän för min installation - det är mitt primära serverns värdnamn:

red.lookahead.me A 104.236.52.19

Men under installationen kommer iRedMail också att kräva en postserverdomän eller underdomän. Jag använder mailserver.lookahead.me:

mailserver.lookahead.me A 104.236.52.19

Viktigt: Välja dina domäner

Jag valde domänerna ovan för demonstrationsändamål, och dessa val återspeglas i skärmdumparna under hela installationsprocessen.

Ett annat sätt att konfigurera iRedMail är att ställa in din server med värdnamn mail.yourexampledomain.com och ta emot email på din rotdomän. Så, när du skapar serverns förekomst anger du värdnamnet som mail.yourexampledomain.com. Och, när du uppmanas av iRedMail för din virtuella server, ange rotdomänen.

Med andra ord: istället för red.lookahead.me, konfigurera värdnamnet som mail.yourexampledomain.com. I stället för mailserver.lookahead.me, specificera yourexampledomain.com.

Det här låter dig logga in på Roundcube webbmail på http://mail.yourexampledomain.com och skicka och ta emot email från [email protected] direkt ur rutan.

Självklart måste du också lägga till MX-poster med din domännamnregistrator för din valda domän för att skicka meddelanden till din iRedMail-server. Här är ett exempel:

lookahead.me. 1800 MX red.lookahead.me. 10

Se även Setup DNS-poster för din iRedMail-server.

Kör installationsprogrammet iRedMail

Vi kör iRedMail-installationen från \ root. Så först laddar vi ner koden och tar ut den från BitBucket-arkivet:

cd / root wget https://bitbucket.org/zhb/iredmail/downloads/iRedMail-0.9.0.tar.bz2 tar xjf iRedMail-0.9.0.tar.bz2

Då kör vi installationsskriptet:

cd iRedMail-0.9.0 bash iRedMail.sh 

iRedMail kommer att börja gå dig igenom installationsguiden. Du kan ofta acceptera standardsvaren.

Först kan du ställa in en sökväg för postlådan: 

Då kan du välja om du ska använda Nginx eller Apache:

Därefter kan du välja din postbutik. Vi använder MySQL för den här demonstrationen:

Ange ett lösenord för MySQL Server administratörskonto:

Ange sedan ditt sekundära domännamn för postservern, inte ditt server värdnamn. Jag använder mailserver.lookahead.me:

Ange ett lösenord för administratörens användarkonto:

Det kompletterar den ursprungliga konfigurationen. En fil kommer att skrivas till /root/iRedmail-0.9.0/config vilket måste säkras men kan behövas för att hänvisa till:

Klicka på Fortsätt för att starta den faktiska automatiserade installationsprocessen. När det är klart visas dina serveradresser för att använda Roundcube och administratörspanelen iRedAdmin. 

Grattis, du är redo att starta iRedMail. Starta om servern och låt oss kolla vad vi har skapat.

Använda Roundcube

I din webbläsare besöker du din webbadress, t.ex. http://yourexampledomain.com/mail. Du kommer att hälsas med Roundcube-inloggningsskärmen.

När du loggar in ser du Roundcube-brevlådkonsolen:

Klick Komponera att skicka ditt första meddelande:

Vi kommer att utforska Roundcube och dess anpassningsalternativ ytterligare i en kommande handledning.

Administrera iRedMail

Låt oss nu undersöka administrationspanelen för iRedMail. Besök http://yourexampledomain.com/iredadmin för att se inloggningspanelen för back-end:

När du loggar in ser du iRedAdmin Dashboard:

Här kan du hantera domäner och konton som är konfigurerade för din e-postserver:

Och du kan hantera administratörer:

Använda Lägg till menyn kan du lägga till användare:

Vad kommer härnäst?

I nästa handledning går jag igenom ytterligare konfigurationer av iRedMail och utforskar dess administrativa back-end-konsol.

Vänligen skicka några kommentarer, korrigeringar eller ytterligare idéer nedan. Du kan bläddra i mina andra Tuts + handledning på min instruktörssida eller följa mig på Twitter @ reifman.

relaterade länkar

  • iRedMails hemsida och dokumentation
  • RoundCube webbplats
  • Så här installerar du din egen privata e-postserver i molnet
  • Så du skulle vilja skicka några e-post (via kod)