OS X Server: Installera Roundcube för webbmail

Efter att Apple i OS X Server tog bort webbmailen Roundcube så står nu de som använder OS X Server utan webbmail. Detta är givetvis inte bra så därför visar vi hur du installerar Roundcube på senaste versionen av OS X Server.

Det är värt att direkt notera att detta inte är något för den absoluta nybörjaren. Det är mycket som kan gå fel och struntfel kan uppstå, men följer du denna guide så bör det fungera.

Roundcube är webbmailklienten som Apple ersatte gamla Squirrelmail med. Squirrelmail följde med i princip alla versioner av Mac OS X Server fram till server-versionen av OS X Lion då Apple istället valde att byta till Roundcube. Många, inklusive undertecknad, använde Roundcube redan i äldre versioner av Mac OS X Server.

När Apple senare lanserade OS X Server (Mountain Lion) så hade Roundcube försvunnit. Anledningen till detta var helt enkelt att Roundcube bytt licensmodell till GPLv3, vilket i sin tur förbjuder kommersiell distribution av en programvara som licensierats enligt den modellen. Om man har uppgraderat från Lion Server till OS X Server så kommer Roundcube och den tillhörande databasen att vara borta, och med tanke på att Apple i sedvanlig ordning inte sagt ett ljud om detta så var och är det givetvis en källa för en viss irritation från kunderna.

Vi utgår i denna guide från att du redan satt upp användare, tilldelat dem e-postadresser och konfigurerat e-postservern. Vi kommer att återkomma till båda dessa saker i ytterligare guider inom kort.

Skapa webbsajt och ladda ner Roundcube

Först skapar du webbsajten där din webbmail ska köras. Vi har tidigare publicerat en guide om hur du gör detta här. Det är en god idé att sätta ett certifikat på webbplatsen (köpt eller egengenererat), vilket då gör att din webbmail skyddas med SSL istället för att användas i ren klartext i din webbläsare.

När du satt upp webbsajten laddar du ned Roundcube till din server. Du kan göra detta via en webbläsare, men enklast är att du gör det i terminalen. Ställ dig i katalogen som du skapat (eller som Server-applikationen skapat åt dig) och ge följande kommando:

curl -o http://heanet.dl.sourceforge.net/project/roundcubemail/roundcubemail/0.8.2/roundcubemail-0.8.2.tar.gz

Notera att en nyare version kan ha släppts när du läser detta. Kolla alltid på hemsidan för Roundcube först för säkerhets skull.

Packa sedan upp filen du laddat ner med gunzip:

gunzip roundcubemail-0.8.2.tar.gz

Därefter packar du upp tar-arkivet:

tar -xvf roundcubemail-0.8.2.tar

Gå in i katalogen för Roundcube:

cd roundcubemail-0.8.2

Flytta ut allt innehåll ur katalogen till huvudkatalogen för webbsajten du skapade för webbmailen:

mv * ../

Gå sedan tillbaka till katalogen där allt nu ligger:

cd ..

Sätt korrekta rättigheter på katalogen för loggar och tillfälliga filer:

chmod 777 temp/
chmod 777 logs/

Skapa och konfigurera databasen

När Snow Leopard Server blev Lion Server så hade MySQL försvunnit och ersatts med PostgreSQL. Anledningen till detta är en aning oklar, men gissningsvis att ägaren till MySQL, Sun Microsystems, köpts upp av Oracle.

Den nye ägaren av MySQL har sedan dess gradvis försämrat möjligheterna att använda MySQL utan att betala pengar till Oracle varför Apple fann det säkrast att byta databasmotor. I OS X Server används inte Postgresql enbart till webbsajter utan också för kalenderservern, adressboksservern, profilhantering, med mera. Givetvis går MySQL fortfarande att installera i OS X Server, vilket vi återkommer till i en senare guide, men PostgreSQL är inte helt oäven den heller och fungerar bra i OS X Server varför vi rekommenderar att du använder den.

Se till att du står i samma katalog som Roundcube nu ligger i. Därefter är det dags att skapa databasen för Roundcube. Vi utgår här från att PostgreSQL är startat och att du känner dig en aning hemma i terminalen. Om du vill kolla huruvida PostgreSQL är startat ger du följande kommando i terminalen:

serveradmin status postgres

Är PostgreSQL startat behöver du inte göra något mer. Är servern inte startad kan du göra det med följande kommando:

serveradmin start postgres

Skriv in följande kommando för att skapa en användare för Roundcube-databasen:

sudo createuser -U _postgres roundcube

Därefter är det dags att skapa databasen:

sudo createdb -U _postgres -O roundcube -E UNICODE roundcubemail

Därefter är det dags att sätta lösenord och rättigheter för Roundcube-användaren:

Ange först följande kommando:

sudo psql roundcubemail -U _postgres

Du kommer nu att befinna dig inne i prompten för PostgreSQL. Ange därefter följande kommando:

ALTER USER roundcube WITH PASSWORD 'lösenord';

Byt ut 'lösenord' mot det lösenord användaren ska ha. Det är en god idé att utelämna exempelvis utropstecken i lösenordet. Svaret du ska få från PostgreSQL är följande:

ALTER ROLE

Därefter byter du användare till roundcube-användaren:

\c - roundcube

Du ska få följande svar:

psql (9.1.4, server 9.1.5)
You are now connected to database "roundcubemail" as user "roundcube".

Ge följande kommando för att skapa databasen med de värden som Roundcube behöver:

roundcubemail=> \i SQL/postgres.initial.sql

Se till att Roundcube kan läsa och skriva i databasen:

GRANT ALL PRIVILEGES ON DATABASE roundcubemail to roundcube;

