Hopp til innhold
Blog

grommunios Exchange Web Services med Linux-klienter

· av grommunio
grommunios Exchange Web Services med Linux-klienter

Fra og med i fjor har grommunio støttet Exchange Web Services (EWS). Disse tjenestene, som først ble introdusert av Microsoft i Exchange 2007, representerer en annen viktig API som klienter bruker for å kommunisere med Exchange-servere (og Office 365, nå MS 365). Spesielt interessant er det at Microsoft åpent introduserte EWS for å oppmuntre tredjepartsutviklere til å bidra med sine klienter.

Og det gjorde de, som også grommunio kan dra nytte av. Utviklere drar imidlertid nytte av den enorme mengden feilsøkings- og administrasjonsfunksjoner som grommunio bringer med seg. Det er her styrken i grommunios utviklingsmodell med åpen kildekode blir tydelig. I tillegg til det interne grommunio-skrivebordet og de fullt støttede standardapplikasjonene for Windows og Mac (Outlook) samt for Android og iPhone, finnes det applikasjoner der EWS-integrasjonen vedlikeholdes av fellesskapet. Fordi de kommer i ulik kvalitet, viser eksemplet med en noe “vaklende” kandidat hvor hjelpsom og kraftig grommunio er som server og hvilke enestående muligheter den gir for feilsøking, spesielt i forhold til Microsofts Exchange.

Exchange Web Services: Støttes fullt ut siden grommunio 2023.11.3

En ting av gangen: Med den nyeste versjonen 2023.11.3 av grommunio har EWS vokst ut av beta-status og støttes nå fullt ut. Funksjonen er spesielt nyttig for Apple-klienter, ikke bare Outlook for Mac, men også apper som Apple Mail og Calender støttes nå av grommunio. EWS-tjenestene har vært aktive som standard siden 2023.11.3 - se Release Notes.

Microsoft har spesifisert sin EWS API i detalj, og den tillater omfattende funksjoner, inkludert administrasjon og datahåndtering. EWS er imidlertid også spesielt attraktiv fordi produsenten ønsker og oppmuntrer til utvikling av klienter i et større fellesskap. EWS skal bli grensesnittet til andre klienter, verktøy og databehandling for Exchange-data, samt for verktøy som Sharepoint eller Skype. Hvis du vil lese mer, kan du finne mer informasjon på blogger som TechGenix.

Groupware, fjernadministrasjon og mer

Det har lenge eksistert klientside-implementeringer for EWS fra åpen kildekode-verdenen: Mozilla Thunderbird samt GNOMEs Evolution og KDE Kontact har tilbudt tilkoblingen til EWS, om enn med ulik kvalitet og med ulike premisser. Den som dykker ned i disse implementeringene, bør ikke forvente noen mirakler. Selv om stadig flere brukere benytter seg av fri programvare på arbeidsplassen, er Linux-skrivebordet fortsatt et eksotisk verktøy, bare slått av MacOS som klientsystem.

Enda verre: Blant Linux-skrivebordsbrukere er de som har behov for en fullverdig gruppeprogramvareklient som Outlook, et unntak; nettverktøy er vanligvis fullt tilstrekkelig for disse brukerne, og det finnes implementasjoner som grommunio Desktop, som alltid bringer utseendet og følelsen av nettstedet til alle operativsystemer på en ensartet, sikker og nettleseruavhengig måte. Det fine med slike Electron-varianter er at de kombinerer alle funksjoner i ett GUI, akkurat slik de vises i webgrensesnittet.

grommunio Desktop Mail
Grommunio-skrivebordet er også tilgjengelig på alle Linux-operativsystemer, men bruker ikke EWS.

Men selv om målgruppen for en egen EWS-klient eller plugin på Linux-skrivebordet er liten, og det samme er utviklermiljøet, er det likevel overraskende hva Linux-miljøet allerede har oppnådd her (uten støtte fra f.eks. grommunio), og hvor langt man kan komme med det i hverdagen.

EWS testvinner: Evolution

Blant de virkelige EWS-klientene for Linux presterer Gnome-programmet Evolution best, og det gjør dette mye bedre enn konkurrentene. Med sin ganske klassiske og enkle stil og brukergrensesnitt har den uten tvil den beste EWS-integrasjonen, som også fungerte med en gang i testen og automatisk gjenkjente alle nødvendige innstillinger, også i kombinasjon med grommunio.

Under openSUSE er den enkleste måten å få Evolution installert med EWS-utvidelsen på en “zypper in evolution-ews”, som også laster ned EWS-plugin-modulen. Fra og med Evolution 3.27.91 fungerer Oauth 2 også med MS 365, og for øyeblikket installerer Tumbleweed allerede evolution-ews 3.52.

