EGroupWare

eGroupWare is an open-source, web-based groupware application that has the potential to significantly aid the flow of communication in any group setting, whether it be a business with an office, a business with several satellite employees, or a non-profit community group. This groupware consists of a platform which can have specially designed applications or modules added or removed to fit the group’s needs.

Applications
Like Windows and other operating systems, this platform comes with several useful applications installed by default, but also has the ability to have additional modules installed. The standard set of applications resemble the different components of Microsoft Outlook, and there are even additional modules that can be installed which will sync information from the groupware with Microsoft Outlook. Calendar is an application that has the capacity to schedule groups of people, resources (rooms, equipment, etc.) and contacts. AddressBook is a contact manager application that allows individuals to manage contacts for their own projects or for the sharing of contacts between other users of the groupware software. FelaMiMail is a mail application that integrates well with any IMAP mail-client, and other applications on the platform. InfoLog is a powerful task managing application that integrates to-do lists, notes and phone logs. It also integrates with AddressBook to provide an effective customer relations management solution. The platform comes with additional applications, including ones for updating websites that have content management placeholders.

Installation Requirements
eGroupWare requires PHP (newest version preferred, at the time of creation of this article it is PHP5), with a customizable php.ini file, and PEAR modules installed. It also requires a database of some sort, in this case we are going to use mySQL.

For the sake of these instructions you also need a user account with DreamHost that will permit you log into the Unix shell via SSH (see Enabling Shell Access).

Install a Custom php.ini
Use the instructions from the PHP.ini  page on the DreamHost Wiki to install a custom php.ini. When you create the .sh file make sure you ONLY use the instructions for PHP5.

Modify php.ini
Open your new custom php.ini file and add the following to the end of the file:

Install a Custom Instillation of PEAR
Use the instructions from the PEAR  page on the DreamHost Wiki to install a custom version of PEAR, making sure to stop at the section titled “Installing Packages,” though if you did follow the instructions on that section, you wouldn’t run into any difficulty.

Modify php.ini to Include the Installation of PEAR
Go into your newly created php.ini file (found in /yoursite/cgi-bin) and add the following to the very end:

Create a mySQL Database
Use the instructions from the mySQL page on the DreamHost Wiki to create a database specifically for eGroupWare.

Be sure to write down and/or remember the Database Name, The Host Name, The User Name, and the Password for the database you create, as you will need it later.

Locate the Install Packages
Visit eGroupWare.org and download the community edition of eGroupWare. Find the link to the official site to download .tar.gz packages. (Will more than likely be at SourceForge.net).

Once on that site click on the download link next to eGroupWare X.X.XXX. A list of packages will be displayed. The ones that we are looking for all end in .tar.gz, and we will have to download ALL of the packages that end in .tar.gz off of this list. '''Don’t Download Anything Yet! '''

The files should be used (replacing X with current version numbers) are: eGroupWare-X.X.XXX-X.tar.gz (The whole eGroupWare Package) eGroupWare-egw-pear-X.X.XXX-X.tar.gz (Associated PEAR Modules)

Though eGroupWare-gallery-X.X.XXX-X.tar.gz is not necessary, it wouldn't hurt to download that as well.

Downloading
It is tremendously faster to use the unix shell to download and uncompress the packages, as opposed to downloading them onto your computer, uncompressing them and then uploading the files via FTP.

In that list of packages from the previous step, click on the name of the first package… If your web browser tries to download the package for you, just cancel the process.

Look for the sentences that say “Your download should begin shortly. If you are experiencing problems with the download please use this direct link.”

Right click on the direct link in those sentences, and click on Copy Shourcut (Internet Explorer) or Copy Link Location (FireFox).

You now have a copy of the address that you can download the package from on your clipboard.

In the Unix shell, navigate to your website’s directory by entering: $ cd (your_site_directory) Once in your site’s directory you can download the package by entering: $ wget (paste_copied_address_here) The package will download into your web server directly from the internet.

Make note of the EXACT filename and repeat the same steps to obtain the remaining .tar.gz packages on the list.

Uncompressing
Once all of the packages are downloaded you have to uncompress them. To do this just use the following command in Unix shell: Repeat the process with all of the other packages that you downloaded.

Create: Backup, Temporary, and Storage Folders in your Home Directory
Create three folders in your home directory (the directory that your website’s folder is stored in). The reason why we have to create these folders in your home directory, as opposed to your website’s folder is because it is a breach of security to have it accessible from the world wide web.

Create folders called; backup, temporary, and storage. You can create the folders using the Unix shell (if you are experienced in doing so) or with the FTP client of your choice.

Create Outbound Email Account
Inorder to protect the security of existing email accounts you need to create a functioning email address that the SMTP server will authenticate. Using the instructions on the Email Setup page on the DreamHost Wiki, create an email account that resembles outbound@(yourdomain), with as little disk space as possible and write down/remember the credentials for it.

Starting Setup
Visit http://(yourdomain)/egroupware to start the installation. Select your language of preference and click on Run installation tests. It will take some time for the server to execute the test.

Installation Test Results
Once the tests are finished, review the warnings, and ignore the ones for “pgsql,” “odbc,” “oci8,” “ldap,” and "Auth_SASL." If there are any other warnings, you’ve made an error in the installation, go back and check your work. Once finished this section, click on “continue to header admin.”

