Sebastian’s blog

Sebastian’s blog

Sebastian’s blog RSS Feed
 
 
 
 

HowTo: Install OpenGroupware.org on Ubuntu 8.04 amd64 server with LDAP support (part 1 of 4)

First some notes.
The installation and compile notes on opengroupware.org are either

  • not relevant (wrong distro, wrong architecture) or
  • outdated (current release is 1.1.7, compile notes still talk about 1.0beta)

Also, there are a lot of pitfalls when compiling such a huge project.

I had to install OpenGroupware.org on a company machine, so why not document the process?

I’m not the perfect sysadmin and I’ve not written many guides, so I’m sorry if there’s something missing or if I don’t do stuff as they “should be done“. You can always leave comments and I might follow up on them.

This is the first part, where I will compile & install OpenGroupware.org.
The second part will be the database setup & creation.
The third part will cover LDAP connectivity.

Make sure you don’t forget any commands, because the source is so fragile it might not compile anymore after adding a prior dependency.

Install subversion, build-essential & gobjc. Necessary to retrieve & compile the latest OGo release.

sudo apt-get install subversion build-essential gobjc-4.2

Create a new “ogo” directory in your home directory. This is where we will put the code and compile stuff.

mkdir ogo
cd ogo

Check out the SOPE 4.7.1 & OGo 1.1.5 source code:

svn co http://svn.opengroupware.org/SOPE/releases/4.7.1-fwd/
svn co http://svn.opengroupware.org/OpenGroupware.org/releases/1.1.5-moveon/

Build gnustep-make. This is needed as a basis for both SOPE and OGo. Do not install gnustep-make or gnustep-make-ogo from the package archives, they won’t work with the new versions of SOPE and OGo.

cd ~/ogo/4.7.1-fwd/gnustep-make
./configure –with-library-combo=gnu-fd-nil
make
sudo make install

Your GNUstep environment is now in /usr/GNUstep.

Install the optional libraries for SOPE: xml2, ldap, ssl, pq, sqlite3, mysqlclient.

sudo apt-get install libxml2-dev libldap2-dev libssl-dev libpq-dev libsqlite3-dev libmysqlclient15-dev

Compile libFoundation. This is a basis library for objective C development. There is a package for this, but the package had some problems with OGo when it was compiled.

cd ~/ogo/4.7.1-fwd/libFoundation
source /usr/GNUstep/System/Library/Makefiles/GNUstep.sh
./configure
make
sudo make install

libFoundation is now in /usr/GNUstep/System/Libraries/Resources.

Now compile & install SOPE.

cd ~/ogo/4.7.1-fwd
./configure
make
sudo mkdir /usr/local/lib64
sudo make install

It’ll all be installed under /usr/local.

Now build OpenGroupware.

cd ~/ogo/1.1.5-moveon
./configure
make
sudo make install

So far I have not found a way to compile in PDA support (libpisock), because the Ubuntu-supplied one does not work with OGo 1.1.5, and compiling it myself didn’t work out.

OGo uses non-default library paths (/usr/local/lib64), these need to be added to the library search path of the system.

sudo nano /etc/ld.so.conf.d/x86_64-linux-gnu.conf

Add /usr/local/lib64 at the end of the file, save and exit. Now run

sudo ldconfig

to reload the config.

The Apache connector is missing. Install the apache2 development headers and build ngobjweb with:

sudo apt-get install apache2-prefork-dev (depends on your version of apache… threaded or prefork)
cd ~/ogo/4.7.1-fwd/sope-appserver/mod_ngobjweb
sed -i s/ap_http_method/ap_http_scheme/ handler.c
make
sudo make install

Now we need the theme resource files of OpenGroupware:

cd /usr/local/share/opengroupware.org-1.1
sudo rm templates translations
sudo cp -r ~/ogo/1.1.5-moveon/Themes/WebServerResources/ ./www
sudo cp -r ~/ogo/1.1.5-moveon/WebUI/Templates ./templates
sudo cp -r ~/ogo/1.1.5-moveon/WebUI/Resources ./translations

HowTos on setting up an apache2 server can be found anywhere, so I won’t go into details. After it is installed:

cd /etc/apache2/conf.d
sudo nano ngobjweb

