Advertisment

OpenGroupware Server

author-image
PCQ Bureau
New Update

A groupware system has tools which enable groups of people to work and collaborate on the same information even when they're sitting miles apart. Some of the things you can do through this system, include messaging, sharing information or news through open groups, sharing files among users working on a project, managing personal contacts, schedules and to-do lists, as well as automatically synchronizing schedules to fix meetings between participants. 

Advertisment

Some popular groupware products are Lotus Domino, Microsoft Exchange, and Novell GroupWise. All support traditional client-server clients as well as a browser-based front-end where a Web server serves the content to clients. OpenGroupware is one such browser-based groupware. 

It has features such as calendaring, to-dos, projects and news. It doesn't have a mail server like the other commercial packages do; rather, it integrates with your existing mail server. It can connect to any IMAP mail server, be it Exchange, Cyrus, Domino or GroupWise. The other big difference between OpenGroupware and commercial software is that it is free and does not attract user-license costs.

The package requires Apache Web server along with PostgreSQL or FrontBase as the relational-database system for storing its data. It uses the SOPE application server, which runs with Apache at the front-end.

Advertisment

Apache does the hard work of processing HTTP requests from the clients and then forwards them to OpenGroupware, which then works with the database system and provides response back to Apache to serve it to clients.

Install on PCQLinux 8.0



Let's see how we can install OpenGroupware on PCQLinux 8.0. The same procedure applies to RedHat Linux 9 as well, but not necessarily to PCQLinux 7.1 or RedHat 7.x systems. All the necessary software and updates to install OpenGroupware are provided on this month's PCQEssential CD in the Unlimited OS/Linux section under

opengroupware.org.

Upgrade glibc



Before installing the OpenGroupware package, you have to upgrade your glibc 2.2 libraries to glibc 2.3. To do this, copy all glibc files from the CD to /tmp and issue the following commands. This step is not required for RedHat 9 systems as they already have glibc 2.3.

Advertisment

#rpm -Uvh glibc*.rpm --nodeps



#rpm -Uvh nscd-2.3.2-4.80.6.i386.rpm

But, be careful not to do an rpm -ivh, as it will create some problems.

Upgrade PostgreSQL



Now, you have to upgrade your PostgreSQL 7.2 to PostgreSQL 7.3. If you do not want to upgrade your Postgresql installation then you have to copy the file /usr/lib/libpql.so.2 to /usr/lib/ libpql.so.3, but this is not a recommended solution. To upgrade,

copy all postgresql files from the CD to /tmp and issue the following command.

Advertisment

#rpm -Uvh postgresql*.rpm --nodeps

Install OpenGroupware



Copy the file rpm-all-latest.tar.bz2 from the CD to /tmp and run the following command.

#tar -jxvf rpm-all-latest.tar.bz2

Advertisment

This will create a subdirectory named rpm in the /tmp directory. Switch to that directory and issue the following command.

#rpm -ivh opengroupware*.rpm

A new user named opengroupware will be created under a new group skyrix. This also installs all OpenGroupware package files to /opt directory and creates a subdirectory by the name SkyrixRoot in the home directory of the current user. Move this directory to /opt/opengroupware.org directory and copy the file opengroupware.org.sh from /opt/ opengroupware.org/SkyrixRoot to

/opt/opengroupware.org. 

Advertisment

#mv ~/SkyrixRoot/ /opt/opengroupware.org/



#cp /opt/opengroupware.org/SkyrixRoot/OpenGroupware.org.sh /opt/opengroupware.org/

This completes the first phase of the process. Next, you have to configure PostgreSQL database and Apache Web server.

Configure PostgreSQL 



Start the PostgreSQL service by running the command #service postgresql start. To start the service automatically every time, issue the following command.

Advertisment

#chkconfig postgresql on

It is time to configure postgresql to work with TCP/IP sockets. Open the file /var/lib/pgsql/data/postgesql.conf and set the tcpip_socket variable to ‘true’, remove the # before the line and leave the entire file as it is. Next open /var/lib/pgsql/ data/pg_hba.conf and add the following lines. 

local all all trust



host all all 127.0.0.1 255.255.255.0 trust


host all all 0.0.0.0 255.255.255.255 reject

To get a secure set-up, replace ‘trust’ with ‘password’or ‘md5’ depending on the kind of security you want. The above configuration is for PostgreSQL 7.3.

Restart PostgreSQL using service postgresql restart command.

After the database is ready to accept TCP/IP connections, you have to create a database for OpenGroupware to store its data and a PostgreSQL user to access that data. For that do the following.