grommunio Exchange Web Services: Installasjon Evolution EWS
Spesielt hyggelig: Etter installasjonen, ved første start, gjør Evolution alt arbeidet for brukeren: En veiviser ber om e-postadressen, noe som er tilstrekkelig til å automatisk finne alle andre relevante data. Hvis du vil gjøre dette senere, kan du gjøre det samme med menyen "Accounts | Add".

Spesielt fint: Etter installasjonen, ved første start, gjør Evolution alt arbeidet for brukeren: En veiviser ber om e-postadressen, noe som er tilstrekkelig til å automatisk finne alle andre relevante data. Hvis du vil gjøre dette senere, kan du gjøre det samme med menyen “Accounts | Add”.

grommunio Exchange Web Services: Evolusjon
Evolution kommer med en ren, komplett integrasjon og en smart installasjonsveiviser.

Proprietær i dag, gratis i morgen: EWS i Mozilla Thunderbird

Mozilla jobber også med webtjenester: “Når det gjelder Microsofts videre planer, er EWS vår beste måte å sikre støtte for både Exchange Online og lokale installasjoner”, siterer Linux-portalen Howtogeek utvikleren Sean Burke. Innlegget er fortsatt ganske nytt, fra februar 2024, det er ingen eksakt dato for Mozillas planer ennå, men det er i det minste en forpliktelse. Videre, på FOSDEM i Brussel, etter Jan Engelhardts foredrag om grommunio, har det vært samtaler mellom utviklere om EWS i Thunderbird. Siden Mozillas verktøy er tilgjengelig både på Windows, Apple og Linux, høres det ut som en god idé.

Inntil da må Thunderbird-elskere imidlertid nøye seg med ExQuilla add-on (noen testere foretrakk begrepet “struggle”), som har fått blandede anmeldelser. Fra nettstedet kommer en .xpi-fil, som brukeren laster inn i Thunderbirds utvidelsesadministrasjon.

Ingen kalender?

Etter å ha klikket på den dramatisk klingende “Tillat Exquilla full tilgang til denne datamaskinen”, må brukeren fortsatt konfigurere Exchange-kontoen sin. Ikke la deg forvirre av Exquilla-dokumentasjonen som nå vises: Den viser fortsatt det utdaterte Thunderbird-grensesnittet (via hovedmenyen, “Tools | ExQuilla for MicrosoftExchange | Add Microsoft Exchange Account”). I moderne Thunderbirds finnes det en egen knapp for EWS-tilkobling etter at du har installert Xpi-utvidelsen, direkte på startsiden.

Som med Evolution, den automatiske oppdagelsen av grommunio-data fungerer uten problemer, kontakter og e-poster overføres til Thunderbird. Brukeren vil imidlertid lete forgjeves etter en kalender, ettersom synkronisering ikke er en del av ExQuillas utvalg av funksjoner.

grommunio Exchange Web Services: ExQuilla
Mot betaling og uten kalender: ExQuila for Exchange er en plugin for Mozilla Thunderbird.

Tredje i rekken: KDE Kontact med EWS

KDEs Kontact - eller “Kmail” - har også hatt EWS “om bord” en stund, en plugin er ikke nødvendig, og EWS er tilgjengelig som en egen servertype for kontoene på de vanlige Linux-distribusjonene. Det er bare synd at integrasjonen ser ut til å være noe foreldreløs, som opphavsretten i “Info-dialogen” viser, som dateres tilbake til 2020. Følgelig er integrasjonen vaklende noen steder. Slik det ser ut i dag, fungerer EWS med KDE Kontact, men virker ennå ikke anbefalelsesverdig; manuell feilsøking er noen ganger nødvendig.

grommunio Exchange Web Services: Kontact
KDE Kontact kommer også med en installasjonsveiviser, men den klarer ikke (per april 2024) å autodetektere EWS-URL-en og vil forårsake feilmeldinger.

Selve installasjonen er veldig rask: bare klikk på knappen for å legge til en ny konto. Klikk på ""Oppsett | Kontoer | Legg til | Egendefinert postkasse” og velg oppføringen “Microsoft Exchange Server (EWS)”, så vil du bli presentert med en installasjonsveiviser som ligner på den for Evolution.