Avsluta psql med '\q' utan citationstecken.

Därefter är det dags att bråka lite med PostgreSQL. Som standard accepterar den inga anslutningar från webbsajter du skapar själv. Det ordnar du genom att konfigurera den fil som PostgreSQL använder som konfigurationsfil. Ge följande kommando i terminalen:

nano /library/server/PostgreSQL/config/org.postgresql.postgres.plist

Stega dig ned till raden "listen_addresses=" och ändra den till följande:

listen_addresses="127.0.0.1"

Tryck sedan ctrl-o och sedan ctrl-x.

Starta sedan om PostgreSQL med följande kommandon:

serveradmin stop postgres
serveradmin start postgres

För att kolla om PostgreSQL svarar på rätt portar ger du följande kommando:

/Applications/Utilities/Network\ Utility.app/Contents/Resources/stroke 127.0.0.1 5432 5432

Svaret du ska få ser ut så här:

Port Scanning host: 127.0.0.1

Open TCP Port: 5432 postgresql

Konfigurera PHP

I filen /etc/php.ini finns två saker värda att titta på. Det ena är vilken teckenuppsättning som PHP ska använda. Öppna php.ini från terminalen:

nano /etc/php.ini

Stega dig fram till raden döpt ";default_charset =" och ändra den så den ser ut som nedan:

default_charset = "UTF8"

Du kan också ändra hur stora filer som får bifogas ett brev som skapas i Roundcube. Som standard är denna storlek två megabyte, men kan utökas genom att leta upp följande rad:

upload_max_filesize = 2M

Ändra detta till exempelvis åtta megabyte genom att byta åt tvåan mot en åtta.
Spara filen med ctrl-o och ctrl-x.

Starta sedan om webbservern:

serveradmin stop web
serveradmin start web

Konfigurera Roundcube

Se till att du står i katalogen för Roundcube. Gå sedan in i underkatalogen config och döp om filerna db.inc.php.dist och main.inc.php.dist till rätt filnamn:

mv db.inc.php.dist db.inc.php
mv main.inc.php.dist main.inc.php

Öppna sedan db.inc.php för att konfigurera databaskopplingen:

nano db.inc.php

Denna konfigurationsfil har en rad där det som standard är angett att MySQL ska fungera som databasmotor. Byt ut raden mot följande:

$rcmail_config['db_dsnw'] = 'pgsql://roundcube:lösenord@localhost/roundcubemail';

Lösenordet i raden ovan är samma som du satte på användaren roundcube i PostgreSQL tidigare i denna guide.

Spara och avsluta med ctrl-x och ctrl-o.

Öppna sedan konfigurationsfilen för Roundcube.

nano main.inc.php

Här finns flera rader du måste ändra på. Börja med att aktivera loggfilen så du kan felsöka.

Leta upp följande rad:

$rcmail_config['debug_level'] = 0;

Ändra den så den ser ut som följer:

$rcmail_config['debug_level'] = 1;

Loggfilerna kommer nu att uppdateras så du kan felsöka.

Därefter ska du sätta värdnamnet för din server. Leta upp följande rad:

$rcmail_config['default_host']

Ändra den till följande:

$rcmail_config['default_host'] = 'din servers värdnamn';

Som exempel kan denna rad se ut som följer:

$rcmail_config['default_host'] = 'mlserver.99mac.se';

Det är viktigt att detta är exakt samma värdnamn som servern är konfigurerad som i servern egna DNS eller i den DNS som servern använder.

Därefter letar du upp följande rad:

$rcmail_config['default_port'] =

Som standard använder Roundcube den okrypterade IMAP-porten 143, och om du har ett fungerade SSL-certifikat kan du ändra detta till port 993 för SSL-krypterad IMAP men vårt råd är att låta standardinställningen vara kvar:

$rcmail_config['default_port'] = 143;

Därefter ska du konfigurera hur Roundcube loggar in på din IMAP-server. Leta upp följande rad i konfigurationsfilen:

$rcmail_config['imap_auth_type'] =

Denna rad anger vilken autentiseringsfunktion som Roundcube ska använda sig av när den loggar in via IMAP till din e-postserver. Här kan du ange DIGEST-MD5, CRAM-MD5, LOGIN eller PLAIN, men vi rekommenderar att du börjar med LOGIN för att se så allt fungerar. Sätt därför raden till följande:

$rcmail_config['imap_auth_type'] = LOGIN;

Nu kan du surfa till din webbmail och logga in.

Om det ändå inte fungerar kan du istället surfa till https://adress.till.webbmailen/install/index.php och se vad Roundcube anser saknas.

Avsluta med att radera install-katalogen i katalogen där du installerat Roundcube:

sudo rm -r -f installer

Lycka till!

Skriven av Joacim Melin
Kommentarer
6 svar

Redaktionen tänder det andra ljuset, provar julmust och högtalare, busar med kollegorna och så kommer det julkort.

Fjärde luckan i Geeks Julkalender har öppnats, och idag är det ASUS som lockar med fint erbjudande på datorn ROG Strix GL702VM, och erbjuder surfplattan ZenPad 10 Z300M som pris i en tävling.

Bakom tredje luckan i Geeks Julkalender döljer sig en ATX-låda från Fractal Design och Venturi-fläktar till lågpris.

Denna veckan är poddstudion spekulationernas högborg. Amanda, Jakob och Andreas pratar om ett kommande mystiskt möte hos Apple, Iphone 8-rykten och julen som närmar sig.

En berömd regissör hälsar god jul för en svensk klädkedjas räkning, i veckans fredagsvideo.

Apple ska med hjälp av drönare försöka göra en bättre kartapp än rivalen Google.