Log in as root and create the database and a user by logging in as user

postgres. 

#su - postgres



$createdb ogo


$createuser -A -D ogo


$exit

OpenGroupware requires some default data structures within the ‘ogo’ database you have created. To create those data structures, execute the sql file pg-build-schema.psql from the /opt/opengroupware.org/Database/PostgreSQL directory. 

#su - opengroupware



$cd /opt/opengroupware.org/Database/PostgreSQL 


$pgsql ogo -U ogo

This will take you into the PostgreSQL SQL prompt, where you will execute the SQL file.

\i pg-build-schema.psql



\q (to quit the SQL prompt)

This completes the PostgreSQL part of the setup. 

Configure Apache 



Now it is time to configure Apache Web server. For Apache to work with OpenGroupware, you need a

module for forwarding HTTP requests to the SOPE application server. The source of

the module is on the CD. Copy the file opengroupware.org-mod_ ngobjweb-latest.tar.gz

rom the CD to /tmp and run the following command.

#tar -zxvf opengroupware.org-mod_ngobjweb-latest.tar.gz

A new subdirectory by the name of opengroupware.org-mod_ngobjweb will be created in the /tmp directory. This directory contains the source for ngobjweb_module module, used by Apache to forward requests to SOPE. To compile the source and build the module, issue the following command.

#cd opengroupware.org-mod_ngobjweb



#make

This will create a file ngobjweb_x.x.xx.so file, which is the Apache module. Here x.x.xx is your Apache version. Create a directory /opt/opengroupware.org/WebServer and copy the file there.

#mkdir /opt/opengroupware.org/WebServer



#cp ngobjweb_x.x.xx.so /opt/opengroupware.org/WebServer

Next, you have to edit your httpd.conf file found in the /etc/httpd/conf directory and add the following lines to make it load the module and forward requests.

LoadModule ngobjweb_module /opt/opengroupware.org/WebServer/ngobjweb_x.x.xx.so






SetHandler ngobjweb-adaptor


SetAppPort 20000









Alias /OpenGroupware.woa/WebServerResources/ /usr/lib/opengroupware.org/WebServerResources/

This completes your Apache configuration. Now restart Apache using service httpd restart command.

More configurations



There are still a few configurations left to be done. First, images for the Web interface are looked in the ~opengroupware/WebServerResources directory, so you have to link it to the directory where all the images are stored as follows. 

ln -s ~opengroupware/WebServerResources/* ~opengroupware/WOApps/OpenGroupware.woa/WebServerResources/



Next you have to create a directory where all user documents will be stored.

#mkdir /opt/opengroupware.org/documents

Assign ownership of the directory to the opengroupware user.

#chown opengroupware.skyrix /opt/opengroupware.org/documents

Lastly, create the directory where news articles will be stored.

#mkdir /opt/opengroupware.org/news

Also, add an alias for this directory in the httpd.conf file

Alias /ArticleImages /opt/opengroupware.org/news

Assign read permissions to this directory to the Apache user and write permission to opengroupware user and also add a line umask 0133 to the file .bash_profile of the opengroupware user found in

/opt/opengroupware.org.

Run OpenGroupware



Now it is time to run the OpenGroupware application server. But before that you need to make the system search for OpenGroupware directories for libraries needed by the applications server.

Edit the file /etc/ld.so.conf and add the following:

/opt/opengroupware.org/Libraries/ix86/linux-gnu/gnu-fd-nil



/opt/skyrix/system/Libraries/ix86/linux-gnu/gnu-fd-nil

Then run the following command. 

#ldconfig

Finally, run the application server from the user opengroupware. From the user root execute the following commands.

#su - opengroupware



$WOApps/OpenGroupware.woa/ix86/linux-gnu/gnu-fd-nil/OpenGroupware -WOPort 20000 -WOHttpAllowHost localhost.localdomain -OGoMinimumActiveSessionCount 0 -WOWatchDogEnabled YES

After a lot of hard work, your application server is now ready to run.

Check the server



Go to any client machine and key in the Web browser <>/OpenGroupware (be careful with the case of
OpenGroupware). 

Straight away you will be logged in as root user with all privileges, so assign a password to this user. After that you will be prompted to give your username and password before logging in to the server. Create login names for the users on your network and enjoy the fun of collaboration. 

To integrate with your mail server, make sure your mail server is running the IMAP protocol and that the users can connect to that server by giving in their login names and passwords for the mail server.

By and large, OpenGroupware is a good attempt to provide groupware and collaboration services to meet most common workgroup requirements.

Anoop Mangla

Advertisment