De Raspberry Pi biedt een basis voor veel nuttige en ook leerzame projecten. Zo kan je hem gebruiken voor domotica of er een mediacenter op inrichten. Bovendien kan er ook een mailserver op de Raspberry Pi worden geïnstalleerd. Als je op de kleine computer een Raspberry Pi e-mailserver inricht, leer je niet alleen de structuur en werking van de noodzakelijke programma’s kennen, maar krijg je ook meer controle over je berichten.
Maar geen licht zonder schaduw en dat geldt ook voor de privé-mailserver. Vooral problemen met het versturen van berichten behoren tot de nadelen van een eigen e-mailserver. Wij geven je helderheid over de gebruiksmogelijkheden, zetten de voor- en nadelen van zo’n server op een rij en laten in onze tutorial zien hoe je de Raspberry Pi als mailserver inricht.
Voor je met de inrichting van de Raspberry Pi-mailserver begint, moet je je het volgende realiseren: een zelfstandig opgezette e-mailserver is normaal gesproken geen gelijkwaardige vervanging voor een mailserver van een commerciële e-mailprovider. Dat komt vooral door het feit dat de meeste internettoegangen geen statisch IP-adres gebruiken. Om een mailserver te kunnen laten werken, moet hij natuurlijk aangesloten zijn op het internet. Een professionele e-mailserver maakt hiervoor gebruik van een internetverbinding die minstens één statisch (vast) IP-adres heeft. Dit onveranderlijke adres voor internettoegang garandeert dat de server permanent adresseerbaar en bereikbaar is.
De meeste internetaansluitingen beschikken echter alleen over een dynamisch IP-adres – het adres wordt dus steeds veranderd (meestal uiterlijk na 24 uur). Dit beperkt de mogelijkheden van het versturen van berichten via de eigen mailserver enorm: de ontvangende e-mailserver beschouwt berichten die via een internetverbinding met een dynamisch IP-adres zijn verstuurd vaak als spamberichten. Dit komt onder andere omdat spammers vaak gebruikmaken van dynamische IP-adressen om hun hinderlijke berichten te versturen. Het steeds wisselende adres voorkomt dat spammers kunnen worden gelokaliseerd. Bovendien komen e-mails die direct vanaf een computer en zijn dynamische IP-adres zijn verstuurd vaak niet van de computer zelf, maar van malware die in het systeem is geïnfiltreerd.
Veel spamfilters van e-mailservers beschouwen hierdoor wisselende IP-adressen in het algemeen als onbetrouwbaar. Daarom is een internetaansluiting met een dynamisch IP-adres voor het versturen van berichten via een mailserver slechts tot op zekere hoogte geschikt.
Ook de e-mailserver op Raspberry Pi die in deze tutorial wordt gepresenteerd, is in dit opzicht geen volwaardige mailserver. Hij kan met enkele veranderingen en/of maandelijkse extra kosten wel worden geüpgraded tot een conventioneel werkende e-mailserver.
De problemen met een dynamisch IP-adres vormen het grootste nadeel van het inrichten van een eigen mailserver. Het is daarom niet raadzaam om zo’n server te gebruiken als dagelijkse e-mailserver; de meeste van jouw berichten zouden in de spambox van de ontvanger belanden. Maar ook wanneer hij niet je huidige e-mailservice vervangt, kan een eigen mailserver op Raspberry Pi de moeite waard zijn.
Als je geïnteresseerd bent om meer over de configuratie en het beheer van een mailserver te weten te komen, is het zeker de moeite waard om een eigen e-mailserver op te zetten. Hiervoor bestaat er nauwelijks een betere en goedkopere leeromgeving dan de Raspberry Pi. Met een eigen mailserver kan je ook in een intern netwerk (bijvoorbeeld binnen een bedrijf of organisatie) de absolute data-integriteit over je mails behouden. Een mailserver in een lokaal netwerk garandeert dat de uitgewisselde informatie alleen wordt opgeslagen op de harde schijven van de afzender, de ontvanger en je mailserver.
In een tijd waarin privacybescherming een hot item is, biedt een eigen interne mailserver een veilige mogelijkheid om je berichten op te slaan. Zo hebben alleen de netwerkbeheerders toegang tot het volledige e-mailarchief – en niet de e-mailprovider via wiens mailserver berichten worden verstuurd. Hieronder vind je een uitgebreide lijst van de voor- en nadelen van een eigen Raspberry Pi-mailserver.
Natuurlijk heb je op zijn minst een e-mailadres nodig waarover je vrij kan beschikken. Hiervoor registreer je een domein. Omdat wij ervan uitgaan dat je (zoals gebruikelijk is) beschikt over een dynamisch IP-adres, leggen wij hieronder uit hoe je een mailserver op je Raspberry Pi installeert met zo’n IP-adres.
Voor een Raspberry Pi e-mailserver heb je naast de kleine computer nog het volgende nodig:
Je kan ook een ander opslagmedium (zoals een USB-stick of een externe harde schijf) gebruiken als je meer opslagruimte op je Raspberry Pi-mailserver wilt hebben.
Om te zorgen dat een mailserver onafgebroken online is, moet hij altijd onder hetzelfde adres op internet toegankelijk zijn. Hiervoor dient een statisch IP-adres voor je internetverbinding, maar dat is vaak niet beschikbaar. Je kan ook gebruikmaken van diensten die (vaak gratis) dynamische DNS (DDNS) aanbieden. Met DDNS geeft je jouw mailserver een domeinnaam. Met behulp van een programma wordt deze domeinnaam dan altijd gekoppeld aan het actuele IP-adres van je internetverbinding en fungeert zo als permanent mailserveradres. In verschillende netwerkrouters is zo’n functie al geïntegreerd (bijv. in een Fritz!Box-router); hoe je een DDNS instelt, kan je lezen op de site van de fabrikant.
Voor je daadwerkelijk begint met het inrichten van de mailserver, leg je eerst een statisch privé-IP-adres binnen je netwerk vast voor de Raspberry Pi. Een mailserver wordt net als een website aangestuurd via een IP-adres op het netwerk. Om altijd voor alle andere e-mailservers bereikbaar te zijn, moet de server altijd hetzelfde adres hebben. Dit vaste IP-adres binnen een lokaal netwerk moet niet worden verward met het eerder besproken statische IP-adres van een internettoegang.
In je lokale netwerk heeft de Raspberry Pi-mailserver een statisch privé-IP-adres om op elk moment alle uit- en ingaande e-mails te kunnen beheren. Omdat de Raspberry Pi echter in je lokale netwerk gewoonlijk alleen een dynamisch IP-adres toegewezen heeft gekregen, geef je de Raspberry Pi nu een statisch IP-adres.
Om het lokale IP-adres van de Raspberry Pi te veranderen, moet je eerst het huidige (dynamische) IP-adres weten. Je kan het IP-adres zien door bijvoorbeeld op de desktop van het besturingssysteem Raspbian met de muis over het internetsymbool te navigeren. In onze tutorial gebruiken wij 192.168.0.3 als het oorspronkelijke dynamische IP-adres van de Raspberry Pi.
Klik met de rechtermuisknop op het internetsymbool, selecteer de wifi-instellingen en klik in het nu verschijnende venster bij het vervolgkeuzemenu op ‘eth0’. Voer de eerste drie (door punten van elkaar gescheiden) getallenreeksen van het IP-adres in het hiervoor bedoelde veld in – in ons voorbeeld 192.168.0. Vul in het overgebleven laatste veld een getal in dat nog niet aan een ander apparaat in je netwerk is gegeven (in het algemeen zijn alle getallen boven de 100 gereserveerd voor statische IP-adressen). In onze tutorial gebruiken wij hier het IP-adres 192.168.0.101. Nadat je het statische privé-IP-adres hebt ingesteld, start je de Raspberry Pi opnieuw op.
In de volgende stap stel je de mailserver op de Raspberry Pi in. Wij gebruiken hiervoor de Groupware Citadel/UX die SMTP als mailserver ondersteunt en een IMAP- en POP3-server bevat. Citadel biedt naast een webmail-gebruikersinterface ook een kalender, adresboek en takenlijst.
Voer de instellingen uit in de terminal en update alle reeds geïnstalleerde pakketten met de volgende commandoregels:
sudo apt-get update
sudo apt-get upgrade
Citadel is zo ingesteld dat IPv4 en IPv6 worden gebruikt als transferprotocols. Zodra het programma signaleert dan IPv6 niet beschikbaar is, wordt het installatieproces afgebroken. Activeer daarom dat protocol met het commando:
sudo modprobe ipv6
en installeer daarna Citadel met de volgende commandoregel:
sudo apt-get install citadel-suite
In het volgende scherm stel je in dat de server op alle adressen wacht op aanvragen door het standaardadres 0.0.0.0 te accepteren. Verdere opdrachtprompts volgen waarmee je kan instellen dat je gebruikmaakt van een interne database voor het beheer van het wachtwoord van Citadel. Vervolgens leg je de admin-gebruikersnaam vast (hier kan je gewoon het voorgestelde ‘admin’ overnemen) en het bijbehorende wachtwoord.
Nu moet je beslissen of je Citadel met de interne (in de groupware meegeleverde) webserver Webcit wilt gebruiken of een al geïnstalleerde Apache-webserver aan Citadel wilt koppelen. De laatste is een verstandige optie als je onze tutorial voor het inrichten van een Apache-webserver op de Raspberry Pi hebt voltooid. Wij leggen hier uit hoe een interne webserver wordt ingesteld en gaan ervan uit dat je kiest voor het gebruik van de algemeen geadviseerde poorten voor een mailserver (stel poortdoorgifte in voor HTTP-Port 80 en HTTPS-Port 443). Tot slot selecteer je de taal waarin de Webcit-webserver moet werken.
Start nu Citadel in de terminal met dit commando:
sudo service citadel start
Voer in je webbrowser het statische privé-IP-adres van je Raspberry Pi in (in ons voorbeeld 192.168.0.101), waarna de Citadel-mailserver opent. Je kan nog niet inloggen in het programma, omdat je eerst moet instellen dat Citadel niet IPv6, maar IPv4 moet gebruiken.
Hiervoor ga je opnieuw in de terminal, roep je met het commando
sudo /usr/lib/citadel-server/setup
nogmaals de Citadel-setup op en log je in als admin. Je blijft de gebruikersnaam ‘citadel’ gebruiken en voert het adres 0.0.0.0 wederom in. De rest van de setup-instellingen kunnen onveranderd worden overgenomen. Start tot slot Citadel opnieuw op, zodat alle veranderingen worden opgeslagen.
Wanneer je een volgende keer Citadel in de browser via het IP-adres van de Raspberry Pi opent, zou je je nu ook met je admin-gebruikersnaam en het bijbehorende wachtwoord moeten kunnen aanmelden. Kies in het menu eerst in het linkerveld ‘Administration’ en klik bij ‘Edit system settings’ op ‘Global configuration’. In deze tutorial stellen we alleen het Simple Mail Transfer Protocol (SMTP) in dat je nodig hebt om berichten te versturen. Voor het ontvangen en ophalen van berichten dien je op dezelfde wijze ook IMAP of POP3 nog te configureren.
Selecteer ‘SMTP’. Hier zie je drie poorten die de Citadel-mailserver gebruikt. Om deze te kunnen gebruiken, moet je eerst zorgen dat ze ook zijn vrijgegeven door je router. Noteer de drie poortnummers en configureer vervolgens je router.
Wanneer je het adres niet weet, voer je in de Windows-opdrachtprompt het commando ‘ipconfig’ in en roep je het adres op dat onder ‘Standaardgateway’ staat; meestal is dit 192.168.0.1 of 192.168.178.1. Log nu in op de configuratiepagina van de router. Als je in het verleden nog niet je gebruikersnaam en wachtwoord hebt gepersonaliseerd, vind je op RouterPasswords.com veel modellen en hun standaardinstellingen. Zodra je in de configuratie-instellingen van de router bent, ga je naar het menu voor de poortdoorgifte (‘port forwarding’). Hier voer je het IP-adres van de Raspberry Pi in, inclusief de nummers van de drie poorten. Je moet ook nog port 80 creëren voor je webmail-interface. Nu zijn alle basisfuncties in Citadel geconfigureerd en kan het programma dienstdoen als mailserver op je Raspberry Pi.
Om de Raspberry Pi-mailserver permanent online toegankelijk te maken via een adres moet je je aanmelden bij een DDNS-service, daar een domeinnaam registreren en deze verbinden met Citadel. De domeinnaam moet je registreren als ‘DNS Host (A)’ met je huidige IP-adres, dat je van jouw provider toegewezen hebt gekregen. Dit IP-adres kan je bijvoorbeeld vinden op www.whatsmyip.org of bij vergelijkbare online services.
Wanneer je de geregistreerde domeinnaam hebt ingevoerd in je browser, opent de pagina van je Citadel-mailserver. Nu hoef je alleen nog in het menu onder ‘Administration’ ‘Domain names and Internet mail configuration’ op te roepen. Hier vul je onder ‘Aliases for this machine’ de domeinnamen in en voeg je deze toe. Ga tot slot via ‘Administration’ in het menu naar ‘Edit system preferences’. Hier verwijder je eerst de ‘node name’ en voer je in plaats daarvan onder ‘Fully qualified domain name’ jouw domeinnaam in. Wanneer je nu de instellingen hebt opgeslagen, klik je nogmaals op ‘Administration’ en kies je daar de herstart van de Citadel-mailserver.
Nu is het zover: jouw eigen mailserver op Raspberry Pi is klaar voor gebruik en kan via de geïnstalleerde webmailer worden gebruikt. Je kan hem natuurlijk ook met een ander e-mailprogramma gebruiken (Thunderbird, Outlook, enz.) en Citadel met andere functies uitbreiden.
Wanneer je de Raspberry Pi als mailserver gebruikt in combinatie met een internetaansluiting met een statisch IP-adres kom je zo dicht mogelijk in de buurt van een professionele e-mailserver. In dat geval is het raadzaam om niet alleen de hierboven genoemde noodzakelijke instellingen (PTR- en MX-record) uit te voeren, maar ook een SPF resource record (SPF-record) en DKIM (DomainKeys) te installeren. Dit verkleint de kans dat uitgaande mails van jouw Raspberry Pi e-mailserver door andere mailservers als spam worden beoordeeld. Maar zoals vermeld, moet een mailserver altijd eerst een reputatie opbouwen, zodat de berichten die via hem zijn verstuurd minder vaak als spam worden aangezien en dit is moeilijk te bereiken met een privé-mailserver, die relatief weinig wordt gebruikt.
Als je internettoegang alleen een dynamisch IP-adres heeft, kan je de mailserver op de Raspberry Pi via DDNS tenminste met de basisfuncties inrichten – zelfs als je mails waarschijnlijk vaak in de spambox van de ontvanger belanden. Daarom is het belangrijk om regelmatige ontvangers van je berichten te laten weten dat ze de spamfilter zo configureren dat jouw mails niet in de spambox terechtkomen. Dit is meestal alleen de moeite waard als er een overzichtelijke groep door jouw Raspberry Pi-mailserver moet worden bereikt (bijvoorbeeld binnen een bedrijf, werkgroep, enz.). De inrichting van een interne mailserver loont echter vooral de moeite wanneer alle deelnemers verbonden zijn via hetzelfde lokale netwerk.
Een van de grote voordelen van een eigen mailserver zonder verbinding met een e-mailprovider is de absolute data-integriteit. Wanneer je er niet zoveel belang aan hecht om een eigen e-mailserver te kunnen opzetten en beheren, zijn de inspanningen en de kosten van het toezicht en het updaten van de server nauwelijks de moeite waard. In dat geval kan je voor je e-mailverkeer beter gebruikmaken van een grotere mailprovider. Anderszins hebben vooral mensen die geïnteresseerd zijn in de techniek en ervan willen leren profijt van een privé-mailserver om zo met de Raspberry Pi de techniek achter een e-mailserver te leren begrijpen.