0% found this document useful (0 votes)
193 views59 pages

SOGo Installation Guide

Sogo installation manual

Uploaded by

sergiut
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
193 views59 pages

SOGo Installation Guide

Sogo installation manual

Uploaded by

sergiut
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 59

InstallationandConfigurationGuide

forversion2.2.9

InstallationandConfigurationGuide
Version2.2.9-September2014
Permissionisgrantedtocopy,distributeand/ormodifythisdocumentunderthetermsoftheGNUFreeDocumentationLicense,Version
1.2oranylaterversionpublishedbytheFreeSoftwareFoundation;withnoInvariantSections,noFront-CoverTexts,andnoBack-Cover
Texts.Acopyofthelicenseisincludedinthesectionentitled"GNUFreeDocumentationLicense".
ThefontsusedinthisguidearelicensedundertheSILOpenFontLicense,Version1.1.ThislicenseisavailablewithaFAQat:http://
scripts.sil.org/OFL
CopyrightukaszDziedzic,http://www.latofonts.com,withReservedFontName:"Lato".
CopyrightRaphLevien,http://levien.com/,withReservedFontName:"Inconsolata".

TableofContents
About this Guide .............................................................................................................. 1
Introduction ..................................................................................................................... 2
ArchitectureandCompatibility................................................................................... 3
System Requirements ........................................................................................................ 5
Assumptions ............................................................................................................. 5
MinimumHardwareRequirements.............................................................................. 5
OperatingSystemRequirements................................................................................ 6
Installation ....................................................................................................................... 8
Software Downloads ................................................................................................. 8
Software Installation ................................................................................................. 8
Configuration ................................................................................................................. 10
GNUstepEnvironmentOverview............................................................................. 10
Preferences Hierarchy ............................................................................................. 10
General Preferences ................................................................................................ 11
AuthenticationusingLDAP...................................................................................... 18
LDAPAttributesIndexing........................................................................................ 24
LDAPAttributesMapping........................................................................................ 24
AuthenticatingusingC.A.S....................................................................................... 26
AuthenticatingusingSAML2.................................................................................... 27
DatabaseConfiguration........................................................................................... 27
AuthenticationusingSQL........................................................................................ 29
SMTPServerConfiguration..................................................................................... 31
IMAPServerConfiguration...................................................................................... 32
WebInterfaceConfiguration.................................................................................... 34
SOGoConfigurationSummary................................................................................. 40
Multi-domainsConfiguration.................................................................................... 41
Apache Configuration .............................................................................................. 43
Starting Services ..................................................................................................... 44
CronjobEMailreminders...................................................................................... 44
CronjobVacationmessagesexpiration................................................................... 45
ManagingUserAccounts................................................................................................. 46
CreatingtheSOGoAdministrativeAccount............................................................... 46
CreatingaUserAccount......................................................................................... 46
Microsoft ActiveSync ...................................................................................................... 48
Using SOGo ................................................................................................................... 50
SOGo Web Interface .............................................................................................. 50
MozillaThunderbirdandLightning............................................................................50
Apple iCal .............................................................................................................. 51
Apple AddressBook ................................................................................................. 51
MicrosoftActiveSync/MobileDevices..................................................................... 52
Upgrading ...................................................................................................................... 53
Additional Information ..................................................................................................... 55
CommercialSupportandContactInformation................................................................... 56

iii

Chapter1

AboutthisGuide

ThisguidewillwalkyouthroughtheinstallationandconfigurationoftheSOGosolution.Italso
coverstheinstallationandconfigurationofSOGoActiveSyncsupportthesolutionusedtosynchronizemobiledeviceswithSOGo.
Theinstructionsarebasedonversion2.2.9ofSOGo.
Thelatestversionofthisguideisavailableathttp://www.sogo.nu/downloads/documentation.html.

AboutthisGuide

Chapter2

Introduction

SOGoisafreeandmodernscalablegroupwareserver.Itofferssharedcalendars,addressbooks,and
emailsthroughyourfavouriteWebbrowserandbyusinganativeclientsuchasMozillaThunderbird
andLightning.
SOGoisstandard-compliant.ItsupportsCalDAV,CardDAV,GroupDAV,iMIPandiTIPandreuses
existingIMAP,SMTPanddatabaseservers-makingthesolutioneasytodeployandinteroperable
withmanyapplications.
SOGofeatures:
Scalablearchitecturesuitablefordeploymentsfromdozenstomanythousandsofusers
Rich Web-based interface that shares the look and feel, the features and the data of Mozilla
ThunderbirdandLightning
ImprovedintegrationwithMozillaThunderbirdandLightningbyusingtheSOGoConnectorand
theSOGoIntegrator
NativecompatibilityforMicrosoftOutlook2003,2007,2010,and2013
Two-way synchronization support with any Microsoft ActiveSync-capable device, or Outlook
2013
SOGoisdevelopedbyacommunityofdeveloperslocatedmainlyinNorthAmericaandEurope.
Moreinformationcanbefoundathttp://www.sogo.nu/

Introduction

Chapter2

ArchitectureandCompatibility

Introduction

Chapter2
StandardprotocolssuchasCalDAV,CardDAV,GroupDAV,HTTP,IMAPandSMTPareusedtocommunicatewiththeSOGoplatformoritssub-components.MobiledevicessupportingtheMicrosoft
ActiveSyncprotocolarealsosupported.
ToinstallandconfigurethenativeMicrosoftOutlookcompatibilitylayer,pleaserefertotheSOGo
NativeMicrosoftOutlookConfigurationGuide.

Introduction

Chapter3

SystemRequirements

Assumptions
SOGoreusesmanycomponentsinaninfrastructure.Thus,itrequiresthefollowing:
Databaseserver(MySQL,PostgreSQLorOracle)
LDAPserver(OpenLDAP,NovelleDirectory,MicrosoftActiveDirectoryandothers)
SMTPserver(Postfix,Sendmailandothers)
IMAPserver(Courier,CyrusIMAPServer,Dovecotandothers)
Inthisguide,weassumethatallthosecomponentsarerunningonthesameserver(i.e.,localhost
or127.0.0.1)thatSOGowillbeinstalledon.
GoodunderstandingofthoseunderlyingcomponentsandGNU/LinuxisrequiredtoinstallSOGo.
Ifyoumisssomeofthoserequiredcomponents,pleaserefertotheappropriatedocumentation
andproceedwiththeinstallationandconfigurationoftheserequirementsbeforecontinuingwith
thisguide.
Thefollowingtableprovidesrecommendationsfortherequiredcomponents,togetherwithversion
numbers:
Databaseserver

PostgreSQL7.4orlater

LDAPserver

OpenLDAP2.3.xorlater

SMTPserver

Postfix2.x

IMAPserver

CyrusIMAPServer2.3.xorlater

Morerecentversionsofthesoftwarementionedabovecanalsobeused.

MinimumHardwareRequirements
Thefollowingtableprovideshardwarerecommendationsfortheserver,desktopsandmobiledevices:
Server

Evaluationandtesting
Intel,AMD,orPowerPCCPU1GHz
SystemRequirements

Chapter3
512MBofRAM
1GBofdiskspace
Production
Intel,AMDorPowerPCCPU3GHz
2048MBofRAM
10GBofdiskspace(excludingthemailstore)
Desktop

General

Intel,AMD,orPowerPCCPU1.5GHz
1024x768monitorresolution
512MBofRAM
128Kbpsorhighernetworkconnection

MicrosoftWindows
MicrosoftWindowsXPSP2orVista
AppleMacOSX
AppleMacOSX10.2orlater
Linux
YourfavouriteGNU/Linuxdistribution
MobileDevice

AnymobiledevicewhichsupportsCalDAV,CardDAVorMicrosoftActiveSync.

OperatingSystemRequirements
Thefollowing32-bitand64-bitoperatingsystemsarecurrentlysupportedbySOGo:
RedHatEnterpriseLinux(RHEL)Server5and6
CommunityENTerpriseOperatingSystem(CentOS)5and6
DebianGNU/Linux5.0(Lenny)to7.0(Wheezy)
Ubuntu10.04(Lucid)to14.04(Trusty)
Makesuretherequiredcomponentsarestartedautomaticallyatboottimeandthattheyarerunning
before proceeding with the SOGo configuration. Also make sure that you can install additional
packagesfromyourstandarddistribution.Forexample,ifyouareusingRedHatEnterpriseLinux
5,youhavetobesubscribedtotheRedHatNetworkbeforecontinuingwiththeSOGosoftware
installation.
ThisdocumentcoverstheinstallationofSOGounderRHEL6.
ForinstallationinstructionsonDebianandUbuntu,pleasereferdirectlytotheSOGowebsiteat
http://www.sogo.nu/. Under the downloads section, you will find links for installation steps for
DebianandUbuntu.
SystemRequirements

Chapter3
NotethatoncetheSOGopackagesareinstalledunderDebianandUbuntu,thisguidecanbefollowedinordertofullyconfigureSOGo.

SystemRequirements

Chapter4

Installation

ThissectionwillguideyouthroughtheinstallationofSOGotogetherwithitsdependencies.The
stepsdescribedhereapplytoanRPM-basedinstallationforaRedHatorCentOSdistribution.

SoftwareDownloads
SOGo can be installed using the+yum+utility. To do so, first create the /etc/yum.repos.d/
inverse.repoconfigurationfilewiththefollowingcontent:
[SOGo]
name=Inverse SOGo Repository
baseurl=http://inverse.ca/downloads/SOGo/RHEL6/$basearch
gpgcheck=0
SomeofthesoftwaresonwhichSOGodependsareavailablefromtherepositoryofRepoForge
(previouslyknownasRPMforge).ToaddRepoForgetoyourpackagessources,downloadandinstall
theappropriateRPMpackagefromhttp://packages.sw.be/rpmforge-release/.Alsomakesureyou
enabledthe"rpmforge-extras"repository.
FormoreinformationonusingRepoForge,visithttp://repoforge.org/use/.

SoftwareInstallation
Oncetheyumconfigurationfilehasbeencreated,youarenowreadytoinstallSOGoanditsdependencies.Todoso,proceedwiththefollowingcommand:
yum install sogo
ThiswillinstallSOGoanditsdependenciessuchasGNUstep,theSOPEpackagesandmemcached.
Oncethebasepackagesareinstalled,youneedtoinstalltheproperdatabaseconnectorsuitable
foryourenvironment.Youneedtoinstallsope49-gdl1-postgresqlforthePostgreSQLdatabase
system,sope49-gdl1-mysqlforMySQLorsope49-gdl1-oracleforOracle.Theinstallationcommandwillthuslooklikethis:
yum install sope49-gdl1-postgresql

Installation

Chapter4
Oncecompleted,SOGowillbefullyinstalledonyourserver.Youarenowreadytoconfigureit.

Installation

Chapter5

Configuration

Inthissection,youlllearnhowtoconfigureSOGotouseyourexistingLDAP,SMTPanddatabase
servers.Aspreviouslymentioned,weassumethatthosecomponentsrunonthesameserveron
whichSOGoisbeinginstalled.Ifthisisnotthecase,pleaseadjusttheconfigurationparameters
toreflectthosechanges.

