Artikel top billede

(Foto: Computerworld)

Byg et elektronisk posthus - del 5

Indtil videre har serien mest haft system-administratorens interesse, og posthuset virker endnu ikke fra brugerens synspunkt. I dette sidste afsnit sætter vi brugeren i centrum, når vi kigger på et webmail-system.

Af Kenneth Geisshirt, Alt om Data

Denne artikel er oprindeligt bragt på Alt om Data. Computerworld overtog i november 2022 Alt om Data. Du kan læse mere om overtagelsen her.

To computere på internettet udveksler elektronisk post ved hjælp af protokollen smtp, mens postprogrammer som Thunderbird og Outlook bruger protokollerne imap eller pop til at hente beskeder fra serveren. Det gør webmail til en lidt underlig størrelse, for ideen er nemlig, at slutbrugeren bruger protokollen http (eller https) til at hente og sende beskeder.

Webmail er en web-applikation. Det vil sige, at formålet er, at den afvikles i et samspil mellem en web-server (for eksempel Apache) og en web-browser (for eksempel Firefox).

Der findes mange forskellige webmail-applikationer, også under open source-licenser. Mange internet-udbydere (isp’ere) har deres egne hjemmeudviklede webmail-applikationer, og Google er kendt for sin tjeneste Gmail. Med Microsoft Exchange har du også mulighed for at slå webmail til, og her forsøger web-applikationen at ligne Outlook så meget som muligt.

Fordelen ved en webmail-applikation er, at du ikke behøver at have en computer med dig på rejser for at læse og sende e-mails. Finder du en netcafe, kan du bevare kontakten med familie, venner og kolleger.

Rejser du ikke hele tiden, kan du også bruge webmail på anden vis. I dagens Danmark lukker de fleste arbejdspladser for alle porte på nær portene 80 og 443 i deres firewall – i udadgående retning.

Det betyder, at du ikke kan læse og sende private e-mails fra dit sædvanlige postprogram. Men da portene 80 og 443 er åbne, kan du komme til din post, hvis dit posthus tilbyder webmail. Bruger du post 433 (https), kan din arbejdsgiver ikke læse med i din private post, da forbindelsen mellem din web-browser og dit posthus er krypteret.

De mere kendte og udbredte web-applikationer under open source-licenser i dag er Horde, SquirrelMail og Round Cube. Horde er et stort, kompleks system, og det er meget mere end blot webmail. Horde har også kalender, notesbog og meget andet. SquirrelMail er derimod en minimalistisk webmail-applikation som kun kan én ting.

Roundcube

Roundcube passer godt sammen med resten af posthuset i denne serie. Der er tale om en mellemting – ikke minimalistisk som SquirrelMail, ikke så mange andre funktioner som i Horde. Programmet er under aktiv udvikling, og det fokuserer på at give en dynamisk og responsiv oplevelse til slutbrugerne ved at anvende Web 2.0/Ajax-teknologier.

På en tekniske side bruger Roundcube en database til at gemme opsætninger eller lignende i. MySQL er en af de understøttede databaser, og dit posthus har allerede MySQL installeret. Som webserver er Apache med php-udstøttelse meget fint, og igen har du store dele klar allerede på dit posthus.

Modsat mange andre webmail-applikationer, understøtter Roundcube brugen af OpenPGP og s/mime. Det betyder, at du kan kryptere og/eller digitalt underskrive dine e-mail, med for eksempel GNU Privacy Guard (som bruger den generelle, åbne OpenPGP-standard til at kryptere e-mails med).

Installation

Fundamentet til det elektroniske posthus er Debian GNU/Linux. Det er et styresystem, som er rigt på softwarepakker til alverdens anvendelser. Du er naturligvis heldig med Roundcube, idet der findes en række Debian-pakker. Det gør installationen meget lettere.

Du kan med kommandoen sudo apt-get install roundcube-core roundcube-mysql installere Roundcube. Den første pakke (roundcube-core) er selve webmail-applikationen, mens den anden pakke (roundcube-mysql) er database-laget i applikationen.

Som du kan se, er MySQL valgt i denne artikel, men både SQLite og PostgreSQL er mulige. Eftersom MySQL allerede er installeret på din posthus-server, er det naturligt at bruge MySQL til Roundcube.

Under installationen vil Debians pakkesys-tem stille dig et par spørgsmål. De handler om MySQL og oprettelse af en database til Roundcube.

Opsætninger

Desværre modarbejder Vbox.adm og Roundcube lidt hinanden, så du skal rette dine Apache-konfigurationsfiler noget til. Problemet forekommer særligt, hvis du vil køre alle dine web-applikationer under samme servernavn. Eftersom Apache er rigtig god til massiv hosting med mange virtuelle webservere på én ip-adresse, er det nok værd at overveje. Men til posthuset i denne artikel er der kun et servernavn.

