iredmail-doc/5-integrations/sogo-centos-6-iredmail-mysq...

3.2 KiB

How to install SOGo on CentOS 6 with iRedMail (MySQL backend)

Requirements

  • A working iRedMail server on CentOS 6.

Install SOGo

  • Make sure you have EPEL repo enabled, if not, please follow this wiki tutorial to enable it.
# yum repolist | grep -i 'epel'
epel              Extra Packages for Enterprise Linux 6 - x86_64          11,109
  • Add yum repo file /etc/yum.repos.d/sogo.repo:
[SOGo]
name=Inverse SOGo Repository
baseurl=http://inverse.ca/downloads/SOGo/RHEL6/$basearch
gpgcheck=0
  • Install SOGo and dependences:
# yum install sogo sope49-gdl1-mysql

Create SQL database to store SOGo data

$ mysql -u root -p

mysql> CREATE DATABASE sogo CHARSET='UTF8';
mysql> GRANT ALL ON sogo.* TO sogo@localhost IDENTIFIED BY 'password';

-- TODO
mysql> GRANT SELECT ON vmail.mailbox TO sogo@localhost;

mysql> CREATE VIEW sogo.sogo_auth (c_uid, c_name, c_password, c_cn, mail, home) AS SELECT username, username, password, name, username, maildir FROM vmail.mailbox;

Configure SOGo

Default SOGo config file is /etc/sogo/sogo.conf:

(
    SOGoProfileURL = "mysql://sogo:password@localhost:3306/sogo/sogo_user_profile";
    OCSFolderInfoURL = "mysql://sogo:password@localhost:3306/sogo/sogo_folder_info";
    OCSSessionsFolderURL = "mysql://sogo:password@localhost:3306/sogo/sogo_sessions_folder";

    SOGoIMAPServer = "127.0.0.1";

    SOGoMailingMechanism = smtp;
    SOGoSMTPServer = 127.0.0.1;


    // Enable managesieve service
    SOGoSieveServer = sieve://127.0.0.1:4190;
    SOGoSieveScriptsEnabled = YES;

    SOGoForceExternalLoginWithEmail = YES;
    SOGoAppointmentSendEMailNotifications = YES;

  SOGoUserSources =
    (
      {
        type = sql;
        id = directory;
        viewURL = "mysql://sogo:password@127.0.0.1:3306/sogo/sogo_view";
        canAuthenticate = YES;
        isAddressBook = YES;
        userPasswordAlgorithm = md5;
        prependPasswordScheme = YES;
        //LoginFieldNames = username;
        //MailFieldNames = username;
        //IMAPLoginFieldName = username;
        //DomainFieldName = domain;
      }
    );

How to configure client applications

Configure Apple iCal.app for calendar

http://[host]/SOGo/dav/[user]/

TODO

References:

  • Addition settings:
defaults write sogod OCSEMailAlarmsFolderURL mysql://vmail:PASSWORD@localhost:3306/vmail/sogo_alarms_folder
defaults write sogod SOGoTimeZone "Europe/Berlin"
defaults write sogod SOGoAppointmentSendEMailNotifications YES
defaults write sogod SOGoFoldersSendEMailNotifications YES
defaults write sogod SOGoACLsSendEMailNotifications YES

defaults write sogod SOGoMailingMechanism smtp
defaults write sogod SOGoSMTPServer 127.0.0.1
defaults write sogod SOGoMemcachedHost 127.0.0.1

defaults write sogod SOGoDraftsFolderName Drafts
defaults write sogod SOGoSentFolderName Sent
defaults write sogod SOGoTrashFolderName Trash
defaults write sogod SOGoIMAPServer localhost
defaults write sogod SOGoPasswordChangeEnabled YES
defaults write sogod SOGoSieveScriptsEnabled YES
defaults write sogod SOGoSieveServer sieve://127.0.0.1:4190
defaults write sogod WOPort 127.0.0.1:20000