GNUstepEnvironmentOverview
SOGomakesuseoftheGNUstepenvironment.GNUstepisafreesoftwareimplementationofthe
OpenStepspecificationwhichprovidesmanyfacilitiesforbuildingalltypesofserveranddesktop
applications.Amongthosefacilities,thereisaconfigurationAPIsimilartothe"Registry"paradigm
inMicrosoftWindows.InOpenSTEP,GNUstepandMacOSX,thesearecalledthe"userdefaults".
In SOGo, the users applications settings are stored in /etc/sogo/sogo.conf. You can use your
favouritetexteditortomodifythefile.
Thesogo.conffileisaserializedpropertylist.Thissimpleformatencapsulatesfourbasicdatatypes:
arrays, dictionaries (or hashes), strings and numbers. Numbers are represented as-is, except for
booleanswhichcantaketheunquotedvaluesYESandNO.Stringsarenotmandatorilyquoted,but
doingsowillavoidyoumanyproblems.Adictionaryisasequenceofkeyandvaluepairsseparated
intheirmiddlewitha=sign.Itstartswitha\{andendswithacorresponding}.Eachvaluedefinition
inadictionaryendswithasemicolon.Anarrayisachainofvaluesstartingwith(andendingwith
),wherethevaluesareseparatedwitha,.Also,thefilegenerallyfollowsaC-styleindentationfor
claritybutthisindentationisnotrequired,onlyrecommended.Blockcommentsaredelimitedby/
*and*/andcanspanmultiplelineswhilelinecommentsmuststartwith//.

PreferencesHierarchy
SOGosupportsdomainnamessegregation,meaningthatyoucanseparatemultiplegroupsofusers
withinoneinstallationofSOGo.Auserassociatedtoadomainislimitedtoaccessonlytheusers
datafromthesamedomain.Consequently,theconfigurationparametersofSOGoaredefinedon
threelevels:

Configuration

10

Chapter5

Eachlevelinheritsthepreferencesoftheparentlevel.Therefore,domainpreferencesdefinethedefaultsvaluesoftheuserpreferences,andthesystempreferencesdefinethedefaultvaluesofalldomainspreferences.Bothsystemanddomainspreferencesaredefinedinthe/etc/sogo/sogo.conf,
whiletheuserspreferencesareconfigurablebytheuserandstoredinSOGosdatabase.
Toidentifythelevelinwhicheachparametercanbedefined,weusethefollowingabbreviations
inthetablesofthisdocument:
S Parameterexclusivetothesystemandnotconfigurableperdomain
D Parameterexclusivetoadomainandnotconfigurableperuser
U Parameterconfigurablebytheuser
Rememberthatthehierarchyparadigmallowthedefaultvalueofaparametertobedefinedata
parentlevel.

GeneralPreferences
Thefollowingtabledescribesthegeneralparametersthatcanbeset:
S WOWorkersCount

TheamountofinstancesofSOGothatwillbe
spawnedtohandlemultiplerequestssimultaneously.Whenstartedfromtheinitscript,that
amountisoverridenbythePREFORKvaluein/
etc/sysconfig/sogoor/etc/default/sogo.
Avalueof3isareasonabledefaultforlowusage.ThemaximumvaluedependsontheCPU
Configuration

11

Chapter5
andIOpowerprovidedbyyourmachine:avaluesettoohighwillactuallydecreaseperformancesunderhighload.
Defaultsto1whenunset.
S WOListenQueueSize

Thisparametercontrolsthebacklogsizeofthe
socketlistenqueue.Forlarge-scaledeployments,thisvaluemustbeadjustedincaseall
workersarebusyandtheparentprocessesreceiveslotsofincomingconnections.
Defaultsto5whenunset.

S WOPort

TheTCPlisteningaddressandportusedbythe
SOGodaemon.Theformatisipaddress:port.
Defaultsto127.0.0.1:20000whenunset.

S WOLogFile

Thefilepathwheretologmessages.Specifytologtotheconsole.
Defaultsto/var/log/sogo/sogo.log.

S WOPidFile

Thefilepathwheretheparentprocessidwill
bewritten.
Defaultsto/var/run/sogo/sogo.pid.

S WOWatchDogRequestTimeout

Thisparameterspecifiesthenumberofminutes
afterwhichabusychildprocesswillbekilled
bytheparentprocess.
Defaultsto10(minutes).
Donotsetthistoolowaschildprocessesreplyingtoclientsonaslowinternetconnection
couldbekilledprematurely.

S SxVMemLimit

Parameterusedtosetthemaximumamount
ofmemory(inmegabytes)thatachildcanuse.
Reachingthatvaluewillforcechildrenprocessestorestart,inordertopreservesystemmemory.
Defaultsto384.

S SOGoMemcachedHost

Parameterusedtosetthehostnameandoptionallytheportofthememcachedserver.
Apathcanalsobeusediftheservermustbe
reachedviaaUnixsocket.
Defaultstolocalhost.
Seememcached_servers_parse(3)fordetails
onthesyntax.

S SOGoCacheCleanupInterval

Parameterusedtosettheexpiration(inseconds)ofeachobjectinthecache.

Configuration

12

Chapter5
Defaultsto300.
S SOGoAuthenticationType

Parameterusedtodefinethewaybywhich
userswillbeauthenticated.ForC.A.S.,specifycas.ForSAML2,specifysaml2.Foranything
else,leavethatvalueempty.

S SOGoTrustProxyAuthentication

ParameterusedtosetwhetherHTTPusernameshouldbetrusted.
DefaultstoNOwhenunset.

S SOGoEncryptionKey

Parameterusedtodefineakeytoencryptthe
passwordsofremoteWebcalendarswhenSOGoTrustProxyAuthenticationisenabled.

S SOGoCASServiceURL

WhenusingC.A.S.authentication,thisspecifiesthebaseurlforreachingtheC.A.S.service.
ThiswillbeusedbySOGotodeducetheproperloginpageaswellastheotherC.A.S.servicesthatSOGowilluse.

S SOGoCASLogoutEnabled

Booleanvalueindicatingwhetherthe"Logout"
linkisenabledwhenusingC.A.S.asauthenticationmechanism.
The"Logout"linkwillendupcallingSOGoCASServiceURL/logouttoterminatetheclients
singlesign-onC.A.S.session.

S SOGoAddressBookDAVAccessEnabled

ParametercontrollingWebDAVaccesstothe
Contactscollections.ThiscanbeusedtodenyaccesstotheseresourcesfromLightningfor
example.
DefaultstoYESwhenunset.

S SOGoCalendarDAVAccessEnabled

ParametercontrollingWebDAVaccesstothe
Calendarcollections.
ThiscanbeusedtodenyaccesstotheseresourcesfromLightningforexample.
DefaultstoYESwhenunset.

S SOGoSAML2PrivateKeyLocation

ThelocationoftheSSLprivatekeyfileonthe
filesystemthatisusedbySOGotosignandencryptcommunicationswiththeSAML2identity
provider.Thisfilemustbegeneratedforeach
runningSOGoservice(ratherthanhost).

S SOGoSAML2CertiticateLocation

ThelocationoftheSSLcertificatefile.Thisfile
mustbegeneratedforeachrunningSOGoservice.

S SOGoSAML2IdpMetadataLocation

Thelocationofthemetadatafilethatdescribes
theservicesavailableontheSAML2identify
provider.

S SOGoSAML2IdpPublicKeyLocation

ThelocationoftheSSLpublickeyfileonthe
filesystemthatisusedbySOGotosignanden-

Configuration

13

Chapter5
cryptcommunicationswiththeSAML2identity
provider.Thisfileshouldbepartofthesetupof
youridentityprovider.
S SOGoSAML2IdpCertificateLocation

ThelocationoftheSSLcertificatefile.Thisfile
shouldbepartofthesetupofyouridentity
provider.

S SOGoSAML2LogoutEnabled

Booleanvalueindicatedwhetherthe"Logout"
linkisenabledwhenusingSAML2asauthenticationmechanism.

D SOGoTimeZone

Parameterusedtosetadefaulttimezonefor
users.ThedefaulttimezoneissettoUTC.The
Olsondatabaseisastandarddatabasethat
takesallthetimezonesaroundtheworldinto
accountandrepresentsthemalongwiththeir
history.OnGNU/Linuxsystems,timezonedefinitionfilesareavailableunder/usr/share/
zoneinfo.Listingtheavailablefileswillgive
youthenameoftheavailabletimezones.This
couldbeAmerica/New_York,Europe/Berlin,
Asia/TokyoorAfrica/Lubumbashi.
Inourexample,wesetthetimezonetoAmerica/Montreal.

D SOGoMailDomain

Parameterusedtosetthedefaultdomainname
usedbySOGo.SOGousesthisparameterto
buildthelistofvalidemailaddressesforusers.
Inourexample,wesetthedefaultdomainto
acme.com.

D SOGoAppointmentSendEMailNotifications

ParameterusedtosetwhetherSOGosendsor
notemailnotificationstomeetingparticipants.
Possiblevaluesare:
YEStosendnotifications
NOtonotsendnotifications
DefaultstoNOwhenunset.

D SOGoFoldersSendEMailNotifications

Sameasabove,butthenotificationsaretriggeredonthecreationofacalendaroranaddressbook.

D SOGoACLsSendEMailNotifications

Sameasabove,butthenotificationsaresent
totheinvolvedusersofacalendaroraddress
booksACLs.

D SOGoCalendarDefaultRoles

Parameterusedtodefinethedefaultroles
whengivingpermissionstoausertoaccessa
calendar.Defaultsrolesareignoredforpublic
accesses.Mustbeanarrayofuptofivestrings.
Eachstringdefiningaroleforaneventcategorymustbeginwithoneofthosevalues:
Public

Configuration

14

Chapter5
Confidential
Private
Andeachstringmustendwithoneofthose
values:

Viewer
DAndTViewer
Modifier
Responder

Thearraycanalsocontainoneormanyofthe
followingstrings:
ObjectCreator
ObjectEraser
Example:SOGoCalendarDefaultRoles = ("ObjectCreator", "PublicViewer");
Defaultstonorolewhenunset.RecommendedvaluesarePublicViewerandConfidentialDAndTViewer.
D SOGoContactsDefaultRoles

Parameterusedtodefinethedefaultroles
whengivingpermissionstoausertoaccess
anaddressbook.Defaultsrolesareignoredfor
publicaccesses.Mustbeanarrayofoneor
manyofthefollowingstrings:

ObjectViewer
ObjectEditor
ObjectCreator
ObjectEraser

Example:SOGoContactsDefaultRoles = ("ObjectEditor");
Defaultstonorolewhenunset.
D SOGoSuperUsernames

Parameterusedtosetwhichusernamesrequire
administrativeprivilegesoveralltheuserstables.Forexample,thiscouldbeusedtopost
eventsintheuserscalendarwithoutrequiringtheusertoconfigurehis/herACLs.Inthis
caseyouwillneedtospecifythosesuperusers
usernameslikethis:SOGoSuperUsernames =
(<username1>[, <username2>, ...]);

U SOGoLanguage

Parameterusedtosetthedefaultlanguage
usedintheWebinterfaceforSOGo.Possible
valuesare:

Configuration

BrazilianPortuguese
Czech
Dutch
English

15

Chapter5

D SOGoNotifyOnPersonalModifications

French
German
Hungarian
Italian
Russian
Spanish
Swedish
Welsh

ParameterusedtosetwhetherSOGosendsor
notemailreceiptswhensomeonechangeshis/
herowncalendar.Possiblevaluesare:
YEStosendnotifications
NOtonotsendnotifications
DefaultstoNOwhenunset.Usercanoverwrite
thisfromthecalendarpropertieswindow.

D SOGoNotifyOnExternalModifications

ParameterusedtosetwhetherSOGosendsor
notemailreceiptswhenamodificationisbeing
donetohis/herowncalendarbysomeoneelse.
Possiblevaluesare:
YEStosendnotifications
NOtonotsendnotifications
DefaultstoNOwhenunset.Usercanoverwrite
thisfromthecalendarpropertieswindow.

