Friday Jul 30
English French German Italian Portuguese Russian Spanish Filipino

Open Source Groupware

Attention: open in a new window. PDFPrintE-mail

groupofficeI have been searching for an Open Source groupware system, which would allow me to share calendars, files, use e-mail and preferrably made to run on a LAMP stack. Most of the Open Source groupware I have tried had these capabilities but GroupOffice had the most polished look. It also comes with two themes both of which were simple in design using colors easy on the eyes. I also found the user interface quite intuitive. The calendar including e-mail even has drag and drop capability!

Disclaimer: There is no guarantee this will work for you the information provided is for the author's personal use.

The new version of GroupOffice can now be installed using Ubuntu or Debian packages. This is the easiest way to go as long as you have a fresh Ubuntu or Debian install.

The Pro Server version provides a way to sync Microsoft Outlook and PDA, the cost is about $600. Looking at other commercial alternatives like SAS or hosted the price range where roughly in between $2500 - $3500 annually for our 30 user group. Too pricey for our small office. You want to save your company some money then you should try GroupOffice. This is how I setup the community version of GroupOffice on a fresh Debian Lenny install. My setup for GroupOffice does not use MySQL to store virtual user accounts or virtual domains. I prefer to use Virtualmin  instead to manage these. I also have suPHP enabled for the website of my GroupOffice. Server specs VM running on ESXi, with 2 processors and 2 Gigs of ram.

Note: Words in italic are commands to be typed at shell prompt. GroupOffice version used is 3.01-Stable-34.

Partitions Used:

partitions

 

 

 

 

/home mount options set to usrquota & groupquota
/var mount options set to usrquota & groupquota
/tmp nodev,nosuid,noexec

 

 

 

 

 

I'm not installing the Desktop environment this will be just for server use.

 

software_install

 

 

 

 

 

 

 

 

 

 

 

After logging on the server. I will delete the line deb cdrom in /etc/apt/sources.list.  By moving the cursor on deb cdrom then hit dd twice to delete the whole line. Save the edited file.

 

delete_cdrom_repo

 

 

 

 

 

 

 

 

 

I'll do an update after making changes in sources.list

apt-get update

Since this is a fresh install time to install Virtualmin using the automated install script. Do this first before proceeding below.

Software needed by GroupOffice.

apt-get install libwbxml2-utils tnef

Connect to the server through Webmin then create domain example.com using Virtualmin to host GroupOffice.

Download the latest GroupOffice onto the desktop then unpacking it as well. Next I'll upload all of the contents into /home/user/public_html.

GroupOffice requires two folders called protected_data and local. I'll Create them now.

cd /home/example/

mkdir protected_data (Best to keep this outside of the folder serving web content)

chown example.example_group protected_data  (Replacing user.user_group for your own user and group)

cd /public_html

mkdir local

chown user.user_group local (Replacing user.user_group for your own user and group)

According to the Wiki manual I need to keep the configuration file outside of the root folder.

cd /home/example

touch config.php

chown example.example_group config.php

