One of the biggest demands for server installation is the groupware suite. There are plenty of them available. From Exchange to Zimbra (and everything in between), you will find groupware suites of all types, sizes, functionality, and reliability. One of those suites that I have found to be a bit better than most is eGroupware. Although eGroupware is not the easiest to install, it doesn’t come close to the complexity of installing Zimbra. And eGroupware has all of the features users and administrators would expect of a powerful groupware suite (and more!):
- Calendar
- Contacts
- Documents
- Project management
- Time sheet
- File manager
- Wiki
- News
- Polls
All of this is packed within a very user-friendly interface. But, as I said, the installation isn’t the easiest. It’s time-consuming and requires that numerous dependencies be resolved before the installation can be completed. The good news is that most of the dependencies will be spelled out for you during the installation process.
Below, I’ll walk you through the installation process with illustrations of the screens you will encounter.
eGroupware installation steps
The installation outlined in this article assumes the base operating system is a clean Ubuntu Server 9.04 installation with networking up and running. And, because of the nature of this base operating system, the initial installation will be done from the command line. I will also refer to the example IP address 192.168.1.10 for this server.
First, download the latest, stable version of eGroupware found at eGroupware Sourceforge. There are two files you will want to get:
- eGroupware
- eGroupware-egw-pear
Since this is a headless machine, you will need to download those files using wget. Issue the commands:
sudo cd /var/www
sudo wget http://downloads.sourceforge.net/project/egroupware/egroupware/eGroupware-1.6.002/ eGroupware-1.6.002.tar.gz
sudo wget http://downloads.sourceforge.net/project/egroupware/egroupware/eGroupware-1.6.002/ eGroupware-egw-pear-1.6.002.tar.gz
You may have to modify the above commands, depending upon the release. As you can see the current, stable release (as of this writing) is 1.6.002.
Once you have downloaded those two files you will need to unpack the files. First unpack the eGroupware file with the command:
sudo tar xvzf eGroupware-1.6.002.tar.gz
Now unpack the egw-pear file with the command:
sudo tar xvzf eGroupware-egw-pear-1.6.002.tar.gz
The second command will unpack the egw-pear as a sub-directory into the egroupware directory.
Now it’s time to install the dependencies. The first thing you will need to do is install 4 php-based applications. To do this, issue the following command:
sudo apt-get install php-pear php5-imap php5-ldap php-gd
You will now need to make a few modifications to your php.ini file. Open up the file /etc/php5/apache/php.ini. There are a few changes to be made to this file. The first change is to set display_errors to off. This entry should be around line 334. The line is:
display_errors=On
This needs to be changed to:
display_errors=Off
The next line to look for is the memory_limit line. This line should be located around line 270. By default the memory is set to 16M. This needs to be upped. The line will look like:
memory_limit = 16M
How much you up the memory limit will depend upon how much memory your system has and how much you want to limit php to. Change that line to suit your needs.
Now you need to enable file uploads. This is done with the file_uploads line of php.ini. This should be found around line 558. This line will look like:
file_upload = Off
Change this line to On.
One final change. The mbstring.func_overload must be set to 7. This line is found near line 1197 and looks like:
;mbstring.func_overload = 0
Change that to:
mbstring.func_overload = 7
Notice the removal of the semicolon (;) character.
Now save the php.ini file and restart Apache for the changes to take effect. Now it’s time to point your browser to the eGroupware setup file. This is done with the address (edit to suit your needs):
http://192.168.1.10/egroupware/setup/
The above link will direct you immediately to the Setup page (see Figure A). On this page you select your language and run the installation tests.
Figure A

You can opt to skip the tests, but this is not advisable.
When you click the link to run the installation tests, you will see everything that is ready and not ready for your installation. You will see checks by everything that tests OK, lightning bolts by every warning, and Xs for everything that failed the test. You can install with warnings but not failures. You might see numerous warnings. Make sure you read all of those, because one of the warnings could be regarding a particular feature you want. Figure B shows a portion of the test results from my installation.
Figure B

As you can see, there were some php.ini issues that had to be taken care of. Those Xs will keep the installation from continuing.
Go through this list until you have no more Xs, and then make sure all of the features you need no longer have warnings.
NOTE: Each time you make a change in a configuration, you will need to click the “Click here to re-run the installation tests” link at the bottom of the test page.
When you have managed to finish your configurations, you can then click the “Continue to the Header Admin” link at the bottom of the test page. This new page (see Figure C) sets up a header.inc.php for your eGroupware installation.
Figure C

On this page you will deal with a number of configuration options. This page is really the heart of the installation.
On the Header Setup page you will configure such options as:
- Server root
- Header Admin/Admin password
- Database
- Database user/password
- Database port
- Database host
Once you have gone through this page, click the Write button at the bottom of the page in order to write the configuration file. If this write is successful, you will be informed with a Continue button on the next page. Click that button and you will then find yourself at the login page (see Figure D). You can log in as either of two user types: admin or header admin. Log in as your standard Administrator and you are ready to begin the installation process in earnest.
Figure D

You will have created these users in the previous setup screen.
As you can see (Figure E) there are six steps. The first step is to install applications.
Figure E

You can either install all the applications or install from a previous backup.
Click on the Install button to install all of the necessary applications associated with eGroupware. After you click this you will hopefully see no errors. When this page is returned to you, click the Recheck my installation button, which will then allow you to move on to Step 2.
Step 2 requires the creation of a backup and a files directory. By default these will not exist. Once you have completed Step 1, a new button will have appeared in your Setup window (see Figure F). This button will take you to a screen where you need to enter the full path for the files and backup directories.
Figure F

Click the Edit Current Configuration button to take care of Step 2.
I do not recommend using the default values that are located in /var/lib/egroupware/default. Instead create these directories in your /var/ directory with the commands:
sudo mkdir /var/files
sudo mkdir /var/backup
You will also need to make sure both the backup and files directories are writable by the server. Do this with the command:
sudo chmod -R o+w /var/backup
Once you have created these directories you will need to configure the Path information window to reflect them (see Figure G below).
Figure G

Since this is a fresh installation, you won’t have to worry about losing any saved files.
There are numerous other configurations that can be taken care of in this screen. Here you will take care of:
- Host information (hostname, ftp server, proxy server information)
- Mailserver setttings
- Authentication settings
- LDAP settings (if needed)
- CAS settings (if needed)
- Active Directory settings (if needed)
The only REQUIRED configuration from above is the Host information and the Mailserver settings. Once you have all of that complete you are ready to finish the setup.
The last step is the admin account. When you are back in the Setup page, click the Create admin account button and fill in the necessary information for your administrative account. You can also give the administrator access to all installed applications as well as create three demo accounts for the system. Once you have saved that account information, your eGroupware installation is ready to use!
All you have to do now is log into http://192.168.1.10/egroupware, and you are ready to go. You can see (in Figure H) eGroupware really is a full-featured groupware account.
Figure H

Remember that the address to get to your installation will depend upon your IP address scheme or your domain name.
The first place you will probably want to visit is the Admin page. There are many administrative tasks that can be dealt with there.
Final thoughts
I hope you enjoy your installation of eGroupware. You will probably find that it not only meets your needs but exceeds them far beyond what you normally expect from a groupware suite.