D SOGoLDAPContactInfoAttribute

ParameterusedtospecifyanLDAPattribute
thatshouldbedisplayedwhenauto-completing
usersearches.

D SOGoiPhoneForceAllDayTransparency

WhensettoYES,thiswillforceall-dayevents
sentoverbyiPhoneOSbaseddevicestobe
transparent.Thismeansthattheall-dayevents
willnotbeconsideredduringfreebusylookups.
DefaultstoNOwhenunset.

S SOGoEnablePublicAccess

Parameterusedtoallowornotyourusersto
sharepublicly(ie.,requiringnotauthentication)
theircalendarsandaddressbooks.
Possiblevaluesare:
YEStoallowthem
NOtopreventthemfromdoingso
DefaultstoNOwhenunset.

S SOGoPasswordChangeEnabled

Parameterusedtoallowornotuserstochange
theirpasswordsfromSOGo.
Possiblevaluesare:
YEStoallowthem
NOtopreventthemfromdoingso
Configuration

16

Chapter5
DefaultstoNOwhenunset.
ForthisfeaturetoworkproperlywhenauthenticatingagainstADorSamba4,theLDAPconnectionmustuseSSL/TLS.Serversiderestrictionscanalsocausethepasswordchangeto
fail,inwhichcaseSOGowillonlylogaConstraintviolation(0x13)error.Theserestrictions
includepasswordtooyoung,complexityconstraintsnotsatisfied,usercannotchangepassword,etcAlsonotethatSambahasaminimumpasswordageof1daybydefault.
S SOGoSupportedLanguages