chmod 777 config.php (I'll change this later on to a more restrictive permissions after running the installation script)

At this point the installation begins. Opening Firefox I'm going to connect to the server http://example.com. GroupOffice starts to provide information for any missing software. Now would be a good time to install any missing software before proceeding with installation.

 

missing-software

 

 

 

 

 

To disable Magic quotes go into /etc/php5/cli.

cd /etc/php5/apache2

Make a copy of php.ini first.

cp php.ini php.ini.orig

Change the value of magic_quotes_gpc = Off;


magic_quotes


Restart the web server.

/etc/init.d/apache2 restart

Proceed with installation, answer questions accordingly.

For the relative url path I will set it to use /.

 

relative_url

 

 

 

 


I'll make sure the Protected files directory and public files path locations are correct before clicking continue. This should look like: /home/example/protected_data and /home/example/public_html/local. Using the default location for the tmp directory.

 

protected_data

 

 

 

 

 

 

 

I already have created a MySQL database to use so I will choose "Use existing database," then provide login information. Click continue.

 

database_login

 

 

 

 

 

 

I'm going to assign user access according to what I want.  On the next page choose group membership for new users. Click continue.

 

user_access

 

 

 

 

 

 

 

 

Mail system configuration.  The same server will also be my SMTP server so I'll leave the SMTP setting to localhost. Click continue.

 

smtp

 

 

 

 

 

 

Installation is complete.  Very important! I'll make sure the configuration file is secured by changing config.php permissions to 644.

 

install-complete

 

 

 

 

 

 

 

cd /home/user/

chmod 644 config.php

Login to GroupOffice http://example.com using the default username and password,  admin & admin. I like to redirect my logins to use https so I have added a redirect directive in my Apache. Using Webmin, Go to Servers | Apache Webserver | Aliases and Redirects | adding where to redirect to. Click save. Then apply changes.

 

https

 

 

 

 

 

 

 

 

Logging in using https.

 

groupoffice-login

 

 

 

 

 

 

 

 

 

 

 

Change it immediately, Go to Admin menu | Users | double click on admin.

 

admin-passwd

 

 

 

 

 

 

 

 

I already have a working IMAP server so I will configure OfficeGroup to connect to the IMAP server. But first the imap module has to be installed. Login as admin Go into | Admin menu | Modules | Click Install | choose imapauth | Click install.

 

install_imap_module

 

 

 

 

 

 

 

 

Now that the IMAP module has been installed I will need to setup the configuration.

cd /home/user/public_html/modules/imapauth

cp imapauth.config.php.example /home/user/imapauth.config.php

I'll change the necessary values for my use. For the 'host' => '123.123.123.123', I will use the IP address of my IMAP server.

 

imap-config

 

I'm now going to add an e-mail account into GroupOffice. Login as admin create a new user change the preferences for the user. Now login as the newly created user Go into Email | Settings | Accounts | Add | input all of the necessary values for incoming and outgoing server depending on your setup.

 

email-account

 

 

 

 

 

 

 

Setting up auto replies I will use Usermin which already comes with Virtualmin GPL when installed using the install script. Usermin's interface allows me to customize the auto reply I want sent out. It even comes with a way to schedule e-mails. A great way to send reminders out using e-mail.

 

auto-reply

 

 

 

 

 

 

I'm also able to view how much space I used so far against my allocated quota using Usermin.  The /home directory shows the space used for my mail folders, /var represents the amount of e-mails I have in my inbox.

 

quota

 

 

 

 

 

 

 

 

In order to protect the data I have scheduled a backup through Virtualmin on a nightly basis. This will backup both root folder  and database of my GroupOffice installation. For security I prefer to limit access to my login page only from places I will be connecting from. This could be easily accomplished using .htaccess.

cd /home/example/public_html

A good site to find country CIDR blocks could be found here.  Copy and paste the information into .htaccess.

vi .htaccess

<Limit GET HEAD POST>
order deny,allow
allow from 123.123.123.0/8
allow from 123.123.123.0/9
deny from all
</Limit>

As soon as the file is saved the rules are active.

Thanks to the creators of GroupOffice Intermesh my IMAP server has more features to offer.

Reference:

http://www.group-office.com/wiki/Main_Page

 

 

Attachments:
Download this file (imapauth.config.txt)imapauth.config.txt[ ]0 Kb05/15/09 21:56


Add this page to your favorite Social Bookmarking websites
Digg! Reddit! Del.icio.us! Google! Live! Facebook! StumbleUpon! Yahoo! Joomla Portal

COMMENTS: (Abusing this comment form with spam would be the most effective way to have your IP, network or country blocked!)

avatar JT
0
 
 
Hi
I set up a similar system, although I'm not using virtual/usermin (might give it a go though). I'm not using GO as the main password store, as I have an LDAP directory for all my user info. Everything works great, except that when a user changes their password, although GO updates the user password, it does not update their email password it has stored, so they cannot connect to the mail server. Did you work around this?
Name *
Code   
ChronoComments by Joomla Professional Solutions
Submit Comment
Cancel
avatar Joe
0
 
 
Sorry I have not since I am not using LDAP authentication. But if you ever figure it out you might want to share the solution here : )
Name *
Code   
ChronoComments by Joomla Professional Solutions
Submit Comment
Cancel
avatar JT
0
 
 
I got there in the end. There was a bug in the current stable version (3.5.8). I checked out the ldapauth module from svn and all works fine now.
Name *
Code   
ChronoComments by Joomla Professional Solutions
Submit Comment
Cancel
Name *
Code   
ChronoComments by Joomla Professional Solutions
Submit Comment