Setting Configuration Passwords and Connecting to the Database
Fill out the header password. And leave the rest of the settings in this section alone.

When you get to the database section fill out the appropriate information that you entered earlier to create your mySQL database.

Create a password for the configuration section, (you can use the same password.)

Click on the Write button. And you will see a message that says “Created header.inc.php!

Click the continue button. And log into the Setup/Config Admin Login using the credentials that you just created for the configuration section.

Installing Initial Applications
Once in the Setup/Config area click on the “Install” button… It will also take some time for the server to process this.

Once the page changes, click on the “Re-Check My Installation” button. Once the installation has been checked, most of the red x’s you previously saw should be replaced with green checkmarks.

Setting Paths of Private Folders and Configuring Email and Encryption
Now it is time to set up even more server configurations. Click on the “Edit Current Configuration” button.

Under the path information section set /home/(username)/temporary as your path for temporary files.

Under that, set /home/(username)/storage as your path for users and group files.

Under that, set /home/(username)/backup as the path to the backup directory.

And finally under that, set /egroupware as the location of eGroupWare’s URL.

Skip the host information section unless if you know what you are doing.

Under the Standard mailserver settings set the POP/IMAP mail server hostname as mail.(yourdomain)

Ensure mail server protocol is set to IMAP.

Change the mail server login type to “Virtual mail manager.”

For the mail domain set it as your domain, just your domain and only your domain, no @ symbols, no http://, no www’s.

The SMTP server hostname is mail.(yourdomain).

The SMTP server port is 25.

For SMTP authentication, use the credentials that you created for the outbound email address. This would be outbound@(yourdomain)

Password for SMTP-authentication is the password for the outbound email address that you created earlier.

Skip the next few sections… Authentication/Accounts… If using LDAP… If using ADS…

For Mcrypt settings, just enter random text, numbers and characters for the app session encryption. Be sure to remember where this setting is just in case if you have to go back to redo this, Mcrypt can sometimes be temperamental. In future the address of this configuration area is http://(yourdomain)/egroupware/setup.

Skip the Additional Settings Section and click on the “Save” Button.

Creating the Administrator Account
CRITICAL POINT: eGroupWare automatically configures itself so that it uses your username and password to log into the email systems.

For example if your email address was “joe@domain.com” and your password was “joecool” your username would have to be “joe” and your password would have to be “joecool”. The application (because we previously selected “Virtual Mail Manager”) would automatically stick in the required domain. If you were ever to need to change your password, you would need to change it in TWO places, both on eGroupWare and on your email address with DreamHost, otherwise the email system in eGroupWare will not function.

KEEPING IN MIND WHAT WAS JUST SAID fill out the Details for Admin account form to your tastes and then click on Save.

You will now be returned to the Setup Page and if all went well you should only see green checkmarks. Click on the Back to user login button in the upper left corner.

Login to your account using the credentials you just specified for the administrators account.

Congratulations you have now successfully setup eGroupWare!

Forcing SMTP to Accept Authentication
There is a bug in the system, where you specify an SMTP password in one of the previous configuration forms that you filled out and the settings for SMTP authentication do not stick. As a result you have to go in to the settings on the admin account to repair it.

Once you are logged in as the administrator click on the first icon on the left that looks like a control panel.

Scroll down until you find “emailadmin,” and click on “Site Configuration.”

Click on the only entry in that list that says mail.(yourdomain) just under the SMTP server name.

A new window pops up, now check the box right next to “Use SMTP auth:” and then click on the save button on the lower right hand side of the window. The window will automatically close, now click on the save button in the “Profile List.”

Verify that your email is working by clicking on the mail application icon in the top navigation bar. If it is configured properly, you will see a list of your IMAP email folders. Now send a test email to anyone, it could be to yourself, a friend in Paris, or your dog. If the SMTP configuration is functioning properly, it will send the message immediately, if not you will see ugly red text claiming that there was an SMTP error and that the message couldn’t be sent to the recipients. If that happens, go back and check the SMTP settings mentioned EVERYWHERE in this tutorial.

Adding User Accounts
To add user accounts, you can simply do that using the admin panel. However if you want those user accounts to be associated with an email account you must create one with the DreamHost configuration panel first. And then, as usual, configure the username and passwords to be identical to that of the email address (see above.)

Changing Passwords for Non-Administrative Users
And in case if you are wondering there is a way for users to change their passwords themselves (you just have to advise them that they have to change it in two places!). If you go to http://mailboxes.(yourdomain) login using your email credentials and change your password on the form in front of you. After that change your credentials in eGroupWare by clicking on “Preferences” in the upper left hand corner, and then “Change my Password.”

Running Slowly?
There are methods for speeding up eGroupWare on their website at eGroupWare.org… If you have money to spend, and not time to go hunting through the internet looking for solutions, consider moving this onto a dedicated server, or a virtualized dedicated server, such as DreamHost PS, where it would run faster.

Help Make this Process Easier: VOTE!
A one click install has been requested for eGroupWare, however, people actually have to vote for it in order for DreamHost to make any sort of time investment into it. VOTE TODAY in the DreamHost Panel by going to Home/Suggestions and then type eGroupWare into the search box and pressing search. After the search is complete you will see a list of suggestions, click on the thumbs up next to the one click installer for eGroupWare, and keep your fingers crossed that someone may someday listen.