I teorien ser det ut til at open source-klientene har ganske like funksjoner: Oauth, NTLMv2, med eller uten domene, brukeren kan velge mange nyttige innstillinger. Dette fungerer for det meste uten videre, bare Kontact snubler (i det minste med grommunio) når det gjelder automatisk deteksjon av serverens URL. For å få glede av EWS med KDE på Linux-skrivebordet er det nødvendig å taste den inn manuelt - med noen ulemper og feilmeldinger. Grommunio-utviklerne undersøker fortsatt de nøyaktige årsakene til dette, i testen måtte vi ganske enkelt skrive inn URL-en “https://$SERVERNAME/EWS/Exchange.asmx” manuelt ($SERVERNAME selvfølgelig erstattet av den ansvarlige e-postserveren) og deaktivere NTLMv2-godkjenning.

Her er trinnene som kreves for Kontact med grommunio:

  • Åpne oppsettdialogen ved å klikke på “Settings | Set up Kmail” i hovedmenyen til Kontact. Velg fanen “Kontoer | Mottak” og klikk på “Legg til | Egendefinert postkasse”.
  • Tildel et navn og skriv inn en e-postadresse, fjern merket for “Domene”
  • Skriv inn brukernavn (identisk med e-postadressen) og passord
  • Deaktiver avkrysningsboksen “Automatic detection of the server” for grommunio og skriv inn følgende verdi som “EWS URL”: “https://$SERVERNAME/EWS/Exchange.asmx”. Erstatt $SERVERNAME med e-postserverens FQDN.
  • Klikk på “Test Connection”. Hvis det ikke vises noen feilmelding, kan du fortsette med “Execute” og fullføre konfigurasjonen med “OK”. Etter at du har aktivert avmerkingsboksene i kalenderen og adresseboken, vil Exchange-dataene (eller dataene fra grommunio eller MS365) være tilgjengelige for deg så snart du oppdaterer e-posten din. Som med Evolution tilbyr de andre fanene i innstillingsdialogen omfattende muligheter for finjustering. Men det anbefales å være forsiktig.

grommunio hjelper deg med feilsøking

Spesielt irriterende i testen var en feil i EWS-plugin-modulen, som så ut til å belaste testsystemet unødvendig mye: feilmeldingen “org.kde.pim.ews.client: Failed to read EWS request - expected GetEventsResponseMessage element” dukket opp i meldingsloggen til Linux-klienten to ganger i sekundet, noe som indikerer at KDE-plugin-modulen fortsatt bruker “GetEvents”, mens de andre klientene nå bruker det fungerende “GetStreamingEvents”. Det ble også observert sporadiske krasj.

Men grommunio kan også hjelpe her: Åpenheten og administratorvennligheten til programvaren med åpen kildekode gjør det mulig å se nærmere på programmene. Hvis du aktiverer EWS-feilsøking på serveren, gir grommunio-administratorens webfrontend detaljert informasjon om klientforespørsler - en nyttig funksjon, ikke bare når du kobler til ikke-støttede Linux-gruppevareprogrammer, men også utover Exchange Web Services.

grommunio Exchange Web Services: grommunio-server-log

Serverloggen viser de feilaktige forespørslene fra Kontacts EWS-klient.

Hvis du selv ønsker å spore opp feilen, kan du sette “http_log_level” i grommunios konfigurasjonsfil “/etc/gromox/http.cfg” til verdien 7 og parameterne ews_request_logging=2 og ews_response_logging=2 i “/etc/gromox/ews.cfg”. grommox logger da alle EWS-forespørsler og -svar i sin helhet i gromox-http-loggen. Vær oppmerksom på følgende: Disse innstillingene bør ikke beholdes i produktiv drift, da de kan generere store mengder loggdata.

grommunio Exchange Web Services: Feilsøking
Feilsøkingsinnstillingene for EWS-trafikken på grommunio-serveren bør kommenteres ut under drift.

Konklusjon: Evolution ja, Kontact nei, Thunderbird snart

De fullt integrerte EWS-tjenestene som nå er aktive som standard i grommunio, er ikke bare interessante for Apple-klienter. Microsoft har holdt sitt løfte om å tillate alle klienter, og grommunio og hele open source-verdenen drar også nytte av dette. Men med grommunio er den første fullt funksjonelle open source groupware-serveren med Exchange Web Services nå tilgjengelig, mange kunder bruker den allerede, og takket være åpenheten og sporbarheten til open source og de mange innstillingsmulighetene, kan grommunio også hjelpe i tilfeller der Exchange-administratorer er overlatt til seg selv. Med grommunio kan du administrere Exchange-erstatningen din fra en Linux-kommandolinje, i klartekstfiler, med en overflod av feilsøkingsinformasjon og - hvis du vil, kan, trenger - tilpasse kildekoden til dine behov.