Enterprise Software

Installation guide for eGroupware on Ubuntu Server

Jack Wallen walks you through the process of installing eGroupware on Ubuntu Server, step-by-step with illustrations.

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
  • Email
  • 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 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:


This needs to be changed to:


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):

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

Click to enlarge.

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

Click to enlarge.

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

Click to enlarge.

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

Click to enlarge.

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

Click to enlarge.

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 to enlarge.

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

Click to enlarge.

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, and you are ready to go. You can see (in Figure H) eGroupware really is a full-featured groupware account.

Figure H

Click to enlarge.

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.


Jack Wallen is an award-winning writer for TechRepublic and Linux.com. He’s an avid promoter of open source and the voice of The Android Expert. For more news about Jack Wallen, visit his website getjackd.net.


Thank you for the beautiful post. I spent the last couple of days trying to put EGW to work. I got version 1.6.003 on an Ubuntu 10.04 pc. I fresh installed pretty much everything, from Apache down to EGW. I believe I have done my best to configure all as they should be. When I try to log in, I get all the time: Your session could not be verified. Of course I am using the correct credentials as I have specified them. As far as I can see there are a lot of people stuck on this and it is quite disappointing. Any suggestions would be highly appreciated. Regards


i i am C.Naveen Kumar.I installed Egroupware .I am getting some errors in the applications of eGroupware,especially in Tracking System and File Upload what to do................... ---------------------------------------- 1 )Error in Tracking system we are adding a new bug after filling all the mandatory details it is not getting error and shown in the tracking system.When we specify the Assigned To field to any particular user we are getting these two errors. Please check it out and give me reply as early as possible Warning: require_once(Net/IMAP.php) [function.require-once]: failed to open stream: No such file or directory in C:\xampp\htdocs\egroupware\emailadmin\inc\class.defaultimap.inc.php on line 14 Fatal error: require_once() [function.require]: Failed opening required 'Net/IMAP.php' (include_path='C:\xampp\htdocs\egroupware/egw-pear;.;C:\xampp\php\pear\') in C:\xampp\htdocs\egroupware\emailadmin\inc\class.defaultimap.inc.php on line 14 2 ) In attachment links tab we are browsing and attaching a file for that it is showing some error .we are not aware of how to rectify the error The error is Array Warning: copy(links://default/apps/tracker/22/rlz.dll) [function.copy]: failed to open stream: "links_stream_wrapper::stream_open" call failed in C:\xampp\htdocs\egroupware\phpgwapi\inc\class.egw_link.inc.php on line 750 3 ) In the file manager application, while uploading a file also we are getting errors Array Warning: fopen(sqlfs://default/home/naveen/header.inc.php) [function.fopen]: failed to open stream: "sqlfs_stream_wrapper::stream_open" call failed in C:\xampp\htdocs\egroupware\phpgwapi\inc\class.vfs_stream_wrapper.inc.php on line 182 Warning: copy(vfs://default/home/naveen/header.inc.php) [function.copy]: failed to open stream: "vfs_stream_wrapper::stream_open" call failed in C:\xampp\htdocs\egroupware\filemanager\inc\class.filemanager_ui.inc.php on line 136 Please Give me a detailed information or give me some supported links so that i can rectify the errors. Please reply me as early as possible.


Anybody get it working with Active Directory for single sign on?


Everything seems ok , until i go and continue to the header Admin page, it says down the bottom : "cannot create the header.inc.php due to file permission restriction . instead download or view the file. " *there is no 'write' button according to Your guide BUT neither 'download nor View' button works. they dont response when i click them . and every time i click continue it takes back me to the " Run installation tests" page. I am really stuck on it. any step by step help would be really appreciated. Thanks


This is the kind of constructive articles we need to see more frequently at TR. Enough of bashing on any OS and wasting people's time. Bring up the solutions to the problems and let users decide which way to go. Bravo! Thanks!!!


Excellent article, Jack. Thanks. I have a question. My colleague and I support about 15 different office, all located in different countries. Each is asking for collaboration, calendaring, doc mgmt software. Is it possible to set up an eGroupware server such that each office can access it BUT only has rights to calendaring, docs, etc. to THEIR specific office?


Just a couple of questions. I am following your guide which looks to be very well written. It mentions a plain base install. To me this is not adding any packages during the install at all. So I loaded Ubuntu 9.04 server in a virtual box. Did not select any additional packages. Ran into two problems. 1. /var/www did not exist since I did not choose to install lamp (or apache for that matter) 2. php-gd does not exist... I am guessing it should be php5-gd ? Not trying to pick at the guide. I wish more people would write guides in plain english. I just want to make sure I am doing this correctly. ================ Edit ================ Started install over, chose LAMP install. Changed php-gd to php5-gd and all went brilliantly. Well done sir ! Now to check this out. Thank you again for bringing this to my attention as well as the write up.


You need to change the permission for the egroupware root directory. Do as the following: suppose your egroupware root directory is /var/www/egroupware and the apache user is "www-data" Then execute the command: chown www-data:www-data -R /var/www/egroupware And then that will be ok.


you will most likely have to alter the permissions. you could, from the command line, create the file and give it the correct permissions. so, from the directory you need header.inc.php in issue these commands: touch header.inc.php chmod 644 header.inc.php then go back and you should be able to write to the file.


you would create a group for each office and then create a calendar for each group such that only that group could read that calendar. and then add users to the groups. i have not tested this, but i believe that should do the trick.


Hi, I use Citadel.org mailserver and would like to connect egroupware to Citadel. I can do this with no problems in Thunderbird, but nothing is working for egroupware? Is there a tuturial somewhere that shows what needs to go where? I thought it was straight-forward, but I'm missing something. Thanks!


Thank you for the suggestion. I appreciate your response. Maybe we can give this a try.

Editor's Picks