All of these instructions relate to OpenGroupware 1.0beta2. Although the instructions on the site suggest otherwise, it seems like all of OpenGroupware’s myriad dependencies are available if you have debian unstable in your /etc/apt/sources.list. So if you download OGo source, untar it, cd into the created directory, and do dpkg-buildpackage -b or debuild -b (for which you may need to install the relevant packages), you’ll get an error that tells you which packages are missing on your system. sudo apt-get install those, and run debuild -b again.
If you have failed to fully appease the gods, it will error again with a new list of packages you need to install. Repeat this process until your obeisance is complete, and the compile begins. In addition to those packages, you will also need the ngobjweb adaptor for apache (1 or 2: I use 2), available via sudo apt-get install libapache2-mod-ngobjweb
Before the next step, you should have an operating PostgreSQL database (I installed 8.1, it seems to work fine with the 7.x adapter provided in OGo) and a user for opengroupware that can create new databases. Since the later install scripts assume this user is called ogo, I did sudo -u postgres createuser -r -d -l ogo. Then you need to make sure that postgresql is listening on the local port- just uncomment the line in /etc/postgresql/…/postgresql.conf that mentions localhost and restart postgresql.
After you are done getting things up and running, you can remove the db creation permission from the OGo user, but the install will fail with a useless and mostly wrong error message if you’ve had the temerity to create the user and its database. If you get this error message, don’t panic – just create the database yourself and load in the initial database schema:
$ sudo createdb ogo
$ sudo -u postgres psql ogo
ogo=# \i /usr/lib/opengroupware.org-1.0/commands/OGo.model/Resources/pg-build-schema.psql
==snip==
ogo=# GRANT ALL PRIVILEGES ON DATABASE ogo TO ogo;When you’re done compiling, you’ll have a bunch of .deb packages in the directory above the directory you ran the build command in.
At this point, before you continue, you must have postgresql running, listening on localhost, and with a password-protected db user that can create new databases.
Now you want to run sudo dpkg -i *.deb. This will install all the OGo packages. You may have some errors during this install; go ahead and install whatever packages it kvetches about not having.
When you are prompted for information about what versions of the various components you want to install you can just accept the default answer. I have no idea whether it matters for the user to be able to create roles, but answering yes here seems sane. If you want the network hotsync daemon (nhsd) to run you need to change the default answer (none) to 1.0 in order for it to start. (there is no port information because it runs on the standard network-hotsync ports).
Now you’re almost home free. Unfortunately, /etc/apache2/conf.d/mod_ngobjweb-ogo.conf contains an error: where it says LocationMatch "^/OpenGroupware/*" it should read LocationMatch ^/OpenGroupware*" (no slash after the e). You can use any string in substitution for OpenGroupware: I like gw, for instance.
You should be good to go: please feel free to comment on this post if you have any issues.
There are some more fiddly bits involved in getting OGo to talk to other clients and whatnot but I will get to that in another article.