SOGo 1.0.1 on Ubuntu 9.04

Aus MHC-Wiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Versions

This howto is based on:

http://www.scalableogo.org/files/downloads/SOGo/Sources/SOGo-1.0.1.tar.gz
http://download.opengroupware.org/nightly/sources/trunk/sope-trunk-r1632-200902141500.tar.gz

and uses PostgreSQL as database backed.

SOGo documentation is a bit out of date and refers to OPE release r1630. But the SOGo package version 1.0.1 contains a patch for SOPE r1632. Despite the correct version the patches shipped with SOGo 1.0.1 for SOPE r1630 there are a few problems with the patches. See below.

Required and recommended Ubuntu packages

apt-get install gnustep-devel libxml++2.6-dev libxml2-dev libssl-dev libldap2-dev libpq-dev \
patch libldap2-dev libxml2-dev libldap2-dev libssl-dev libpq-dev build-essential gobjc-4.2 \
libgnustep-base-dev gnustep-base-common gnustep-base-runtime vim \
apache2-mpm-prefork apache2-utils apache2.2-common libapache2-mod-php5 libapache2-mod-proxy-html \
apache2-prefork-dev libapr1-dev libaprutil1-dev libdb4.6-dev libexpat1-dev libpcre3-dev libpcrecpp0 \
libsqlite3-dev openssl uuid-dev libmysqlclient15-dev libmysqlclient15off mysql-common

After this issue:

apt-get install libgnustep-base1.16-libffi

This does the magic to make SOGo work on Ubuntu.

Installation

First unpack the tar archives:

cd /tmp
tar xfz ~/SOGo-1.0.1.tar.gz
tar xfz ~/sope-trunk-r1632-200902141500.tar.gz

SOGo documentation talks about patchset r1630 but in the tar there is r1632. Patch sope-gsmake2.diff tries to patch two non existent files and the Patch sope-ngobjweb-fix.diff seems already to be applied to r1632, so we don't need to apply it. Both issues could be safely ignored.

cd /tmp/sope
patch -p0 < ../SOGo/SOPE/sope-gsmake2.diff
patch -p0 <  ../SOGo/SOPE/sope-patchset-r1632.diff
# patch -p0 < ../SOGo/SOPE/sope-ngobjweb-fix.diff

and then do:

. /usr/share/GNUstep/Makefiles/GNUstep.sh
./configure --with-gnustep --enable-debug --disable-strip

Check the output. It has to look something like this, depending on the database module you want to use:

GNUstep environment:
  system: /usr/System
  local:  /usr/Local
  user:   /root/GNUstep
  path:   /root/GNUstep:/usr/Local:/usr/Network:/usr/System
  flat:   yes
  arch:   i486-pc-linux-gnu
  combo:  gnu-gnu-gnu

Note: will install in GNUSTEP_LOCAL_ROOT: /usr/Local

Configuration:
  FHS:    install in GNUstep tree
  debug:  yes
  strip:  no
  prefix:     /usr/Local
  frameworks:
  gstep:      /usr/share/GNUstep/Makefiles
  config:     /root/sope/config.make
  script:     /usr/share/GNUstep/Makefiles/GNUstep.sh

creating: /root/sope/config.make
optional library found: xml2
optional library found: ldap
required library found: ssl
optional library found: pq
optional library found: sqlite3
optional library found: mysqlclient
configuring NGStreams library .... done (log in config-NGStreams.log).

Then do:

make
make install

Now SOGo it self could be compiled:

cd /tmp/SOGo
./configure --enable-debug
make
make install

SOGo documentation suggest to us "--disable-strip" with "configure" but for me this did not work.

Setting up the services

Create the user sogo:

adduser --system --shell /bin/bash sogo

To configure Apache 2 use my version of SOGo.conf and copy it to /etc/apache2/conf.d/ Now enable the proxy modules by:

cd /etc/apache2/mods-enabled
ln -s ../mods-available/proxy*.load .

Copy the SOGo Init-Script and configuration file:

cd /tmp/SOGo/Scripts
cp sogo-default /etc/default/sogo
cp sogo-init.d-debian /etc/init.d/sogod
chmod +x /etc/init.d/sogod

Create folders:

mkdir /var/run/sogo /var/spool/sogo /var/log/sogo
chown sogo /var/run/sogo /var/spool/sogo /var/log/sogo

Add the temp-watch script so cron.daily:

cd /tmp/SOGo/Scripts
cp tmpwatch /etc/cron.daily
chmod +x /etc/cron.daily/tmpwatch

Activate the logrotate script:

cd /tmp/SOGo/Scripts
cp logrotate /etc/logrotate.d/sogo

Install the the sogod wraperscript by using my version and put it in /usr/sbin/sogod and make it executable:

chmod +x /usr/sbin/sogod

Finalize

Configure SOGo as described in the documentation or if you want to use Kolba 2 as backend you can try my setup.

Persönliche Werkzeuge
Navigation