The file should look like this:

LoadModule ngobjweb_module /usr/GNUstep/System/Library/WOAdaptors/Apache/mod_ngobjweb.so

<LocationMatch “^/OpenGroupware*”>
SetHandler ngobjweb-adaptor
SetAppPort 20000
</LocationMatch>

Alias /OpenGroupware11.woa/WebServerResources/ \
/usr/local/share/opengroupware.org-1.1/www/

Save & exit.

You should now create a user that will be used to run OpenGroupware.

sudo adduser –system –shell /bin/bash ogo
sudo su ogo
source /usr/GNUstep/System/Library/Makefiles/GNUstep.sh
ogo-webui-1.1

And that’s it. By going to $YOUR_WEBSERVER/OpenGroupware, you should see the OpenGroupware page (with graphics hopefully) showing an error that the database is missing. But for that, see part 2, coming soon.

Update:
1.1.7 was throwing segfaults when accessing project files. This does not happen with 1.1.5, so the above has been changed. Generally, the instructions work for both versions.

Update 2:
Sorry, something else missing.

As your regular user, do:

sudo mkdir /var/lib/ogo
sudo chown ogo.nogroup /var/lib/ogo
sudo chmod 700 /var/lib/ogo
sudo su ogo
source /usr/GNUstep/System/Library/Makefiles/GNUstep.sh
Defaults write NSGlobalDomain LSAttachmentPath /var/lib/ogo

The directory /var/lib/ogo will then serve as file database for OpenGroupware.

9 Responses to “HowTo: Install OpenGroupware.org on Ubuntu 8.04 amd64 server with LDAP support (part 1 of 4)”

  1. 1
    Randy:

    Thx for writing this up for us all. Just installed from source using these instructions on CentOS 64 bit. Some differences, but went without a hitch. Looking forward to parts 2 and 3. Any idea when you’ll post those?

  2. 2
    Sebastian:

    I’m quite busy, so I can’t give any date on that. Thanks for replying though, if people are interested the priority definitely rises. ;)

    If you followed my example, don’t you have segfaults in the project file manager sometimes? I had to go back to OpenGroupware 1.1.5 and SOPE 4.7.1 to get it working without segfaults. I’ll update this at some time in the future to reflect the fact.

  3. 3
    Per Jensen:

    Sebastian,

    Many thanks for the writeup, very helpful. I am installing on a Ubuntu Hardy from svn trunk. For some reason I get a 404 and a log entry in Apache’s errorlog like this:
    File does not exist: /var/www/OpenGroupware, as if the wasn’t read.

    Anyways - many thanks

    /Per

  4. 4
    Per Jensen:

    Ok - me again

    The Apache server now matches the Location with this

    SetHandler ngobjweb-adaptor
    SetAppPort 20000

    note there are no ” around the argument, this on Ubuntu Hardy (non 64 bit)

  5. 5
    HowTo: Install OpenGroupware.org on Ubuntu 8.04 amd64 server with LDAP support (part 2 of 4) « Sebastian’s blog:

    [...] First part: Build OpenGroupware.org [...]

  6. 6
    Christian:

    Many thanks for this gorgeous tutorial. I installed OpenGroupware.org on Ubuntu Hardy(i386) and it just worked :)
    Also a lot of thanks to Per Jensen. I had the same problem and it took me half an hour until I read your comment.

    Christian

  7. 7
    HowTo: Install OpenGroupware.org on Ubuntu 8.04 amd64 server with LDAP support (part 3 of 4) « Sebastian’s blog:

    [...] First part: Build OpenGroupware.org [...]

  8. 8
    HowTo: Install OpenGroupware.org on Ubuntu 8.04 amd64 server with LDAP support (part 4 of 4) « Sebastian’s blog:

    [...] First part: Build OpenGroupware.org [...]

  9. 9
    Skip:

    Thank u!
    Thats the only tutorial that works on actual hardy.

    !ATTENTION!

    There are two hyphens (- -) before “with-library-combo”

Leave a Reply

Recent Posts

Categories

Archives

Recent Posts

Twitter

Blogs

Friends

FeedCount

Last.fm weekly artists

Meta

License

Creative Commons License
This work (text, author's own images) is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.