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

Requirements

Install SOGo

# yum repolist | grep -i 'epel'
epel              Extra Packages for Enterprise Linux 6 - x86_64          11,109
[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> CREATE DATABASE sogo CHARSET='UTF8';
mysql> GRANT ALL ON sogo.* TO sogo@localhost IDENTIFIED BY 'password';

-- TODO
mysql> GRANT SELECT;

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";
  SOGoSMTPServer = 127.0.0.1;
  SOGoMailingMechanism = smtp;
  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