Som det første skal du fjerne to konfigurationsfiler fra folderen /etc/apache2/conf.d. Filerne ligger ikke i denne folder – der er tale om et symbolsk link. Du fjerner dem med kommandoen sudo rm vboxadm roundcube, efter du har skiftet til folderen med kommandoen cd /etc/apache2/conf.d.

Du skal nu rette lidt i filen /etc/vboxadm/apache.conf. Filen skal virkelig barberes og i infoboks /etc/vboxadm/apache.conf finder du den nye fil. Grunden til, at så meget er fjernet, er, at du om lidt inkluderer filen i en generel opsætning, hvilket gør de andre konfigurationslinjer overflødige. Ændringen medfører, at du nu vil finde Vbox.adm på adressen http://posthus.aod.dk/vboxadm/vboxadm.

Roundcube har også en konfigurationsfil til Apache. Den finder du som /etc/roundcube/apache.conf. Her er ændringen ikke så stor, idet du skal fjerne en havelåge (#) foran de to første linjer (dem, der begynder med Alias). Du kan i boksen Udsnit af /etc/roundcube/apache.conf se, hvordan de to linjer skal se ud.

Apache skal kende og bruge de to konfigurationsfiler. Det kan du let og elegant gøre ved at bruge Include-direktivet. I filen /etc/apache2/sites-available/default finder du opsætningen af det primære website på serveren. Det er også det eneste website i dette tilfælde. I slutningen af denne fil (før linjen </VirtualHost>) skal du indsætte to Include-direktiver. Du finder linjerne i boksen Udsnit af /etc/apache2/sites-available/default.

For at få Apache til at bruge alle dine nye indstillinger skal du genstarte Apache med kommandoen sudo /etc/init.d/apache2 restart.

Det sker, at man ikke er tilfreds med opsætningen af et program. Roundcube har konfigurationsfiler liggende i folderen /etc/roundcube, og du kan rette i dem med en almindelig editor. Det er også muligt at bruge kommandoen sudo dpkg-reconfigure roundcube-core. På den måde vil du igen udføre de konfigurationstrin, som normalt udføres under installationen.

Programmet dpkg-reconfigure er udviklet til pakkesystemet under Debian GNU/Linux, og du kan bruge det sammen med alle de pakker, du har installeret. Bruger du Debian-varianter som Ubuntu Linux, findes kommandoen også.

Slutbrugeren

Roundcube er et postprogram skrevet i en kombination af php og javascript og bruger MySQL (eller en anden database). Fokus er at give slutbrugeren en god oplevelse ved at tilbyde et væld af funktioner, som samtidig skal være lette at bruge. Umiddelbart ser oversættelsen af Roundcube til dansk ud til at fungere fint, men enkelte steder mangler der en dansk tekst. Har du tid og lyst, er jeg sikker på, at Roundcube-udviklerne vil være glade for bidrag til den danske oversættelse.

Du logger ind ved at pege din browser mod url’en http://posthus.aod.dk/roundcube, hvis din server hedder posthus.aod.dk. Brugernavn og kodeord får slutbrugeren af administratoren. Som du husker fra tidligere, oprettes brugere og postkasser gennem Vbox.adm. Det betyder, at brugernavne er brugerens primære e-mail-adresse.

Efter du har logget ind, ser du din indbakke. Til venstre finder du alle dine imap-foldere. Klikker du på en besked, får du beskeden vist, og du kan skrive et svar.

Der er mulighed for en række personlige indstillinger, herunder om du ønsker at sende i html (default er at sende i almindelig tekst). Skriver du teksten i html, får du ikoner til at aktivere for eksempel fed skrift. Der er gode muligheder for at sætte Roundcube op, så det passer til den enkelte bruger, for eksempel kan du sætte identiteter op, så du kan have forskellige e-mail-adresser og signaturer.

Endvidere er der en adressebog indbygget i Roundcube. Der er tale om en basal adressebog, som ikke indeholder andet end navne og e-mail-adresser. Når du vil skrive en e-mail, vil Roundcube hjælpe dig med at finde e-mail-adressen ved hjælp af kaldenavnet.

Der er en række plugins og temaer/skins til Roundcube. Hvert plugin forsøger at løse et lille problem og giver ofte kun en lille udvidelse af Roundcube. Men ved at plukke de plugins, som passer til din brug, kan du få den webmail-applikation, som du ønsker dig.

Alternativer

I denne serie har det valgte styresystem været Debian GNU/Linux. Det er der flere årsager til. For det første er Debian GNU/Linux open source, hvilket betyder, at du frit kan bruge systemet til, hvad du ønsker. Mange før dig har installeret Debian, og det har gjort systemet til et meget robust styresystem.

At det koster gratis, har da også en betydning. Debian GNU/Linux understøtter mange platforme, og det er ikke helt umuligt at ominstallere en billig nas-boks med Debian. Typisk bruger en nas-boks meget lidt strøm (20W eller mindre).

En pc med en Intel/AMD-processor bruger 100-150W, og det gør nas-boksen attraktiv til en hjemmeserver. Der finder naturligvis alternativer. Er du mere tryg ved at bruge Microsoft Windows, har Microsoft et fuldstændigt system klar i form af Microsoft Exchange. Det kan være en stor mundfuld og passer måske ikke ind i en mindre organisation som en familie.

Et populært posthus til Microsoft Windows er hmailserver. Ved at installere hmailserver får du både smtp, pop og imap, så dine slutbrugere frit kan vælge postprogram.

Programmet tilhører Windows-verdenen, så du skal bruge en grafisk brugergrænseflade til al konfiguration, og du er bundet til Intel/AMD-platformen. Programmet er gratis at downloade og bruge, men du har ikke adgang til kildeteksten (tidligere var hmailserver et open source-projekt, men det blev ændret fra og med version 5).

Er du mere til Apples produkter, kan du overveje, om en server baseret på Mac OS X er mere dig. Til en pris på 50 dollars (omkring 270 kroner), kan du købe Mac OS X Server i Apple App Store. Produktet indeholder blandt andet et posthus med webmail.

Driller din isp?

Har du et elektronisk posthus stående derhjemme, kan det være en udfordring at modtage og især sende e-mails. Langt de fleste danske internet-udbydere (isp – internet service provider) blokerer for blandt andet port 25 (smtp). Grunden er, at de gerne vil undgå, at især Windows-computere bliver inficeret med malware og bliver misbrugt i bot/zombie-netværk til at sprede spam og foretage diverse angreb på andres it-installationer.

Internet-udbydere leverer en boks med. Det er ofte en samlet løsning, det vil sige modem, router, firewall, switch (fire porte er meget almindeligt) og trådløst access-point. Det er vigtigt, at du opretter port-forwarding i din boks.

Port-forwarding betyder, at du tillader indadgående trafik på en bestemt port (og for post er det 25). Endvidere skal du sende trafikken videre til den interne ip-adresse, som du har givet dit elektroniske posthus. Skal dine slutbrugere også kunne tilgå imap og webmail udefra, skal du også sætte port-forwarding op for disse porte.

Hos TDC (og YouSee) er alt blokeret. Men der findes en mulighed, nemlig at få en fast ip-adresse. Det koster 50 kroner/måneden, men så er der også frit slag. I din dns-server skal du sætte MX-record for dit domæne til at pege på den ip-adresse, som du har fået tildelt. Det sker dog indirekte, da MX-record peger på et servernavn, som har en ip-adresse. Du kan med fordel bruge Gratis-DNS som dns-server for dine domæner.

Det ser ud til at Telenor (det gamle Cybercity) har en lidt anden politik. Port 25 er som udgangspunkt ikke blokeret, men du skal sende gennem en af Telenors servere. I Postfix-sprogbrug hedder det at være en smarthost. Mere generelt bruges betegnelsen relævært (relay host). Du kan i Postfix’ konfiguration angive en server, som du ønsker at bruge som relæ. Linjen er for Telenors vedkommende relayhost = mailgate.telenor.dk.

Andre internetudbydere som ComX og Fullrate blokerer ikke umiddelbart for port 25, men det er aldrig til at vide, hvornår de gør. Heldigvis er min erfaring, at folkene hos kundeservice godt ved, hvad problemet er – du skal ikke sige smtp-server og port 25 mange gange, før de forklarer dig, hvordan du skal komme videre.

Afslutning

Serien om at bygge sit eget elektroniske posthus er kommet til vejs ende. Ved at bygge og drive dit eget posthus opnår du en større fleksibilitet og kontrol med, hvordan din post behandles. Der følger et ansvar med, idet ingen ønsker at gå glip af en besked eller et brev. Du skal regelmæssigt tage backup af din server – som minimum postkasser og MySQL.

Elektronisk post har siden internettets begyndelse været en kerneydelse – og elektronisk post forsvinder ikke med det samme. Ved at bygge dit eget posthus lærer du samtidig om, hvordan styresystem (Linux), systemprogrammer (Postfix, Dovecot og så videre) og internettet (tcp/ip) arbejder sammen.