Valid HTML 4.01 Transitional
Personal Information Manager Software

Installing SOGo

James F. Carter <jimc@math.ucla.edu>, 2011-01-30

Web links for SOGo:

SOGo turns out to mean Scalable Open Groupware .org.

One possibility for testing SOGo is the ZEG Virtual Appliance. This is a pre-stuffed image, available for Virtualbox or VMWare. It includes SOGo, Funambol, and all required infrastructure: PostgreSQL, OpenLDAP, Cyrus (IMAP), Postfix and Apache. Since I'm a masochist, I'm going to compile it natively.

The SOGo download page has a source tarball, RPMs for RHEL5 and CentOS-5 (32 and 64 bit), deb packages for Debian (Lenny/5.0 and Squeeze/6.0) and Ubuntu (Intrepid/8.10, Karmic/9.10, Lucid/10.04), and the Funambol SOGo Connector. The SuSE Build Service does not have it. Nor does Packman. I will be installing the tarball, and perhaps later I will hack the spec file for use on SuSE. This will be SOGo-1.3.5a.tar.gz dated 2011-01-27. Dependency on SOPE (same version, same source). Download size is 3.4Mb and 2.2Mb (compressed).

Prerequisites.

Hardware

They always inflate the requirements. Quantities separated by slashes are for testing or for production.

Infrastructure

These are described in the installation guide.

Setting Up Infrastructure

Showing only the ones installed in the previous step.

PostgreSQL

  • It has a special user, postgres.
  • Its home directory is /var/lib/pgsql.
  • No need to monkey with /etc/sysconfig/postgresql, use defaults.
  • To install the configuration files, start the server. Stop it, hack the conf, then restart. In the ./data subdir, the non-default items are pg_hba.conf and postgresql.conf.
  • Copying pg_hba.conf from Malibu. Edit to allow sogo by ident authentication, and for network connections, restrict to the correct subnet.
  • Link /etc/pam.d/postgres to com-aaonly.
  • In postgresql.conf we have these hacks:
    • log_destination = 'syslog'
    • log_hostname = on
    • autovacuum = on
    • autovacuum_naptime = 10min
Dovecot

  • It has a special user, dovecot.
  • Its home directory is /var/run/dovecot. Its various sockets go here as well as the PID file.
  • It has its own sieve implementation, apparently statically linked.
  • Copying /etc/dovecot/dovecot.conf from Nasturtium.
  • We have these non-default hacks:
    • ssl = yes, and specify host cert for otter.mine.nu.
    • mail_location = mbox:~/Mail:INBOX=/var/mail/%u
    • postmaster_address = postmaster@cft.ca.us
    • auth_verbose = yes
    • mechanisms = plain login gssapi
    • userdb passwd { args = blocking=yes }
GNUstep

Apparently does not need configuration. But the gdomap daemon has to be started at boot time.

memcached

Apparently does not need configuration. But the memcached daemon has to be started at boot time.

Devel Packages

On the SOGo website look under Support - FAQ - Compilation. These dependencies are listed:

Compilation -- SOPE

The standard procedure:

Compilation -- SOGo

Same procedure:

Compilation -- SOGo in own prefix

I tried recompiling it with --prefix=/usr/local/SOGo. It had a great deal of trouble to find its internal libraries, and I never did get it to link everything.

Hacking RPM Spec Files

I have two issues here. First, if I compile with --prefix=/usr/local it installs about 1700 files and it's going to be a pain if I ever want to uninstall it. Second, for configuration management I sync /usr/local from the master site, and that means SOGo/SOPE will end up on every other host, which I don't want. If I can compile RPMs then rpm will handle the uninstall issue, and there is no need to install it on irrelevant hosts.

The TGZ for SOGo has a spec file but SOPE doesn't. However, see this advice:

Apache Configuration

/etc/apache2/conf.d/SOGo.conf will use mod_proxy to hand off PIM requests to SOGo on localhost port 20000. I needed to make these adjustments to the file:

SOGo Configuration

Returning to the SOGo Installation and Configuration Guide: