SolutionBase: Build an open source groupware solution with eGroupWare

Looking for the perfect open source groupware application? Contained within an amazingly user-friendly interface, eGroupWare offers nearly everything you'll need. Jack Wallen covers the details of the suite.

I pride myself in having installed and used more groupware suites than the average IT person. I have done this -- partially -- in search of the perfect open source groupware solution that offers the most flexibility, the most reliability, and the most scalability. So far, my search has brought me to some exciting possibilities, but none of the previous finds stand up to my most recent groupware discovery: eGroupWare.

What's eGroupWare?

I've seen eGroupWare listed as an installed product on my Kubuntu-loaded iBook, but never took the time to figure out how to get the application working. It was pre-installed, but there wasn't a directory for my browser to locate.

I knew that my experience with having eGroupWare pre-installed or attempting to install via yum or rpm had always ran afoul, for whatever reason. So this time, I decided to go the true Linux way and install from source. The installation wasn't easy -- in fact it was quite lengthy and trying -- but the end result was most definitely worth the hassle. Contained within an amazingly user-friendly interface, eGroupWare offers nearly everything you will need for a groupware suite:

  • Calendar
  • E-mail
  • Contacts
  • Documents
  • Project Management
  • Timesheet
  • File Manager
  • Wiki
  • News
  • Polls

So, how does it work?


Installing eGroupWare is not for the timid. It requires php-pear, which can be a nightmare. You will also need php version 4.3 or greater, but the system recommends version 5. Fedora 7 meets this requirement. You will also have to have a database installed for the system. I use MySQL and phpMyAdmin to handle this. And by using phpMyAdmin, I have created a database called egroupware for the system to use. So, understanding the environment I am installing upon, you need to start by grabbing the eGroupWare tar file.

As root, move the tar file to Apache's document root. Once the file is there, unpack it. You should now have a new directory called eGroupWare-XXX (where XXX is the release number). Change the directory name with the command mv eGroupWare-XXX egroupware (where XXX is the release number) to rename the directory egroupware. I find this name is much easier for users to remember.

Open up a browser and point it to: http://yourdomain/egroupware/setup. You should now see a Welcome page for the installation. Select the installation tests. When this is running, you will see a number of issues eGroupWare may (or may not) discover. This will inform you what you have to install. Upon my first installation I discovered I had to install the following PEAR modules:

  • PEAR::Auth_SASL
  • PEAR::Net_IMAP
  • PEAR::Net_Sieve
  • PEAR::HTTP_WebDAV_Server
  • PEAR::Log

Each of these modules are installed using the pear installation commands. If you don't find the pear commands on your machine, you will have to install php-pear. You can do this on a yum-based machine by issuing the command (as root) yum install php-pear. Once installed, you can install the necessary modules:

pear install Net_IMAP

Unfortunately, some packages -- like HTTP_WebDAV_Server -- cannot be found by pear. One particular package, egw-pear, is no longer installed by default with pear or eGroupWare. This package is necessary if you want to install the default e-mail application, FeLaMiMail, into eGroupWare. This package is missing from the default installation due to discrepancies in the license. Unfortunately, you cannot install the package until eGroupWare is installed; no e-mail until the system is up.

Once you have all your pears in a row, you can continue on with the installation. You can now return to the setup and continue on. As you can see in Figure A, as you complete an installation step, you will get a check by that installation step.

Figure A

Once you're all "green", you're good to go.

The next step in the installation process is to configure your system. Press the Configuration button (or link, depending on the release you are installing) and begin filling out your site-specific information.

Note: You will notice that one of the paths you must configure is the path for user/group information. By default, the installer wants to place these paths in /var/lib/egroupware. First, that full path does not exist and can not be created by the installer. Second, that's not a good location for user/group files. To that end, here's what I recommend. Open up a terminal application (i.e., xterm, aterm, eterm) and, as root, enter the commands:

mkdir /usr/local/egroupware
mkdir /usr/local/egroupware/default
mkdir /usr/local/egroupware/default/backup
mkdir /usr/local/egroupware/default/files

Back to the installer: Enter /usr/local/egroupware/default/files for the location of user/group files and enter /usr/local/egroupware/default/backup for the location of the backup. The rest of the configurations will be specific to your installation. Finish them up and press Save.

Now let's create the admin account. Once you have that completed, you can finish the rest of the administration from the setup page.

Once you have the basic setup complete, you need to go back and finish the install so that you can include e-mail with your system. As I mentioned earlier, the egw-pear package must be installed before you can install the e-mail application. To do this, you need to download the eGroupWare-egw-pear package.

Move that tar file into /var/www/html/egroupware and unpack it. Now go back into the setup screen and press the Manage Application button. From there you should see the egw-pear package listed in Figure B. In your instance, there will be a select box in the install column. Check that and then press the Save button at the bottom of the page. This will install egw-pear.

Figure B

This same screen will allow you to update any package that has an update available.

One you've installed that package, go back and find the listing for the FeLaMiMail package. Select the Install checkbox and press the Save button to install the e-mail package. You can go through the entire list to ensure that every package you want on the system is installed.

Now that your system is up and running, you can log in as the administrator and take care of all the necessary tasks. Each application has its own configuration options available; most are fairly straightforward. The ones that are not, we'll address now.

Admin page

The first page you should visit, the Admin page is the first icon on the left side at the top of the main page. Select it to reveal the bounty. Through this page, you can configure every application eGroupWare has to offer. The first thing you should do, however, is take care of the Admin section. Here, you can control the following:

  • Site configuration (site configuration, appearance, security)
  • User accounts (add, delete, edit users)
  • User groups (add, delete, edit groups)
  • Applications (install applications)
  • Global Categories (add categories that can be used by all applications)
  • Chain main screen message (MOTD)
  • View sessions (who's logged in)
  • View access log (view the log of the eGroupWare site access)
  • View error log (view any errors reported by any part of the eGroupWare suite)
  • Asynchronous timed services (crontab -- you need to install this from this page)
  • DB backup and restore (back up your database)
  • PHP information (useful information about your PHP installation)

Home page

One of the first things you will notice is that the home page of eGroupWare is the calendar. This makes perfect sense for most installations. You will also notice a "Home" icon near the top of the screen (see Figure C). This icon takes you to a page that, by default, is blank. The purpose of the home page is really for admins to leave the equivalent of a MOTD (message of the day) for the users. There is, however, no way to set the home page as the default page for eGroupWare. That's fine, because every application has its own icon at the top of the page.  

Figure C

eGroupWare has one of the most user-friendly layouts of all the groupware applications.


Much of the application configuration is fairly straightforward, but the e-mail application is a bit different. Once you have it installed, you will notice that when you press the e-mail icon you will get an error saying it can not connect to the IMAP server, even if it is configured. The reason for that is because no user accounts have been set up.

The user account on the eGroupWare system must be able to connect to their user account on the IMAP server. Select the Site Configuration link under emailadmin (on the Admin page). Here you will see a list of Profiles (see Figure D). Upon installation, there should only be one profile listed. The first thing you need to do is select the default profile link under Description.

Figure D

The configurations you see are from the installation of the system.

Once the new window opens, check the Users Can Define Their Own E-mail Accounts checkbox, as seen in Figure E.

Figure E

You can configure both SMTP and IMAP from this same window.

Press Save, select the E-mail icon near the top, and press on the Manage Emailaccounts link in the left navigation. Here you will configure the identity of your e-mail account. Each user will have to do this, so you will have to supply instructions for them. Figure F shows all of the configurations necessary to set up the eGroupWare e-mail.

Figure F

Make sure the User Custom Settings box is checked at the top.

Once you have completed the configuration, press Save and you're done. You can now use the eGroupWare e-mail system.

With the exception of the Wiki and the SiteMgr, the tools within eGroupWare are incredibly easy to use. The Wiki and the SiteMgr, are complex enough to warrant their own articles.

Final thoughts

As I said before, I have scoured what seems like the whole of the Internet looking for the perfect open source groupware application. After going through what seems like hundreds of suites I believe I have found the best of them all. Yes, eGroupWare is that good. Not only is it robust, reliable, and scalable, but the applications are easy to use and flexible.

So if you've been searching for that perfect solution for your company's groupware needs, this is your lucky day: egroupWare should be your group ware. It tops the list in features, use, aesthetics, and reliability.