Sogo
SOGo - Scaleable OpenGroupware.org
SOGo is a groupware server built around OpenGroupware.org (OGo) and the SOPE application server. It focuses on scalability.
SOGo provides a rich AJAX-based Web interface and supports multiple native clients through the use of standard protocols such as CalDAV, CardDAV and GroupDAV.
Once configured, SOGo offers multiple ways to access the calendaring and messaging data. Your users can either use a web browser, Mozilla Thunderbird, Apple iCal, or a mobile device to access the same information.
There is a separate Howto for installing the Funambol middleware that allows SyncML mobile device synchronisation with SOGo.
Requirements
SOGo requires SME 8 (beta 5)
Install
Adding the repository to your SME Server 8:
db yum_repositories set sogo repository \ BaseURL http://inverse.ca/downloads/SOGo/RHEL5/i386 \ EnableGroups yes \ GPGCheck no \ Name "Inverse SOGo Repository" \ Visible yes \ status disabled db yum_repositories set nethsme repository \ BaseURL http://smeserver.nethesis.it/releases/8/i386 \ EnableGroups yes \ GPGCheck yes \ Name "Nethesis SME Repository" \ Visible yes \ status disabled signal-event yum-modify
Installing the GPG key to verify the packages:
wget http://smeserver.nethesis.it/releases/RPM-GPG-KEY-nethesis rpm --import RPM-GPG-KEY-nethesis
Then you can install smeserver-sogo package
yum install smeserver-sogo --enablerepo=nethsme --enablerepo=sogo
Upgrade
Upgrade to a later SOGo version (here: upgrade to 1.3 which was released on 21.7.2010)
yum update --disablerepo=* --enablerepo=sogo /etc/rc7.d/S85sogod restart
Usage
To access webmail and calenders, open the url http://yourdomain.net/SOGo
Thunderbird Configuration
1.) From a Windows client create the folder "SOGo-plugins\WINNT_x86-msvc" in your Primary ibay "html" folder (e.g. \\<SME server name>\Primary\hmtl\SOGo-plugins\WINNT_x86-msvc)
2.) Download the latest Lightning, Connector and Integrator plugins from [1] and place them in the "WINNT_x86-msvc" folder.
3.) Rename "sogo-integrator-<version>-sogo-demo.xpi" to "sogo-integrator-<version>-sogo.xpi". (This is optional)
4.) Open the "sogo-integrator-<version>-sogo.xpi" file with your favorite zip program (it is just a renamed zip file. 7-zip works nicely for this) and edit the file "\chrome\content\sogo-integrator\extensions.rdf".
Change the following lines:
<Seq about="http://inverse.ca/sogo-integrator/extensions" isi:updateURL="http://sogo-demo.inverse.ca/plugins/updates.php?plugin=%ITEM_ID%&version=%ITEM_VERSION%&platform=%PLATFORM%"> <li> <Description em:id="sogo-integrator@inverse.ca" em:name="SOGo Integrator"/> </li> <li> <Description em:id="sogo-connector@inverse.ca" em:name="SOGo Connector"/> </li> </Seq>
To read: (change the server address to your server and add the Lightning plugin to the extensions list): (Then save the "extensions.rdf" back to the same place in the "sogo-integrator-<version>-sogo.xpi" file and then save the .xpi file back on the server in the "\\<SME server name>\Primary\hmtl\SOGo-plugins\WINNT_x86-msvc" folder.)
<Seq about="http://inverse.ca/sogo-integrator/extensions" isi:updateURL="http://<sme server name.domain>/SOGo-plugins/updates.php?plugin=%ITEM_ID%&version=%ITEM_VERSION%&platform=%PLATFORM%"> <li> <Description em:id="sogo-integrator@inverse.ca" em:name="SOGo Integrator"/> </li> <li> <Description em:id="sogo-connector@inverse.ca" em:name="SOGo Connector"/> </li> <li> <Description em:id="{e2fda1a4-762b-4020-b5ad-a41df1933103}" em:name="Lightning"/> </li> </Seq>
5.) Create the file "updates.php" in the "SOGo-plugins" folder
6.) Add the following lines to the file: (Please note you must customize the "version =>", "filename =>" and "<em:updateLink>http://<sme server name.domain>/SOGo-plugins/<?php echo $plugin["filename"] ?></em:updateLink>" in the lines below!)
<?php /* updates.php - this file is part of SOGo * * Copyright (C) 2006-2009 Inverse inc. * * Author: Wolfgang Sourdeau <wsourdeau@inverse.ca> * * This file is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This file is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; see the file COPYING. If not, write to * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ /* This script handles the automatic propagation of extensions pertaining to a SOGo site. It requires PHP 4.1.0 or later. */ $plugins = array( "sogo-connector@inverse.ca" => array( "application" => "thunderbird", "version" => "0.99", "filename" => "sogo-connector-0.99.xpi" ), "sogo-integrator@inverse.ca" => array( "application" => "thunderbird", "version" => "0.99", "filename" => "sogo-integrator-0.99-sogo.xpi" ), "{e2fda1a4-762b-4020-b5ad-a41df1933103}" => array( "application" => "thunderbird", "version" => "0.9.9", "filename" => "lightning-0.9.9-inverse.win32.xpi" )); $applications = array( "thunderbird" => "<em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id> <em:minVersion>1.5</em:minVersion> <em:maxVersion>2.0.*</em:maxVersion>", "firefox" => "<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <em:minVersion>1.5</em:minVersion> <em:maxVersion>2.0.*</em:maxVersion>" ); $pluginname = $_GET["plugin"]; $plugin =& $plugins[$pluginname]; $application =& $applications[$plugin["application"]]; if ( $plugin ) { $platform = $_GET["platform"]; if ( $platform && file_exists( $platform . "/" . $plugin["filename"] ) ) { $plugin["filename"] = $platform . "/" . $plugin["filename"]; } elseif ( !file_exists( $plugin["filename"] ) ) { $plugin = false; } } if ( $plugin ) { header("Content-type: text/xml; charset=utf-8"); echo ('<?xml version="1.0"?>' . "\n"); ?> <!DOCTYPE RDF> <RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> <Description about="urn:mozilla:extension:<?php echo $pluginname ?>"> <em:updates> <Seq> <li> <Description> <em:version><?php echo $plugin["version"] ?></em:version> <em:targetApplication> <Description><?php echo $applications[$plugin["application"]] ?> <em:updateLink>http://<sme server name.domain>/SOGo-plugins/<?php echo $plugin["filename"] ?></em:updateLink> </Description> </em:targetApplication> </Description> </li> </Seq> </em:updates> </Description> </RDF> <?php } else { header("Content-type: text/plain; charset=utf-8", true, 404); echo( 'Plugin not found' ); } ?>
(You will have to update this file everytime you update the plugins.)
7.) Install the Thunderbird and configure it to use the SME IMAP email
8.) Install the "sogo-integrator-<version>-sogo.xpi" plugin you modified, into Thunderbird and restart Thunderbird. Sogo will then go to the server and install the other plugins as configured in your "updates.php" file.
Now you can create and share address books and calendars in Thunderbird with other SME users and control access rights to them. Your calendars and address books will also sync with the SOGO webmail page as well as any other computers where you have the SOGO Integrator plugin installed.
To configure other devices refer to website