Parameterusedtoconfigurewhichlanguages
areavailablefromSOGosWebinterface.Availablelanguagesarespecifiedasanarrayof
string.
Thedefaultvalueis:( "Czech", "Welsh",
"English", "Spanish", "French", "German", "Italian", "Hungarian", "Dutch",
"BrazilianPortuguese", "Polish", "Russian", Ukrainian", "Swedish" )

D SOGoHideSystemEMail

ParameterusedtocontrolifSOGoshould
hideornotthesystememailaddress
(UIDFieldName@SOGoMailDomain).Thisis
currentlylimitedtoCalDAV(calendar-user-address-set).
DefaultstoNOwhenunset.

D SOGoSearchMinimumWordLength

Parameterusedtocontroltheminimumlength
tobeusedforthesearchstring(attendeecompletion,addressbooksearch,etc.)priortriggeringtheserver-sidesearchoperation.
Defaultsto2whenunsetwhichmeansa
searchoperationwillbetriggeredonthe3rd
typedcharacter.

S SOGoMaximumFailedLoginCount

Parameterusedtocontrolthenumberoffailed
loginattemptsrequiredduringSOGoMaximumFailedLoginIntervalsecondsormore.Ifconditionsaremet,theaccountwillbeblockedfor
SOGoFailedLoginBlockIntervalsecondssincethe
firstfailedloginattempt.
Defaultvalueis0,ordisabled.

S SOGoMaximumFailedLoginInterval

Numberofseconds,defaultsto10.

S SOGoFailedLoginBlockInterval

Numberofseconds,defaultsto300(or5minutes).NotethatSOGoCacheCleanupInterval
mustbesettoavalueequalorhigherthanSOGoFailedLoginBlockInterval.

S SOGoMaximumMessageSubmissionCount

Parameterusedtocontrolthenumberofemail
messagesausercansendfromSOGosweb-

Configuration

17

Chapter5
mailinterface,toSOGoMaximumRecipientCount,
inSOGoMaximumSubmissionIntervalsecondsor
more.Ifconditionsaremetorexceeded,the
userwontbeabletosendmailsforSOGoMessageSubmissionBlockIntervalseconds.
Defaultvalueis0,ordisabled.
S SOGoMaximumRecipientCount

Maximumnumberofrecipients.Defaultvalue
is0,ordisabled.

S SOGoMaximumSubmissionInterval

Numberofseconds,defaultsto30.

S SOGoMessageSubmissionBlockInterval

Numberofseconds,defaultto300(or5minutes).NotethatSOGoCacheCleanupInterval
mustbesettoavalueequalorhigherthanSOGoFailedLoginBlockInterval.

AuthenticationusingLDAP
SOGocanuseaLDAPservertoauthenticateusersand,ifdesired,toprovideglobaladdressbooks.
SOGocanalsouseanSQLbackendforthispurpose(seethesection_AuthenticationusingSQL_
laterinthisdocument).InsertthefollowingtextintoyourconfigurationfiletoconfigureanauthenticationandglobaladdressbookusinganLDAPdirectoryserver:
SOGoUserSources = (
{
type = ldap;
CNFieldName = cn;
IDFieldName = uid;
UIDFieldName = uid;
IMAPHostFieldName = mailHost;
baseDN = "ou=users,dc=acme,dc=com";
bindDN = "uid=sogo,ou=users,dc=acme,dc=com";
bindPassword = qwerty;
canAuthenticate = YES;
displayName = "Shared Addresses";
hostname = "ldap://127.0.0.1:389";
id = public;
isAddressBook = YES;
}
);
Inourexample,weuseaLDAPserverrunningonthesamehostwhereSOGoisbeinginstalled.
Youcanalso,usingthefilterattribute,restricttheresultstomatchvariouscriteria.Forexample,you
coulddefine,inyour.GNUstepDefaultsfile,thefollowingfiltertoreturnonlyentriesbelongingto
theorganizationInversewithamailaddressandnotinactive:
filter = "(o='Inverse' AND mail='*' AND status <> 'inactive')";

Configuration

18

Chapter5
SinceLDAPsourcescanserveasuserrepositoriesforauthenticationaswellasaddressbooks,you
canspecifythefollowingforeachsourcetomakethemappearintheaddressbookmodule:
displayName = "<human identification name of the addressbook>";
isAddressBook = YES;
ForcertainLDAPsources,SOGoalsosupportsindirectbindsforuserauthentication.Hereisan
example:
SOGoUserSources = (
{
type = ldap;
CNFieldName = cn;
IDFieldName = cn;
UIDFieldName = sAMAccountName;
baseDN = "cn=Users,dc=acme,dc=com";
bindDN = "cn=sogo,cn=Users,dc=acme,dc=com";
bindFields = (sAMAccountName);
bindPassword = qwerty;
canAuthenticate = YES;
displayName = "Active Directory";
hostname = ldap://10.0.0.1:389;
id = directory;
isAddressBook = YES;
}
);
Inthisexample,SOGowilluseanindirectbindbyfirstdeterminingtheuserDN.Thatvalueisfound
bydoingasearchonthefieldsspecifiedinbindFields.Mostofthetime,therewillbeonlyone
fieldbutitispossibletospecifymoreintheformofanarray(forexample,bindFields = (sAMAccountName, cn)).Whenusingmultiplefields,onlyoneofthefieldsneedstomatchtheloginname.
Intheaboveexample,whenauserlogsin,theloginwillbecheckedagainstthesAMAccountName
entryinalltheusercards,andoncethiscardisfound,theuserDNofthiscardwillbeusedfor
checkingtheuserspassword.
Finally,SOGosupportsLDAP-basedgroups.Groupsmustbedefinedlikeanyotherauthentication
sources(ie.,canAuthenticatemustbesettoYESandagroupmusthaveavalidemailaddress).In
orderforSOGotodetermineifaspecificLDAPentryisagroup,SOGowilllookforoneofthe
followingobjectClassattributes:
group
groupOfNames
groupOfUniqueNames
posixGroup
You can set ACLs based on group membership and invite a group to a meeting (and the group
willbedecomposedtoitslistofmembersuponsavebySOGo).Youcanalsocontrolthevisibility
ofthegroupfromthelistofsharedaddressbooksorduringmailautocompletionbysettingthe
isAddressBookparametertoYESorNO.ThefollowingLDAPentryshowshowatypicalgroupis
defined:
Configuration

19

Chapter5

dn: cn=inverse,ou=groups,dc=inverse,dc=ca
objectClass: groupOfUniqueNames
objectClass: top
objectClass: extensibleObject
uniqueMember: uid=alice,ou=users,dc=inverse,dc=ca
uniqueMember: uid=bernard,ou=users,dc=inverse,dc=ca
uniqueMember: uid=bob,ou=users,dc=inverse,dc=ca
cn: inverse
structuralObjectClass: groupOfUniqueNames
mail: inverse@inverse.ca
ThecorrespondingSOGoUserSourcesentrytohandlegroupslikethisonewouldbe:
{
type = ldap;
CNFieldName = cn;
IDFieldName = cn;
UIDFieldName = cn;
baseDN = "ou=groups,dc=inverse,dc=ca;
bindDN = "cn=sogo,ou=services,dc=inverse,dc=ca";
bindPassword = zot;
canAuthenticate = YES;
displayName = Inverse Groups;
hostname = ldap://127.0.0.1:389;
id = inverse_groups;
isAddressBook = YES;
}
ThefollowingtabledescribesthepossibleparametersrelatedtoaLDAPsource:
D SOGoUserSources

ParameterusedtosettheLDAPand/orSQL
sourcesusedforauthenticationandglobaladdressbooks.Multiplesourcescanbespecified
asanarrayofdictionaries.AdictionarythatdefinesanLDAPsourcecancontainthefollowing
values:
type Thetypeofthisusersource,settoldap`foran
LDAPsource.
id TheidentificationnameoftheLDAPrepository.Thismustbeuniqueevenwhenusing
multipledomains.
CNFieldName Thefieldthatreturnsthecompletename.
IDFieldName ThefieldthatstartsauserDNifbindFieldsis
notused.Thisfieldmustbeuniqueacrossthe
entireSOGodomain.
UIDFieldName Thefieldthatreturnstheloginnameofauser.
Thereturnedvaluemustbeuniqueacrossthe
wholeSOGoinstallationsinceitisusedto
identifytheuserinthefolder_infodatabase
table.

Configuration

20

Chapter5
MailFieldNames Anarrayoffieldsthatreturnstheusersemail
addresses(defaultstomailwhenunset).
SearchFieldNames Anarrayoffieldstotomatchagainstthe
searchstringwhenfilteringusers(defaultsto
sn,displayName,andtelephoneNumberwhen
unset).
IMAPHostFieldName(optional) ThefieldthatreturnseitheranURItothe
IMAPserverasdescribedforSOGoIMAPServer,orasimpleserverhostnamethatwouldbe
usedasareplacementforthehostnamepartin
theURIprovidedbytheSOGoIMAPServerparameter.
IMAPLoginFieldName(optional) ThefieldthatreturnstheIMAPloginnamefor
theuser(defaultstothevalueofUIDFieldName
whenunset).
SieveHostFieldName(optional) ThefieldthatreturnseitheranURItothe
SIEVEserverasdescribedforSOGoSieveServer,orasimpleserverhostnamethatwouldbe
usedasareplacementforthehostnamepartin
theURIprovidedbytheSOGoSieveServerparameter.
baseDN ThebaseDNofyouruserentries.
KindFieldName(optional) Ifset,SOGowilltrytodetermineifthevalue
ofthefieldcorrespondstoeither"group","location"or"thing".Ifthatsthecase,SOGowill
considerthereturnedentrytobearesource.
ForLDAP-basedsources,SOGocanalsoautomaticallydetermineifitsaresourceiftheentry
hasthecalendarresourceobjectClassset.
MultipleBookingsFieldName(optional) Thevalueofthisattributeisthemaximum
numberofconcurrenteventstowhicharesourcecanbepartofatanypointintime.
Ifthisissetto0,oriftheattributeismissing,it
meansnolimit.
filter(optional) ThefiltertouseforLDAPqueries,itshouldbe
definedasanEOQualifier.Thefollowingoperatorsaresupported:
<>inequalityoperator
=equalityoperator
MultiplequalifierscanbejoinedbyusingOR
andAND,theycanalsobegroupedtogetherby
usingparenthesis.Attributevaluesshouldbe
quotedtoavoidunexpectedbehaviour.
Forexample:filter =
"(objectClass='mailUser' OR
objectClass='mailGroup') AND

Configuration

21

Chapter5

accountStatus='active' AND uid <> 'alice'";


scope(optional) EitherBASE,ONEorSUB.
bindDN TheDNoftheloginnametouseforbindingto
yourserver.
bindPassword Itspassword.
bindAsCurrentUser IfsettoYES,SOGowillalwayskeepbindingto
theLDAPserverusingtheDNofthecurrently
authenticateduser.IfbindFieldsisset,bindDN
andbindPasswordwillstillberequiredtofind
theproperDNoftheuser.
bindFields(optional) Anarrayoffieldstousewhendoingindirect
binds.
hostname Aspace-delimitedlistofLDAPURLsorLDAP
hostnames.
LDAPURLsarespecifiedinRFC4516and
havethefollowinggeneralformat:
scheme://host:port/DN?attributes?scope?
filter?extensions
NotethatSOGodoesntcurrentlysupportDN,
attributes,scopeandfilterinsuchURLs.Using
themmayhaveundefinedsideeffects.
URLsexamples:
ldap://127.0.0.1:3389
ldaps://127.0.0.1
ldap://127.0.0.1/????!StartTLS
port(deprecated) PortnumberoftheLDAPserver.
Anon-defaultportshouldbepartoftheldap
URLinthehostnameparameter.
encryption(deprecated) EitherSSLorSTARTTLS
SSLshouldbespecifiedasldaps://inthe
LDAPURL.STARTTLSshouldbespecified
asaLDAPExtensionintheLDAPURL(e.g.
ldap://127.0.0.1/????!StartTLS)
userPasswordAlgorithm Thealgorithmusedforpasswordencryption
whenchangingpasswordswithoutPassword
Policiesenabled.
Possiblevaluesare:none,plain,crypt,md5,
md5-crypt,smd5,cram-md5andsha,sha256,
sha512anditsssha(e.g.sshaorssha256)variants(plussettingoftheencodingwith.b64or
.hex).

Configuration

22

Chapter5
Foramoredetaileddescriptionseehttp://
wiki.dovecot.org/Authentication/PasswordSchemes.
Notethatcram-md5isnotactuallyusingcrammd5(duetothelackofchallenge-response
mechanism),itsjustsavingtheintermediate
MD5contextasDovecotstoresinitsdatabase.
canAuthenticate IfsettoYES,thisLDAPsourceisusedforauthentication
passwordPolicy IfsettoYES,SOGowillusetheextendedLDAP
PasswordPoliciesattributes.IfyouLDAPserverdoesnotsupportthoseandyouactivatethis
feature,everyLDAPrequestswillfail.
isAddressBook IfsettoYES,thisLDAPsourceisusedasa
sharedaddressbook(withread-onlyaccess).
NotethatifsettoNO,autocompletionwillnot
workforentriesinthissourceandthus,freebusylookups.
displayName(optional) Ifsetasanaddressbook,thehumanidentificationnameoftheLDAPrepository
ModulesConstraints(optional) LimitstheaccessofanymodulethroughaconstraintbasedonanLDAPattribute;mustbea
dictionarywithkeysMail,and/orCalendar,for
example:
ModulesConstraints = {
Calendar = {
ou = employees;
};
};
mapping Adictionarythatmapscontactattributesused
bySOGototheLDAPattributesusedbythe
schemaoftheLDAPsource.Eachentrymust
haveanattributenameaskeyandanarrayof
stringsasvalue.Thisenablesactualfieldstobe
mappedoneafteranotherwhenfetchingcontactinformations.
SeetheLDAPAttributeMappingsectionbelow
foranexampleandalistofsupportedattributes.
objectClasses Whenthemodifierslist(seebelow)isset,or
whenusingLDAP-baseduseraddressbooks
(seeabOUbelow),thislistofobjectclasseswill
beappliedtonewrecordsastheyarecreated.
modifiers Alist(array)ofusernamesthatareauthorized
toperformmodificationstotheaddressbook
definedbythisLDAPsource.

Configuration

23

Chapter5
abOU ThisfieldenablesLDAP-baseduser
addressbooksbyspecifyingthevalueoftheaddressbookcontainerbeneatheachuserentry,forexample:
ou=addressbooks,uid=username,dc=domain.
The following parameters can be defined along the other keys of each entry of the SOGoUserSources,butcanalsodefinedatthedomainand/orsystemlevels:
D SOGoLDAPContactInfoAttribute

Parameterusedtospecifyanattributethat
shouldappearinautocompletionofthewebinterface.

D SOGoLDAPQueryLimit

Parameterusedtolimitthenumberofreturned
resultsfromtheLDAPserverwheneverSOGoperformsaLDAPquery(forexample,duringaddressescompletioninasharedaddress
book).

D SOGoLDAPQueryTimeout

ParametertodefinethetimeoutofLDAP
queries.Theactualtimelimitforoperationsis
alsoboundedbythemaximumtimethatthe
serverisconfiguredtoallow.
Defaultsto0(unlimited).

LDAPAttributesIndexing
To ensure proper performance of the SOGo application, the following LDAP attributes must be
fullyindexed:
givenName
cn
mail
sn
Pleaserefertothedocumentationofthesoftwareyouuseinordertoindexthoseattributes.

LDAPAttributesMapping
SomeLDAPattributesaremappedtocontactsattributesintheSOGoUI.Thetablebelowlistmost
ofthem.Itispossibletooverridethesebyusingthemappingconfigurationparameter.
Forexample,iftheLDAPschemausesthefaxattributetostorethefaxnumber,onecouldmapit
tothefacsimiletelephonenumberattributelikethis:
Configuration

24

Chapter5

mapping = \{
facsimiletelephonenumber = ("fax", "facsimiletelephonenumber");
};
Name
First

givenName

Last

sn

DisplayName

displayNameorcnorgivenName+sn

Nickname

mozillanickname

Internet
Email

mail

Secondaryemail

mozillasecondemail

ScreenName

nsaimid

Phones
Work

telephoneNumber

Home

homephone

Mobile

mobile

Fax

facsimiletelephonenumber

Pager

pager

Home
Address

mozillahomestreet+mozillahomestreet2

City

mozillahomelocalityname

State/Province

mozillahomestate

Zip/PostalCode

mozillahomepostalcode

Country

mozillahomecountryname

Webpage

mozillahomeurl

Work
Title

title

Department

ou

Organization

Address

street+mozillaworkstreet2

City

State/Province

st

Zip/Postalcode

postalCode

Country

Webpage

mozillaworkurl

Other
Birthday

birthyear-birthmonth-birthday

Note

description

Configuration

25

Chapter5

AuthenticatingusingC.A.S.
SOGonativelysupportsC.A.S.authentication.ForactivatingC.A.S.authenticationyouneedfirstto
makesurethattheSOGoAuthenticationType settingissettocasandthattheSOGoCASServiceURL
settingisconfiguredappropriately.
ThetrickypartshowsupwhenusingSOGoasafrontendinterfacetoanIMAPserverasthisimposes
constraintsneededbytheC.A.S.protocoltoensuresecurecommunicationbetweenthedifferent
services.Failingtotakethoseprecautionswillpreventusersfromaccessingtheirmails,whilestill
grantingbasicauthenticationtoSOGoitself.
ThefirstconstraintisthattheamountofworkersthatSOGousesmustbehigherthan1inorder
toenabletheC.A.S.servicetoperformsomevalidationrequestsduringIMAPauthentication.A
singleworkeralonewouldnot,bydefinition,beabletorespondtotheC.A.S.requestswhiletreating
theuserrequestthatrequiredthetriggeringofthoserequests.Youmustthereforeconfigurethe
WOWorkersCountsettingappropriately.
ThesecondconstraintisthattheSOGoservicemustbeaccessibleandaccessedviahttps.Moreover,thecertificateusedbytheSOGoserverhastoberecognizedandtrustedbytheC.A.S.service.Inthecaseofacertificateissuedbyathird-partyauthority,thereshouldbenothingtoworryabout.Inthecaseofaself-signedcertificate,thecertificatemustberegisteredinthetrusted
keystoreoftheC.A.S.application.Theproceduretoachievethiscanbesummarizedasimporting
thecertificateintheproper"keystore"usingthekeytoolutilityandspecifyingthepathforthat
keystoretotheTomcatinstancewhichprovidestheC.A.S.service.Thisisdonebytweakingthe
javax.net.ssl.trustStoresetting,eitherinthecatalina.propertiesfileorinthecommand-line
parameters.Ondebian,theSOGocertificatecanalsobeaddedtothetruststoreasfollows:
openssl x509 -in /etc/ssl/certs/sogo-cert.pem -outform DER \
-out /tmp/sogo-cert.der
keytool -import -keystore /etc/ssl/certs/java/cacerts \
-file /tmp/sogo-cert.der -alias sogo-cert
# The keystore password is 'changeit'
# tomcat must be restarted after this operation
The certificate used by the CAS server must also be trusted by SOGo. In case of a self-signed
certificate,thismeansexportingtomcatscertificateusingthe+keytool+utility,convertingittoPEM
formatandappendingittotheca-certificates.crtfile(thenameandlocationofthatfilediffers
betweendistributions).Basically:
# export tomcat's cert to openssl format
keytool -keystore /etc/tomcat7/keystore -exportcert -alias tomcat | \
openssl x509 -inform der >tomcat.pem
Enter keystore password:

tomcat

# add the pem to the trusted certs


cp tomcat.pem /etc/ssl/certs
cat tomcat.pem >>/etc/ssl/certs/ca-certificates

Configuration

26

Chapter5
Ifanyofthoseconstraintsisnotsatisfied,thewebmailinterfaceofSOGowilldisplayanemptyemail
account.Unfortunately,SOGohasnopossibilitytodetectwhichoneisthecauseoftheproblem.
Theonlyindicatorsarelogmessagesthatatleastpinpointthesymptoms:
"failuretoobtainaPGTfromtheC.A.S.service"
SuchanerrorwillshowupduringauthenticationoftheusertoSOGo.Ithappenswhentheauthenticationservicehasacceptedtheuserauthenticationticketbuthasnotreturneda"ProxyGranting
Ticket".
"aCASfailureoccurredduringoperation."
Thiserrorindicatethatanattemptwasmadetoretrieveanauthenticationticketforathird-party
servicesuchasIMAPorsieve.Mostofthetime,thishappensasaconsequencetotheproblem
describedabove.Totroubleshoottheseissues,oneshouldbetailingcas.log,pamlogsandsogo
logs.
Currently,SOGowillaskforaCASticketusingthesameCASservicenameforbothIMAPand
Sieve.WhenCASifyingsieve,thismeansthatthe-sparameterof`pam_cas`shouldbethesame
forbothIMAPandSieve,otherwisetheCASserverwillcomplain:
ERROR [org.jasig.cas.CentralAuthenticationServiceImpl] - ServiceTicket
[ST-31740-hoV1brhhwMNfnBkSMVUw-ocas] with service [imap://myimapserver
does not match supplied service [sieve://mysieveserver:2000]
Finally,whenusingimapproxytospeeduptheimapaccesses,theSOGoIMAPCASServiceName
shouldbesettotheactualimapservicenameexpectedbypam_cas,otherwiseitwillfailtoauthenticateincomingconnectionproperly.

AuthenticatingusingSAML2
SOGonativelysupportsSAML2authentication.PleaserefertothedocumentationofyouridentityproviderandtheSAML2configurationkeysthatarelistedaboveforpropersetup.OnceaSOGoinstanceisconfiguredproperly,themetadataforthatinstancecanberetrievedfromhttp://
<hostname>/SOGo/saml2-metadataforregistrationwiththeidentityprovider.
In order to relay authentication information to your IMAP server and if you make use of the
CrudeSAMLSASLplugin,youneedtomakesurethatNGImap4AuthMechanismisconfiguredtouse
theSAMLmechanism.IfyoumakeuseoftheCrudeSAMLPAMplugin,thisvaluemaybeleftempty.

DatabaseConfiguration
SOGo requires a relational database system in order to store appointments, tasks and contacts
information.ItalsousesthedatabasesystemtostorepersonalpreferencesofSOGousers.Inthis
guide,weassumeyouusePostgreSQLsocommandsprovidedthecreatethedatabasearerelated
tothisapplication.However,otherdatabaseserversaresupported,suchasMySQLandOracle.
Configuration

27

Chapter5
First,makesurethatyourPostgreSQLserverhasTCP/IPconnectionssupportenabled.
Createthedatabaseuserandschemausingthefollowingcommands:
su # postgres
createuser --no-superuser --no-createdb #-no-createrole \
#-encrypted --pwprompt sogo
(specify sogo as password)
createdb -O sogo sogo
Youshouldthenadjusttheaccessrightstothedatabase.Todoso,modifytheconfigurationfile/
var/lib/pgsql/data/pg_hba.confinordertoaddthefollowinglineattheverybeginningofthe
file:
host sogo sogo 127.0.0.1/32 md5
Onceadded,restartthePostgreSQLdatabaseservice.Then,modifytheSOGoconfigurationfile(/
etc/sogo/sogo.conf)toreflectyourdatabasesettings:
SOGoProfileURL =
"postgresql://sogo:sogo@localhost:5432/sogo/sogo_user_profile";
OCSFolderInfoURL =
"postgresql://sogo:sogo@localhost:5432/sogo/sogo_folder_info";
OCSSessionsFolderURL =
"postgresql://sogo:sogo@localhost:5432/sogo/sogo_sessions_folder";
Thefollowingtabledescribestheparametersthatwereset:
D SOGoProfileURL

ParameterusedtosetthedatabaseURLso
thatSOGocanretrieveuserprofiles.
ForMySQL,setthedatabaseURLtosomething
like:mysql://sogo:sogo@localhost:3306/sogo/sogo_user_profile.

D OCSFolderInfoURL

ParameterusedtosetthedatabaseURLso
thatSOGocanretrievethelocationofuser
folders(addressbooksandcalendars).
ForOracle,setthedatabaseURLtosomething
like:oracle://sogo:sogo@localhost:1526/sogo/sogo_folder_info.

D OCSSessionsFolderURL

ParameterusedtosetthedatabaseURLso
thatSOGocanstoreandretrievesecureduser
sessionsinformation.ForPostgreSQL,thedatabaseURLcouldbesettosomethinglike:postgresql://sogo:sogo@localhost:5432/sogo/sogo_sessions_folder.

D OCSEMailAlarmsFolderURL

ParameterusedtosetthedatabaseURL
foremail-basedalarms(thatcanbeseton
eventsandtasks).ThisparameterisrelevantonlyifSOGoEnableEMailAlarmsis
settoYES.ForPostgreSQL,thedatabase
URLcouldbesettosomethinglike:postConfiguration

28

Chapter5

gresql://sogo:sogo@localhost:5432/sogo/sogo_alarms_folder
Seethe"EMailreminders"sectioninthisdocumentformoreinformation.
IfyoureusingMySQL,makesureinyourmy.cnffileyouhave:
[mysqld]
...
character_set_server=utf8
character_set_client=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

AuthenticationusingSQL
SOGocanuseaSQL-baseddatabaseserverforauthentication.Theconfigurationisverysimilar
toLDAP-basedauthentication.
ThefollowingtabledescribesallthepossibleparametersrelatedtoaSQLsource:
D SOGoUserSources

ParameterusedtosettheSQLand/orLDAP
sourcesusedforauthenticationandglobaladdressbooks.Multiplesourcescanbespecified
asanarrayofdictionaries.AdictionarythatdefinesaSQLsourcecancontainthefollowing
values:

type

Thetypeofthisusersource,settosqlfora
SQLsource.

id

TheidentificationnameoftheSQLrepository.
Thismustbeuniqueevenwhenusingmultipledomains.

viewURL

DatabaseURLoftheviewusedbySOGo.The
viewexpectscolumnstobepresent.Required
columnsare:
c_uid:willbeusedforauthenticationitsa
usernameorusername@domain.tld
c_name:willbeusedtouniquelyidentifyentrieswhichcanbeidenticaltoc_uid
c_password:passwordoftheuser,plaintext,
crypt,md5orshaencoded
c_cn:theuserscommonname
mail:theusersemailaddress
Configuration

29

Chapter5
Othercolumnscanexistandwillactuallybe
mappedautomaticallyiftheyhavethesame
nameaspopularLDAPattributes(suchas
givenName,sn,department,title,telephoneNumber,etc.).
userPasswordAlgorithm

Thedefaultalgorithmusedforpasswordencryptionwhenchangingpasswords.Possible
valuesare:none,plain,crypt,md5,md5-crypt,
smd5,cram-md5,ldap-md5,andsha,sha256,
sha512anditsssha(e.g.sshaorssha256)variants.Passwordscanhavetheschemeprependedintheform{scheme}encryptedPass.
Ifnoschemeisgiven,userPasswordAlgorithmisusedinstead.Theschemeslisted
abovefollowthealgorithmsdescribedin
http://wiki.dovecot.org/Authentication/PasswordSchemes.
Notethatcram-md5isnotactuallyusingcrammd5(duetothelackofchallenge-response
mechanism),itsjustsavingtheintermediate
MD5contextasDovecotstoresinitsdatabase.

prependPasswordScheme

Thedefaultbehaviouristostorenewlyset
passwordswithoutthescheme(default:
NO).Thiscanbeoverriddenbysettingto
YESandwillresultinpasswordsstoredas
{scheme}encryptedPass.

canAuthenticate

IfsettoYES,thisSQLsourceisusedforauthentication.

isAddressBook

IfsettoYES,thisSQLsourceisusedasa
sharedaddressbook(withread-onlyaccess).
NotethatifsettoNO,autocompletionwillnot
workforentriesinthissourceandthus,freebusylookups.

authenticationFilter(optional)

Afilterthatlimitswhichuserscanauthenticate
fromthissource.

displayName(optional)

Ifsetasanaddressbook,thehumanidentificationnameoftheSQLrepository.

LoginFieldNames(optional)

Anarrayoffieldsthatspecifiesthecolumn
namesthatcontainvalidauthenticationusernames(defaultstoc_uidwhenunset).

MailFieldNames(optional)

Aanarrayoffieldsthatspecifiesthecolumn
namesthatholdadditionalemailaddresses(besidethemailcolumn)foreachuser.

IMAPHostFieldName(optional)

ThefieldthatreturnstheIMAPhostnamefor
theuser.

IMAPLoginFieldName(optional)

ThefieldthatreturnstheIMAPloginnamefor
theuser(defaultstoc_uidwhenunset).

Configuration

30

Chapter5
SieveHostFieldName(optional)

ThefieldthatreturnstheSievehostnamefor
theuser.

KindFieldName(optional)

Ifset,SOGowilltrytodetermineifthevalue
ofthefieldcorrespondstoeither"group","location"or"thing".Ifthatsthecase,SOGowill
considerthereturnedentrytobearesource.

MultipleBookingsFieldName(optional)

Thevalueofthisfieldisthemaximumnumber
ofconcurrenteventstowhicharesourcecan
bepartofatanypointintime.
Ifthisissetto0,oriftheattributeismissing,it
meansnolimit.

DomainFieldName(optional)

Ifset,SOGowillusethevalueofthatfieldas
thedomainassociatedtotheuser.
SeetheMulti-domainsConfigurationsectionin
thisdocumentformoreinformation.

HereisanexampleofanSQL-basedauthenticationandaddressbooksource:
SOGoUserSources =
(
{
type = sql;
id = directory;
viewURL = "postgresql://sogo:sogo@127.0.0.1:5432/sogo/sogo_view";
canAuthenticate = YES;
isAddressBook = YES;
userPasswordAlgorithm = md5;
}
);
Certaindatabasecolumnsmustbepresentintheview/table,suchas:
c_uidwillbeusedforauthenticationitstheusernameorusername@domain.tld
c_namewhichcanbeidenticaltoc_uidwillbeusedtouniquelyidentifyentries
c_passwordpasswordoftheuser,plain-text,md5orshaencodedfornow
c_cntheuserscommonnamesuchas"JohnDoe"
mailtheusersmailaddress
NotethatgroupsarecurrentlynotsupportedforSQL-basedauthenticationsources.

SMTPServerConfiguration
SOGomakesuseofaSMTPservertosendemailsfromtheWebinterface,iMIP/iTIPmessages
andvariousnotifications.
Configuration

31

Chapter5
Thefollowingtabledescribestherelatedparameters.
D SOGoMailingMechanism

ParameterusedtosethowSOGosendsmail
messages.Possiblevaluesare:
sendmailtousethesendmailbinary
smtptousetheSMTPprotocol

D SOGoSMTPServer

TheDNSnameorIPaddressoftheSMTP
serverusedwhenSOGoMailingMechanismisset
tosmtp.

D SOGoSMTPAuthenticationType

ActivateSMTPauthenticationandspecifies
whichtypeisinuse.Current,onlyPLAINissupportedandothervalueswillbeignored.

S WOSendMail

Thepathofthesendmailbinary.
Defaultsto/usr/lib/sendmail.

D SOGoForceExternalLoginWithEmail

Parameterusedtospecifyif,whenlogginginto
theSMTPserver,theprimaryemailaddressof
theuserwillbeusedinsteadoftheusername.
Possiblevaluesare:
YES
NO
DefaultstoNOwhenunset.

IMAPServerConfiguration
SOGorequiresanIMAPserverinordertoletusersconsulttheiremailmessages,managetheirfoldersandmore.
Thefollowingtabledescribestherelatedparameters.
U SOGoDraftsFolderName

ParameterusedtosettheIMAPfoldername
usedtostoredraftsmessages.
DefaultstoDraftswhenunset.
Usea/asahierarchyseparatorifreferringto
anIMAPsubfolder.Forexample:INBOX/Drafts.

U SOGoSentFolderName

ParameterusedtosettheIMAPfoldername
usedtostoresentmessages.
DefaultstoSentwhenunset.
Usea/asahierarchyseparatorifreferringto
anIMAPsubfolder.Forexample:INBOX/Sent.

U SOGoTrashFolderName

ParameterusedtosettheIMAPfoldername
usedtostoredeletedmessages.
Configuration

32

Chapter5
DefaultstoTrashwhenunset.
Usea/asahierarchyseparatorifreferringto
anIMAPsubfolder.Forexample:INBOX/Trash.
D SOGoIMAPCASServiceName

ParameterusedtosettheCASservicename
(URL)oftheimapservice.ThisisusefulifSOGoisconnectingtotheIMAPservicethrough
aproxy.Whenusingpam_cas,thisparameter
shouldbesettothesamevalueasthe-sargumentoftheimappamservice.

D SOGoIMAPServer

ParameterusedtosettheDNSnameorIPaddressoftheIMAPserverusedbySOGo.You
canalsouseSSLorTLSbyprovidingavalue
usinganURL,suchas:
imaps://localhost:993
imaps://localhost:143/?tls=YES

D SOGoSieveServer

ParameterusedtosettheDNSnameorIPaddressoftheSieve(managesieve)serverusedby
SOGo.YoumustuseanURLsuchas:
sieve://localhost
sieve://localhost:2000
sieve://localhost:2000/?tls=YES
NotethatTLSissupportedbutSSLisnot.

D SOGoSieveFolderEncoding

Parameterusedtospecifywhichencodingis
usedforIMAPfoldernamesinSievefilters.Defaultsto"UTF-7".Theotherpossiblevalueis
"UTF-8".

U SOGoMailShowSubscribedFoldersOnly

ParameterusedtospecifyiftheWebinterfaceshouldonlyshowsubscribedIMAPfolders.Possiblevaluesare:
YES
NO
DefaultstoNOwhenunset.

D SOGoIMAPAclStyle

ParameterusedtospecifywhichRFCtheIMAP
serverimplementswithrespecttoACLs.Possiblevaluesare:
rfc2086
rfc4314
Defaultstorfc4314whenunset.

D SOGoIMAPAclConformsToIMAPExt

ParameterusedtospecifyiftheIMAPserver
implementstheInternetMessageAccessProtocolExtension.Possiblevaluesare:
YES
NO

Configuration

33

Chapter5
DefaultstoNOwhenunset.
D SOGoForceExternalLoginWithEmail

Parameterusedtospecifyif,whenlogginginto
theIMAPserver,theprimaryemailaddressof
theuserwillbeusedinsteadoftheusername.
Possiblevaluesare:
YES
NO
DefaultstoNOwhenunset.

D SOGoMailSpoolPath

Parameterusedtosetthepathwheretemporaryemaildraftsarewritten.Ifyouchangethis
value,youmustalsomodifythedailycronjob
sogo-tmpwatch.
Defaultsto/var/spool/sogo.

S NGImap4ConnectionStringSeparator

ParameterusedtosettheIMAPmailbox
separator.Settingthiswillalsohaveanimpact
onthemailboxseparatorusedbySievefilters.
Thedefaultseparatoris/.

S NGImap4AuthMechanism

TriggertheuseoftheIMAPAUTHENTICATE
commandwiththespecifiedSASLmechanism.
Pleasenotethatfeaturemightbelimitedatthis
time.

D NGImap4ConnectionGroupIdPrefix

PrefixtoprependtonamesinIMAPACLtransactions,toindicatethenameisagroupname
notausername.
RFC4314givesexampleswheregroupnames
areprefixedwith$.Dovecot,forone,follows
thisscheme,andwill,forexample,applypermissionsfor$adminstoallusersingroupadminsintheabsenceofspecificpermissionsfor
theindividualuser.
Thedefaultprefixis$.

WebInterfaceConfiguration
ThefollowingadditionalparametersonlyaffecttheWebinterfacebehaviourofSOGo.
S SOGoPageTitle

ParameterusedtodefinetheWebpagetitle.
DefaultstoSOGowhenunset.

U SOGoLoginModule

Parameterusedtospecifywhichmoduleto
showafterlogin.Possiblevaluesare:

Configuration

34

Chapter5
Calendar
Mail
Contacts
DefaultstoCalendarwhenunset.
S SOGoFaviconRelativeURL

ParameterusedtospecifytherelativeURLof
thesitefavion.
Whenunset,defaultstothefilesogo.icounderthedefaultwebresourcesdirectory.

S SOGoZipPath

Parameterusedtospecifythepathofthezip
binaryusedtoarchivemessages.
Defaultsto/usr/bin/zipwhenunset.

D SOGoSoftQuotaRatio

Parameterusedtochangethequotareturned
bytheIMAPserverbymultiplyingitbythe
specifiedratio.Actsasasoftquota.Example:
0.8.

U SOGoMailUseOutlookStyleReplies(notcurrentlyeditableinWebinterface)

Parameterusedtosetifemailrepliesshould
useOutlooksstyle.
DefaultstoNOwhenunset.

U SOGoMailListViewColumnsOrder(notcurrentlyeditableinWebinterface)

Parameterusedtospecifythedefaultorderof
thecolumnsfromtheSOGowebmailinterface.
Theparameterisanarray,forexample:
SOGoMailListViewColumnsOrder =
(Flagged, Attachment, Priority, From,
Subject, Unread, Date, Size);

D SOGoVacationEnabled

Parameterusedtoactivatetheeditionfromthe
preferenceswindowofavacationmessage.
RequiresSievescriptsupportontheIMAP
host.
DefaultstoNOwhenunset.
Whenenablingthisparameter,onemustalso
enabletheassociatedcronjobin/etc/cron.d/
sogoinordertoactivateautomaticvacation
messageexpiration.
SeetheCronjobVacationmessagesexpiration
sectionbelowfordetails.

D SOGoForwardEnabled

Parameterusedtoactivatetheeditionfrom
thepreferenceswindowofaforwardingemail
address.RequiresSievescriptsupportonthe
IMAPhost.
DefaultstoNOwhenunset.

Configuration

35

Chapter5
D SOGoSieveScriptsEnabled

Parameterusedtoactivatetheeditionfrom
thepreferenceswindowsofserver-sidemailfilters.RequiresSievescriptsupportontheIMAP
host.
DefaultstoNOwhenunset.

D SOGoMailPollingIntervals

Parameterusedtodefinethemailpollingintervals(inminutes)availabletotheuser.Theparameterisanarraythatcancontainthefollowing
numbers:

1
2
5
10
20
30
60

Defaultstothelistabovewhenunset.
U SOGoMailMessageCheck

ParameterusedtodefinethemailpollingintervalatwhichtheIMAPserverisqueriedfornew
messages.Possiblevaluesare:

manually
every_minute
every_2_minutes
every_5_minutes
every_10_minutes
every_20_minutes
every_30_minutes
once_per_hour

Defaultstomanuallywhenunset.
D SOGoMailAuxiliaryUserAccountsEnabled

ParameterusedtoactivatetheauxiliaryIMAP
accountsinSOGo.WhensettoYES,userscan
addotherIMAPaccountsthatwillbevisible
fromtheSOGoWebmailinterface.
DefaultstoNOwhenunset.

U SOGoDefaultCalendar

Parameterusedtospecifywhichcalendaris
usedwhencreatinganeventoratask.Possible
valuesare:
selected
personal
first
Defaultstoselectedwhenunset.

U SOGoDayStartTime

Thehouratwhichthedaystarts(0through12).
Defaultsto8whenunset.

Configuration

36

Chapter5
U SOGoDayEndTime

Thehouratwhichthedayends(12through
23).
Defaultsto18whenunset.

U SOGoFirstDayOfWeek

Thedayatwhichtheweekstartsintheweek
andmonthviews(0through6).0indicatesSunday.
Defaultsto0whenunset.

U SOGoFirstWeekOfYear

Parameterusedtodefinedhowisidentifiedthe
firstweekoftheyear.Possiblevaluesare:
January1
First4DayWeek
FirstFullWeek
DefaultstoJanuary1whenunset.

U SOGoTimeFormat

Theformatusedtodisplaytimeinthetimeline
ofthedayandweekviews.Pleaserefertothe
documentationforthedatecommandorthe
strftimeCfunctionforthelistofavailableformatsequence.
Defaultsto%H:%M.

U SOGoCalendarCategories

Parameterusedtodefinethecategoriesthat
canbeassociatedtoevents.Thisparameteris
anarrayofarbitrarystrings.
Defaultstoalistthatdependsonthelanguage.

U SOGoCalendarDefaultCategoryColor

Parameterusedtodefinethedefaultcolourof
categories.
Defaultsto#F0F0F0whenunset.

U SOGoCalendarEventsDefaultClassification

Parameterusedtodefinedthedefaultclassificationfornewevents.Possiblevaluesare:
PUBLIC
CONFIDENTIAL
PRIVATE
DefaultstoPUBLICwhenunset.

U SOGoCalendarTasksDefaultClassification

Parameterusedtodefinedthedefaultclassificationfornewtasks.Possiblevaluesare:
PUBLIC
CONFIDENTIAL
PRIVATE
DefaultstoPUBLICwhenunset.

U SOGoCalendarDefaultReminder

Parameterusedtodefinedadefaultreminder
fornewevents.Possiblevaluesare:

Configuration

37

Chapter5

D SOGoFreeBusyDefaultInterval

-PT5M
-PT10M
-PT15M
-PT30M
-PT45M
-PT1H
-PT2H
-PT5H
-PT15H
-P1D
-P2D
-P1W

Thenumberofdaystoincludeinthefreebusy
information.Theparameterisanarrayoftwo
numbers,thefirstbeingthenumberofdays
priortothecurrentdayandthesecondbeing
thenumberofdaysfollowingthecurrentday.
Defaultsto(7, 7)whenunset.

U SOGoBusyOffHours

Parameterusedtospecifyifoff-hoursshould
beautomaticallyaddedtothefree-busyinformation.OffhoursincludedweekendsandperiodscoveredbetweenSOGoDayEndTimeand
SOGoDayStartTime .
DefaultstoNOwhenunset.

U SOGoMailMessageForwarding

Themethodthemessageistobeforwarded.
Possiblevaluesare:
inline
attached
Defaultstoinlinewhenunset.

U SOGoMailCustomFullName

Thestringtouseasfullnamewhencomposing
anemail,ifSOGoMailCustomFromEnabledisset
intheusersdomaindefaults.
Whenunset,thefullnamespecifiedintheuser
sourcesfortheuserisusedinstead.

U SOGoMailCustomEmail

Thestringtouseasemailaddresswhencomposinganemail,ifSOGoMailCustomFromEnabledissetintheusersdomaindefaults.
Whenunset,theemailspecifiedintheuser
sourcesfortheuserisusedinstead.

U SOGoMailReplyPlacement

Thereplyplacementwithrespecttothequoted
message.Possiblevaluesare:
above
below
Defaultstobelow.

Configuration

38

Chapter5
U SOGoMailReplyTo

Theemailaddresstouseinthereply-toheaderfieldwhentheusersendsamessage.
Ignoredwhenempty.

U SOGoMailSignaturePlacement

Theplacementofthesignaturewithrespectto
thequotedmessage.Possiblevaluesare:
above
below
Defaultstobelow.

U SOGoMailComposeMessageType

Themessagecompositionformat.Possiblevaluesare:
text
html
Defaultstotext.

S SOGoEnableEMailAlarms

Parameterusedtoenableemail-basedalarms
oneventsandtasks.
DefaultstoNOwhenunset.
Forthisfeaturetoworkcorrectly,onemust
alsosettheOCSEMailAlarmsFolderURLparameterandenabletheassociatedcronjob.See
theCronjobEMailreminderssectionfromthis
documentformoreinformation.

U SOGoContactsCategories

Parameterusedtodefinethecategoriesthat
canbeassociatedtocontacts.Thisparameteris
anarrayofarbitrarystrings.
Defaultstoalistthatdependsonthelanguage.

D SOGoUIAdditionalJSFiles

ParameterusedtodefinealistofadditionalJavaScriptfilesloadedbySOGoforalldisplayedwebpages.Thisparameterisanarrayof
stringscorrespondingofpathstothearbitrary
JavaScriptfiles.Thepathsarerelativetothe
WebServerResourcesdirectory,whichisusually
foundunder/usr/lib/GNUstep/SOGo/.

D SOGoMailCustomFromEnabled

Parameterusedtoallowornotuserstospecify
custom"From"addressesfromSOGospreferencespanel.
DefaultstoNOwhenunset.

D SOGoSubscriptionFolderFormat

Parameterusedtosetthedefaultformattingof
asubscriptionfoldername.Availablevariables
are:
%{FolderName}
%{UserName}
Configuration

39

Chapter5
%{Email}
Defaultsto%{FolderName} (%{UserName} <
%{Email}>)whenunset.
D SOGoUIxAdditionalPreferences

Parameterusedtoenableanextrapreferences
tabusingthecontentofthetemplatenamed
UIxAdditionalPreferences.wox.Thistemplateshouldbeputunder~sogo/GNUstep/Library/SOGo/Templates/PreferencesUI/.
DefaultstoNOwhenunset.

SOGoConfigurationSummary
ThecompleteSOGoconfigurationfile+/etc/sogo/sogo.conf+shouldlooklikethis:

Configuration

40

Chapter5

{
SOGoProfileURL =
"postgresql://sogo:sogo@localhost:5432/sogo/sogo_user_profile";
OCSFolderInfoURL =
"postgresql://sogo:sogo@localhost:5432/sogo/sogo_folder_info";
OCSSessionsFolderURL =
"postgresql://sogo:sogo@localhost:5432/sogo/sogo_sessions_folder";
SOGoAppointmentSendEMailNotifications = YES;
SOGoCalendarDefaultRoles = (
PublicViewer,
ConfidentialDAndTViewer
);
SOGoLanguage = English;
SOGoTimeZone = America/Montreal;
SOGoMailDomain = acme.com;
SOGoIMAPServer = localhost;
SOGoDraftsFolderName = Drafts;
SOGoSentFolderName = Sent;
SOGoTrashFolderName = Trash;
SOGoMailingMechanism = smtp;
SOGoSMTPServer = 127.0.0.1;
SOGoUserSources = (
{
type = ldap;
CNFieldName = cn;
IDFieldName = uid;
UIDFieldName = uid;
baseDN = "ou=users,dc=acme,dc=com";
bindDN = "uid=sogo,ou=users,dc=acme,dc=com";
bindPassword = qwerty;
canAuthenticate = YES;
displayName = "Shared Addresses";
hostname = localhost;
id = public;
isAddressBook = YES;
port = 389;
}
);
}

Multi-domainsConfiguration
Ifyouwantyourinstallationtoisolatetwogroupsofusers,youmustdefineadistinctauthenticationsourceforeachdomain.Followingisthesameconfigurationthatnowincludestwodomains
(acme.comandcoyote.com):

Configuration

41

Chapter5

{
...
domains = {
acme = {
SOGoMailDomain = acme.com;
SOGoDraftsFolderName = Drafts;
SOGoUserSources = (
{
type = ldap;
CNFieldName = cn;
IDFieldName = uid;
UIDFieldName = uid;
baseDN = "ou=users,dc=acme,dc=com";
bindDN = "uid=sogo,ou=users,dc=acme,dc=com";
bindPassword = qwerty;
canAuthenticate = YES;
displayName = "Shared Addresses";
hostname = localhost;
id = public_acme;
isAddressBook = YES;
port = 389;
}
);
};
coyote = {
SOGoMailDomain = coyote.com;
SOGoIMAPServer = imap.coyote.com;
SOGoUserSources = (
{
type = ldap;
CNFieldName = cn;
IDFieldName = uid;
UIDFieldName = uid;
baseDN = "ou=users,dc=coyote,dc=com";
bindDN = "uid=sogo,ou=users,dc=coyote,dc=com";
bindPassword = qwerty;
canAuthenticate = YES;
displayName = "Shared Addresses";
hostname = localhost;
id = public_coyote;
isAddressBook = YES;
port = 389;
}
);
};
};
}
ThefollowingadditionalparametersonlyaffectSOGowhenusingmultipledomains.
S SOGoEnableDomainBasedUID

Parameterusedtoactivateuseridentificationbydomain.Userswillbeable(withoutbeingrequired)tologinusingtheform
Configuration

42

Chapter5

username@domain,meaningthatvaluesofUIDFieldNamenolongerhavetobeuniqueamong
alldomainsbutonlywithinthesamedomain.
Internally,userswillalwaysbeidentifiedbythe
concatenationoftheirusernameanddomain.
Consequently,activatingthisparameteronan
existingsystemimpliesthatuseridentifierswill
changeandtheirpreviouscalendarsandaddressbookswillnolongerbeaccessibleunless
aconversionisperformed.
DefaultstoNOwhenunset.
S SOGoLoginDomains

Parameterusedtodefinewhichdomains
shouldbeselectablefromtheloginpage.This
parameterisanarrayofkeysfromthedomains
dictionary.
Defaultstoanemptyarray,whichmeansthat
nodomainsappearontheloginpage.Ifyou
preferhavingthedomainnameslisted,justuse
theseaskeysforthethedomainsdictionary.

S SOGoDomainsVisibility

Parameterusedtosetdomainsvisibleamong
themselves.Thisparameterisanarrayofarrays.
Example:SOGoDomainsVisibility = ((acme,
coyote));
Defaultstoanemptyarray,whichmeansdomainsareisolatedfromeachother.

ApacheConfiguration
TheSOGoconfigurationforApacheislocatedin/etc/httpd/conf.d/SOGo.conf.
UponSOGoinstallation,adefaultconfigurationfileiscreatedwhichissuitableformostconfigurations.
YoumustalsoconfigurethefollowingparametersintheSOGoconfigurationfileforApacheinorder
tohaveaworkinginstallation:
RequestHeader set "x-webobjects-server-port" "80"
RequestHeader set "x-webobjects-server-name" "yourhostname"
RequestHeader set "x-webobjects-server-url" "http://yourhostname"
YoumayconsiderenablingSSLontopofthiscurrentinstallationtosecureaccesstoyourSOGo
installation.
Seehttp://httpd.apache.org/docs/2.2/ssl/fordetails.
Configuration

43

Chapter5
YoumightalsohavetoadjusttheconfigurationifyouhaveSELinuxenabled.
Thedefaultconfigurationwillusemod_proxyandmod_headerstorelayrequeststothesogodparent
process.Thisissuitableforsmalltomediumdeployments.

StartingServices
OnceSOGoiffullyinstalledandconfigured,starttheservicesusingthefollowingcommand:
service sogod start
YoumayverifyusingthechkconfigcommandthattheSOGoserviceisautomaticallystartedatboot
time.RestarttheApacheservicesincemodulesandconfigurationfileswereadded:
service httpd restart
Finally,youshouldalsomakesurethatthememcachedserviceisstartedandthatitisalsoautomaticallystartedatboottime.

CronjobEMailreminders
SOGoallowsyoutosetemail-basedremindersforeventsandtasks.Toenablethis,youmustenable
theSOGoEnableEMailAlarmspreferenceandsettheOCSEMailAlarmsFolderURLpreferenceaccordingly.
Onceyouvecorrectlysetthosetwopreferences,youmustcreateacronjobthatwillrununderthe
"sogo"user.Thiscronjobshouldberuneveryminute.
Acommentedoutexampleshouldhavebeeninstalledin/etc/cron.d/sogo,toenableit,simply
uncommentit.
Asareference,thecronjobshoulddedefinedlikethis:
* * * * * /usr/sbin/sogo-ealarms-notify
If your mail server requires use of SMTP AUTH, specify a credential file using -p /path/
to/credFile. This file should contain the username and password, separated by a colon
(username:password)

Configuration

44

Chapter5

CronjobVacationmessagesexpiration
Whenvacationmessagesareenabled(seetheparameterSOGoVacationEnabled ),userscansetan
expirationdatetomessagesauto-reply.Forthisfeaturetowork,youmustrunacronjobunderthe
"sogo"user.
A commented out example should have been installed in /etc/cron.d/sogo. To work correctly
thistoolmustloginasanadministrativeuseronthesieveserver.Therequiredcredentialsmust
bespecifiedinafilebyusing-p /path/to/credFile.Thisfileshouldcontaintheusernameand
password,separatedbyacolon(username:password).
Thecronjobshouldlooklikethis:
0 0 * * *sogo /usr/sbin/sogo-tool expire-autoreply -p /etc/sogo/sieve.creds

Configuration

45

Chapter6

ManagingUserAccounts

CreatingtheSOGoAdministrativeAccount
First, create the SOGo administrative account in your LDAP server. The following LDIF file
(sogo.ldif)canbeusedasanexample:
dn: uid=sogo,ou=users,dc=acme,dc=com
objectClass: top
objectClass: inetOrgPerson
objectClass: person
objectClass: organizationalPerson
uid: sogo
cn: SOGo Administrator
mail: sogo@acme.com
sn: Administrator
givenName: SOGo
LoadtheLDIFfileinsideyourLDAPserverusingthefollowingcommand:
ldapadd -f sogo.ldif -x -w qwerty -D cn=Manager,dc=acme,dc=com
Finally,setthepassword(tothevalueqwerty)oftheSOGoadministrativeaccountusingthefollowingcommand:
ldappasswd -h localhost -x -w qwerty -D cn=Manager,dc=acme,dc=com
uid=sogo,ou=users,dc=acme,dc=com -s qwerty

CreatingaUserAccount
SOGousesLDAPdirectoriestoauthenticateusers.UsethefollowingLDIFfile(jdoe.ldif)asan
exampletocreateaSOGouseraccount:

ManagingUserAccounts

46

Chapter6

dn: uid=jdoe,ou=users,dc=acme,dc=com
objectClass: top
objectClass: inetOrgPerson
objectClass: person
objectClass: organizationalPerson
uid: jdoe
cn: John Doe
mail: jdoe@acme.com
sn: Doe
givenName: John
LoadtheLDIFfileinsideyourLDAPserverusingthefollowingcommand:
ldapadd -f jdoe.ldif -x -w qwerty -D cn=Manager,dc=acme,dc=com
Finally,setthepassword(tothevalueqwerty)oftheSOGoadministrativeaccountusingthefollowingcommand:
ldappasswd -h localhost -x -w qwerty -D cn=Manager,dc=acme,dc=com
uid=jdoe,ou=users,dc=acme,dc=com -s qwerty
As an alternative to using command-line tools, you can also use LDAP editors such as Luma or
ApacheDirectoryStudiotomakeyourworkeasier.TheseGUIutilitiescanmakeuseoftemplates
tocreateandpre-configuretypicaluseraccountsoranystandardizedLDAPrecord,alongwiththe
correctobjectclasses,fieldsanddefaultvalues.

ManagingUserAccounts

47

Chapter7

MicrosoftActiveSync

SOGosupportstheMicrosoftActiveSyncprotocol.
ActiveSyncclientscanfullysynchronizecontacts,emails,eventsandtaskswithSOGo.Freebusy
andGALlookupsarealsosupported,aswellas"Smartreply"and"Smartforward"operations.
ToenableMicrosoftActiveSyncsupportinSOGo,youmustinstalltherequiredpackages.
yum install sogo-activesync libwbxml
Onceinstalled,simplyuncommentthefollowinglinesfromyourSOGoApacheconfiguration:
ProxyPass /Microsoft-Server-ActiveSync \
http://127.0.0.1:20000/SOGo/Microsoft-Server-ActiveSync \
retry=60 connectiontimeout=5 timeout=360
RestartApacheafterwards.
ThefollowingadditionalparametersonlyaffectSOGowhenusingActiveSync:
S SOGoMaximumPingInterval

Parameterusedtosetthemaximumamountof
time,inseconds,SOGowillwaitbeforereplying
toaPingcommand.
Ifnotset,itdefaultsto5seconds.

S SOGoMaximumSyncInterval

Parameterusedtosetthemaximumamountof
time,inseconds,SOGowillwaitbeforereplying
toaSynccommand.
Ifnotset,itdefaultsto30seconds.

S SOGoInternalSyncInterval

Parameterusedtosetthemaximumamount
oftime,inseconds,SOGowillwaitbeforedoinganinternalcheckfordatachanges(add,
delete,andupdate).Thisparametermustbe
lowerthanSOGoMaximumSyncInterval.
Ifnotset,itdefaultsto10seconds.

S SOGoMaximumSyncWindowSize

Parameterusedtooverwritethemaximum
numberofitemsreturnedduringaSyncoperation.
Defaultsto0,whichmeansnooverwriteisperformed.

MicrosoftActiveSync

48

Chapter7
Settingthisparametertoavaluegreaterthan
512willhaveunexpectedbehaviourwithvariousActiveSyncclients.
Pleasebeawareofthefollowinglimitations:
Currently,onlythepersonalcalendarandaddressbookaresynchronized.Addingsupportforall
foldersisplanned.
WhencreatinganOutlook2013profile,youmustactuallykillOutlookbeforetheendofthe
creationprocess.Seehttp://www.vionblog.com/connect-zimbra-community-with-outlook-2013
foraprocedureexample.
Outlook2013doesnotsearchtheGAL.OnepossiblealternativesolutionistoconfigureOutlook
touseaLDAPserver(overSSL)withauthentication.Alternatively,whensupportingmorethan
justthepersonaladdressbook,wellalsobeabletoexposetheLDAP/SQLbasedaddressbooks
inSOGooverActiveSync.
Makesureyoudonotuseaself-signedcertificate.Whilethiswillwork,Outlookwillworkintermittentlyasitwillraisepopupsforcertificatevalidation,sometimesinbackground,preventing
theusertoseethewarningandthus,preventinganysynchronizationtohappen.
ActiveSyncclientskeepconnectionsopenforawhile.Eachconnectionwillgrabaholdonasogod
processsoyouwillneedalotofprocessestohandlemanyclients.Thislimitationwilleventually
beovercomeinSOGo.
Repetitiveeventswithoccurrencesexceptionsarecurrentlynotsupported.
Outlook2013Autodiscoveryiscurrentlynotsupported.
Outlook2013freebusylookupsaresupportedusingtheInternetFree/BusyfeatureofOutlook
2013.Pleaseseehttp://support.microsoft.com/kb/291621forconfigurationinstructions.Onthe
SOGoside,SOGoEnablePublicAccessmustbesettoYESandtheURLtousemustbeofthefollowingformat:http://<hostname>/SOGo/dav/public/%NAME%/freebusy.ifb
InordertousetheSOGoActiveSyncsupportcodeinproductionenvironments,youneedtogeta
properusagelicensefromMicrosoft.Pleasecontactthemdirectlytonegotiatethefeesassociated
toyouruserbase.
TocontactMicrosoft,pleasevisit:
http://www.microsoft.com/en-us/
legal/intellectualproperty/IPLicensing/Programs/exchangeactivesyncprotocol.aspx and send an
emailtoiplicreq@microsoft.com
Inverseinc.providesthissoftwareforfree,butisnotresponsibleforanythingrelatedtoitsusage.

MicrosoftActiveSync

49

Chapter8

UsingSOGo

SOGoWebInterface
ToaccestheSOGoWebInterface,pointyourWebbrowser,whichisrunningfromthesameserver
whereSOGowasinstalled,tothefollowingURL:http://localhost/SOGo.
Loginusingthe"jdoe"userandthe"qwerty"password.TheunderlyingdatabasetableswillautomaticallybecreatedbySOGo.

MozillaThunderbirdandLightning
Alternatively,youcanaccessSOGowithaGroupDAVandaCalDAVclient.Atypicalwell-integrated
setupistouseMozillaThunderbirdandMozillaLightningalongwithInversesSOGoConnectorplug
intosynchronizeyouraddressbooksandtheInversesSOGoIntegratorplugintoprovideacomplete
integrationofthefeaturesofSOGointoThunderbirdandLightning.Refertothedocumentation
ofThunderbirdtoconfigureaninitialIMAPaccountpointingtoyourSOGoserverandusingthe
usernameandpasswordmentionedabove.
WiththeSOGoIntegratorplugin,yourcalendarsandaddressbookswillbeautomaticallydiscovered
whenyoulogininThunderbird.Thisplugincanalsopropagatespecificextensionsanddefaultuser
settingsamongyoursite.However,beawarethatinordertousetheSOGoIntegratorplugin,you
willneedtorepackageitwithspecificmodifications.Pleaserefertothedocumentationpublished
online:
http://www.sogo.nu/downloads/documentation.html
IfyouonlyusetheSOGoConnectorplugin,youcanstilleasilyaccessyourdata.
Toaccessyourpersonaladdressbook:
ChooseGo>AddressBook.
ChooseFile>New>RemoteAddressBook.
EnterasignificantnameforyourcalendarintheNamefield.
TypethefollowingURLintheURLfield:http://localhost/SOGo/dav/jdoe/Contacts/personal/
UsingSOGo

50

Chapter8
ClickonOK.
Toaccessyourpersonalcalendar:
ChooseGo>Calendar.
ChooseCalendar>NewCalendar.
SelectOntheNetworkandclickonContinue.
SelectCalDAV.
TypethefollowingURLintheURLfield:http://localhost/SOGo/dav/jdoe/Calendar/personal/
ClickonContinue.

AppleiCal
AppleiCalcanalsobeusedasaclientapplicationforSOGo.
ToconfigureitsoitworkswithSOGo,createanewaccountandspecify,astheAccountURL,an
URLsuchas:
http://localhost/SOGo/dav/jdoe/
NotethatthetrailingslashisimportantforAppleiCal3.

AppleAddressBook
SinceMacOSX10.6(SnowLeopard),AppleAddressBookcanbeconfiguredtouseSOGo.
Inordertomakethiswork,youmustaddanewvirtualhostinyourApacheconfigurationfileto
listenonport8800andhandlerequestscomingfromiOSdevices.
Thevirtualhostshouldbedefinedlike:

UsingSOGo

51

Chapter8

<VirtualHost *:8800>
RewriteEngine Off
ProxyRequests Off
SetEnv proxy-nokeepalive 1
ProxyPreserveHost On
ProxyPassInterpolateEnv On
ProxyPass /principals http://127.0.0.1:20000/SOGo/dav/ interpolate
ProxyPass /SOGo http://127.0.0.1:20000/SOGo interpolate
ProxyPass / http://127.0.0.1:20000/SOGo/dav/ interpolate
<Location />
Order allow,deny
Allow from all
</Location>
<Proxy http://127.0.0.1:20000>
RequestHeader set "x-webobjects-server-port" "8800"
RequestHeader set "x-webobjects-server-name" "acme.com:8800"
RequestHeader set "x-webobjects-server-url" "http://acme.com:8800"
RequestHeader set "x-webobjects-server-protocol" "HTTP/1.0"
RequestHeader set "x-webobjects-remote-host" "127.0.0.1"
AddDefaultCharset UTF-8
</Proxy>
ErrorLog /var/log/apache2/ab-error.log
CustomLog /var/log/apache2/ab-access.log combined
</VirtualHost>
ThisconfigurationisalsorequiredifyouwanttoconfigureaCardDAVaccountonanAppleiOS
device(version4.0andlater).

MicrosoftActiveSync/MobileDevices
Youcansynchronizecontacts,emails,eventsandtasksfromSOGowithanymobiledevicesthat
supportMicrosoftActiveSync.MicrosoftOutlook2013isalsosupported.
The Microsoft ActiveSync server URL is generally something like: http://localhost/Microsoft-Active-Sync.

UsingSOGo

52

Chapter9

Upgrading

ThissectiondescribeswhatneedstobedonewhenupgradingtothecurrentversionofSOGofrom
thepreviousrelease.
2.2.8
Theconfigurationconfigurationparameterswererenamed:
SOGoMailMessageCheckwasreplacedwithSOGoRefreshViewCheck
SOGoMailPollingIntervalswasreplacedwithSOGoRefreshViewIntervals
Backwardcompatibilityisinplacefortheoldpreferencesvalues.
2.0.5
Theconfigurationisnowstoredin/etc/sogo/sogo.conf.Performthefollowingcommandsas
roottomigrateyourprevioususerdefaults:
install -d -m 750 -o sogo -g sogo /etc/sogo
sudo -u sogo sogo-tool dump-defaults > /etc/sogo/sogo.conf
chown root:sogo /etc/sogo/sogo.conf
chmod 640 /etc/sogo/sogo.conf
sudo -u sogo mv ~/GNUstep/Defaults/.GNUstepDefaults \
~/GNUstep/Defaults/GNUstepDefaults.old
2.0.4
TheparameterSOGoForceIMAPLoginWithEmailisnowdeprecatedandisreplacedbySOGoForceExternalLoginWithEmail(whichextendsthefunctionalitytoSMTPauthentication).Updateyour
configurationifyouusethisparameter.
Thesogouserisnowasystemuser.Fornewinstalls,thismeansthatsu - sogowontworkanymore.Pleaseusesudo -u sogo <cmd>instead.Ifusedinscriptsfromcronjobs,requirettymust
bedisabledinsudoers.
1.3.17
Runtheshellscriptsql-update-1.3.16_to_1.3.17.shorsql-update-1.3.16_to_1.3.17mysql.sh(ifyouuseMySQL).
Thiswillgrowthe"cycleinfo"fieldofcalendartablestoalargersize.
1.3.12
OnceyouhaveupdatedandrestartedSOGo,runtheshellscriptsqlupdate-1.3.11_to_1.3.12.shorsql-update-1.3.11_to_1.3.12-mysql.sh(ifyouuseMySQL).
Thiswillgrowthe"content"fieldofcalendarandaddressbooktablestoalargersizeandfixthe
primarykeyofthesessiontable.
1.3.9

Upgrading

53

Chapter9
ForRedHat-baseddistributions,version1.23ofGNUstepwillbeinstalled.Sincethelocationof
theWebresourceschanges,theApacheconfigurationfile(SOGo.conf)hasbeenadapted.Verify
yourApacheconfigurationifyouhavecustomizedthisfile.

Upgrading

54

Chapter10

AdditionalInformation

Formoreinformation,pleaseconsulttheonlineFAQs(FrequentlyAskedQuestions):
http://www.sogo.nu/english/support/faq.html
Youcanalsoreadthemailingarchivesorpostyourquestionstoit.Fordetails,see:
https://lists.inverse.ca/sogo

AdditionalInformation

55

Chapter11

CommercialSupportandContact
Information

Foranyquestionsorcomments,donothesitatetocontactusbywritinganemailto:
support@inverse.ca
Inverse(http://inverse.ca)offersprofessionalservicesaroundSOGotohelporganizationsdeploy
thesolutionandmigratefromtheirlegacysystems.

CommercialSupport
andContactInformation

56

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy