Menu

Post-Installation

Sebastian Reitenbach

OpenGroupware post installation tasks

Create OGo user

OpenGroupware needs a system user under whose account the groupware is running. To create the user do the following:

sudo groupadd ogo
sudo useradd -g ogo ogo
sudo mkdir -p /var/opengroupware/documents /var/log/opengroupware
sudo chown -R ogo:ogo /var/opengroupware /var/log/opengroupware

The configuration is done under this system user ID, and stored in the users home directory.

Configure Apache

The OpenGroupware web interface, the XML-RPC API, and the ZideStore integration server each listen on a unique TCP/IP port. The mod_ngobjweb Apache module is used to connect each of these service's port to a URL served by Apache.

The mod_ngobjweb module works with Apache 1.3.x or Apache 2.0.x in non-threaded mode. The module API of Apache differs between 1.3.x and 2.0.x so it is important to acquire or build a version of the ngobjweb module appropriate to your version of Apache.

The “SetAppPort” directive in the each Apache configuration stanza relating to mod_ngobjweb informs the module about the port to which requests should be forwarded when an LocationMatch occurs.

sudo vi /etc/apache2/vhosts.d/ogo.conf

add the following:

<IfModule ngobjweb_module.c>
  <LocationMatch "^/OpenGroupware55*">
    SetHandler NONE
  </LocationMatch>
  <LocationMatch "^/OpenGroupware*">
    SetHandler ngobjweb-adaptor
    SetAppPort 20000
  </LocationMatch>
  <LocationMatch ^/zidestore/*>
    SetAppPort 21000
    SetHandler ngobjweb-adaptor
  </LocationMatch>
  <LocationMatch ^/xmlrpcd/*>
    SetAppPort 22000
    SetHandler ngobjweb-adaptor
  </LocationMatch>
</IfModule>

Provisioning the module and the pages served by Apache:

sudo mv /usr/local/lib/mod_ngobjweb.so /usr/lib64/apache2-prefork/
sudo mkdir -p /srv/www/htdocs/OpenGroupware55.woa /srv/www/htdocs/NewsImages
chown -R ogo:ogo /srv/www/htdocs/NewsImages
cd /srv/www/htdocs/OpenGroupware55.woa
sudo cp -r /usr/local/share/opengroupware/www WebServerResources
sudo cp /etc/apache2/vhosts.d/vhost.template /etc/apache2/vhosts.d/ogo.conf

Aliases

For people not running Apache in a chroot environment, they can setup Aliases and save the copying of the of the WebServerResources:

<Directory /usr/local/share/opengroupware/www>
  Order allow,deny
  Allow from all
</Directory>
# required aliases
Alias /OpenGroupware55.woa/WebServerResources/ /usr/local/share/opengroupware/www/
Alias /ArticleImages /var/opengroupware/news

You can use a URL other than “/ArticleImages” for images presented by the news application. The URL used for images in news articles is controlled by the “LSNewsImagesUrl” default. The directory this alias is directed to needs to be specified via the “LSNewsImagesPath” default. In order for news editors to be able to upload images the opengroupware dameon needs to be able to write to the directory specified by the “LSNewsImagesPath” default. The directory must be writable by the user running the OGo daemons.

Setup the database

Before starting OGo, the database needs to be prepared. Example is given for a database in PostgreSQL. A database user called OGo without a password, and the database called OGo running on the localhost is the default what OpenGroupware would use. If it is not liked that way, it can be changed when configuring OpenGroupware.

Change to the postgres user, and create
the database:

# su - postgres
$ createuser OGo
$ createdb -O OGo -E UTF-8 -t template0 OGo
$ psql -U OGo OGo < \
    /usr/local/lib/opengroupware/commands/OGo.model/Resources/pg-build-schema.psql

Other database that can be used is MySQL, but is not well tested.

That should it be with the basic post-installation tasks. You may now go on with the Configuration