Difference between revisions of "Sogo"
Unnilennium (talk | contribs) |
|||
(54 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
{{usefulnote}} | {{usefulnote}} | ||
+ | |||
+ | ==Version== | ||
+ | {{#smeversion: smeserver-sogo }} | ||
+ | [[Version::contrib9|stephdl]][[Has SME9::true| ]] | ||
+ | |||
== SOGo - Scaleable OpenGroupware.org == | == SOGo - Scaleable OpenGroupware.org == | ||
Line 12: | Line 17: | ||
=== Maintainer === | === Maintainer === | ||
[mailto:stephdl@de-labrusse.fr Stéphane de Labrusse] AKA [[User:Stephdl|Stephdl]] | [mailto:stephdl@de-labrusse.fr Stéphane de Labrusse] AKA [[User:Stephdl|Stephdl]] | ||
+ | |||
+ | and for SME10 [mailto:brianr@koozali.org Brian Read] AKA [[User:brianr|brianr]] | ||
The original work has been made by [http://www.nethesis.it/ nethesis]. Many thanks to all previous developers | The original work has been made by [http://www.nethesis.it/ nethesis]. Many thanks to all previous developers | ||
=== Requirements === | === Requirements === | ||
− | SOGo requires SME 8 | + | The latest SOGo requires SME10, the SME8 and 9 instructions are left for legacy systems only. |
+ | |||
+ | = For SME10 = | ||
+ | |||
+ | In order to get the latest stable SOGo you need a support contract as described [https://www.sogo.nu/support.html#/commercial here] and [https://www.sogo.nu/support/faq/how-to-install-sogo-and-sope-through-yum.html here] | ||
+ | |||
+ | Otherwise you can install SOGo from the nightly build as follows:<syntaxhighlight lang="shell"> | ||
+ | db yum_repositories set sogo repository \ | ||
+ | BaseURL 'http://packages.inverse.ca/SOGo/nightly/5/rhel/$releasever/$basearch' \ | ||
+ | EnableGroups yes \ | ||
+ | GPGCheck no \ | ||
+ | Name 'Inverse Sogo5 Repository' \ | ||
+ | Visible yes \ | ||
+ | status disabled | ||
+ | |||
+ | signal-event yum-modify | ||
+ | </syntaxhighlight>If you have a support contract, then edit the above to the stable repo and add in the username and password as described in the link above. | ||
+ | and then:<syntaxhighlight lang="shell"> | ||
+ | yum install smeserver-extrarepositories-epel -y | ||
+ | yum install smeserver-sogo --enablerepo=sogo,epel,smecontribs,smetest -y | ||
+ | |||
+ | </syntaxhighlight>Pro Tem you may need to add smetest to the enablerepo list above to pick up the latest version of smeserver-sogo. Once it is verified it will be copied to smecontribs. | ||
+ | |||
+ | Once you have picked up the nightly version then you will not update it unless you specifically add the sogo repo to the yum update command:<syntaxhighlight lang="shell"> | ||
+ | yum update --enablerepo=sogo | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | = For SME 8 = | ||
== Install SOGO 2 == | == Install SOGO 2 == | ||
− | + | ||
{{Note box| due to the version of dovecot, I cannot maintain sogo for sme8, please upgrade to sme9}} | {{Note box| due to the version of dovecot, I cannot maintain sogo for sme8, please upgrade to sme9}} | ||
− | You need to activate '''[[Stephdl]]''', [[epel]] and | + | You need to activate '''[[Stephdl]]''', '''[[epel]]''' and '''[[Sogo-repo|sogo repository]]''' |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{Warning box|due to the limitation of dovecot 1.0 in SME server 8.0, you cannot use sogo (superior of 2.0 version) without bugs. If it is absolutely needed (eg : you should use SME9) you can install smeserver-dovecot from firewall-services : https://wikit.firewall-services.com/doku.php/smedev/dovecot}} | {{Warning box|due to the limitation of dovecot 1.0 in SME server 8.0, you cannot use sogo (superior of 2.0 version) without bugs. If it is absolutely needed (eg : you should use SME9) you can install smeserver-dovecot from firewall-services : https://wikit.firewall-services.com/doku.php/smedev/dovecot}} | ||
This contrib is currently held in several repositories, so the following commands will install it on your smeserver. | This contrib is currently held in several repositories, so the following commands will install it on your smeserver. | ||
− | For SME 8 , You need to activate '''[[Stephdl]]''', [[epel]] and sogo repository | + | For SME 8 , You need to activate '''[[Stephdl]]''', [[epel]] and '''[[Sogo-repo|sogo repository]]''' |
yum --enablerepo=stephdl,epel,sogo install smeserver-sogo | yum --enablerepo=stephdl,epel,sogo install smeserver-sogo | ||
Line 67: | Line 71: | ||
signal-event sogo-modify; config set UnsavedChanges no | signal-event sogo-modify; config set UnsavedChanges no | ||
− | + | = For SME 9 = | |
− | You need to activate '''[[Stephdl]]''', [[epel]] and sogo repository | + | |
+ | == Install SOGO 2 == | ||
+ | |||
+ | You need to activate '''[[Stephdl]]''', [[epel]] and '''[[Sogo-repo|sogo repository]]''' | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
This contrib is currently held in several repositories, so the following commands will install it on your smeserver. | This contrib is currently held in several repositories, so the following commands will install it on your smeserver. | ||
− | For SME 9 , You need to activate '''[[Stephdl]]''', '''[[epel]]''' | + | For SME 9 , You need to activate '''[[Stephdl]]''', '''[[epel]]'''and '''[[Sogo-repo|sogo repository]]''' |
yum --enablerepo=stephdl,epel,sogo,fws install smeserver-sogo | yum --enablerepo=stephdl,epel,sogo,fws install smeserver-sogo | ||
Line 112: | Line 90: | ||
signal-event sogo-modify; config set UnsavedChanges no | signal-event sogo-modify; config set UnsavedChanges no | ||
− | + | == Install SOGO 3 (ONLY SME9)== | |
− | == Usage | + | === First installation=== |
+ | |||
+ | This contrib is currently held in several repositories, so the following commands will install it on your smeserver. | ||
+ | For SME 9 , You need to activate '''[[Stephdl]]''', '''[[epel]]''' and '''[[Sogo-repo|sogo repository]]''' | ||
+ | |||
+ | yum --enablerepo=stephdl,epel,sogo3,fws install smeserver-sogo | ||
+ | |||
+ | You will then need to activate the database changes etc. | ||
+ | The 'official' way is to perform | ||
+ | |||
+ | signal-event post-upgrade; signal-event reboot | ||
+ | or if you don't want to reboot your server | ||
+ | signal-event sogo-modify; config set UnsavedChanges no | ||
+ | |||
+ | ===Upgrade from sogo2=== | ||
+ | For SME 9 , You need to activate '''[[Stephdl]]''', '''[[epel]]''', '''[[fws]]''' and '''[[Sogo-repo|sogo repository]]''' | ||
+ | |||
+ | signal-event yum-modify | ||
+ | yum update --enablerepo=sogo3 | ||
+ | yum reinstall sope\* --enablerepo=sogo3 | ||
+ | |||
+ | You will then need to activate the database changes etc. | ||
+ | The 'official' way is to perform | ||
+ | |||
+ | signal-event post-upgrade; signal-event reboot | ||
+ | or if you don't want to reboot your server | ||
+ | signal-event sogo-modify; config set UnsavedChanges no | ||
+ | |||
+ | <headertabs /> | ||
+ | |||
+ | |||
+ | = Usage = | ||
To access webmail and calenders, open the url http://yourdomain.net/SOGo | To access webmail and calenders, open the url http://yourdomain.net/SOGo | ||
Line 120: | Line 129: | ||
If you disable webmail access from within SmeServer email panel, opening http://yourdomain.net/webmail you'll be redirected to SOGo. | If you disable webmail access from within SmeServer email panel, opening http://yourdomain.net/webmail you'll be redirected to SOGo. | ||
− | == Sieve integration (SME 9) | + | |
+ | =DB= | ||
+ | On SME9 and SME10 | ||
+ | |||
+ | sogod=service | ||
+ | ACLsSendEMailNotifications=NO | ||
+ | ActiveSync=disabled | ||
+ | AdminUsers=admin | ||
+ | DbPassword=NjPvjv3SPxb+s37.AKPGGGjFIeQJykYoPnL9oI.48d8qhsW3luZhQnMqrGurcBGU3Q23w77gp1+o | ||
+ | DraftsFolder=Drafts | ||
+ | SpamFolder=Junk | ||
+ | EnableEMailAlarms=NO | ||
+ | LdapTCPPort=389 | ||
+ | MailAuxiliaryUserAccountsEnabled=YES | ||
+ | PublicAccess=NO | ||
+ | SOGoInternalSyncInterval=60 | ||
+ | SOGoMaximumPingInterval=3540 | ||
+ | SOGoMaximumSyncInterval=3540 | ||
+ | SOGoMaximumSyncResponseSize=2048 | ||
+ | SOGoMaximumSyncWindowSize=100 | ||
+ | SentFolder=Sent | ||
+ | SessionDuration=1440 | ||
+ | TCPPort=20000 | ||
+ | TrashFolder=Trash | ||
+ | WOWatchDogRequestTimeout=3600 | ||
+ | WOWorkersCount=10 | ||
+ | status=enabled | ||
+ | |||
+ | After a modification (for SME10): | ||
+ | signal-event smeserver-sogo-update | ||
+ | SME9 requires a call to sogo-modify | ||
+ | |||
+ | = Sieve integration (SME 9 and maybe SME10) = | ||
Installing SOGo on SME 9 according to the instructions above also installs [[smeserver-dovecot-extras]] as a dependency. In order to make full use of sieve functionality in SOGo (such as auto expiration of vacation messages), make sure that the following property is enabled in the configuration database: | Installing SOGo on SME 9 according to the instructions above also installs [[smeserver-dovecot-extras]] as a dependency. In order to make full use of sieve functionality in SOGo (such as auto expiration of vacation messages), make sure that the following property is enabled in the configuration database: | ||
Line 128: | Line 169: | ||
signal-event email-update | signal-event email-update | ||
− | + | = Special Settings (SME 9 and maybe SME10!) = | |
Sogo is full of settings that I cannot provide all, please read the [http://www.sogo.nu/files/docs/SOGo%20Installation%20Guide.pdf sogo's book] | Sogo is full of settings that I cannot provide all, please read the [http://www.sogo.nu/files/docs/SOGo%20Installation%20Guide.pdf sogo's book] | ||
Line 134: | Line 175: | ||
Now when you want to add a specific option, 'SOGoMailComposeMessageType html' per example | Now when you want to add a specific option, 'SOGoMailComposeMessageType html' per example | ||
− | vim /etc/e-smith/templates/etc/sogo/sogo.conf/ | + | vim /etc/e-smith/templates/etc/sogo/sogo.conf/80MYOPTIONS |
Add you modifications (contrary is 'text') | Add you modifications (contrary is 'text') | ||
SOGoMailComposeMessageType = html; | SOGoMailComposeMessageType = html; | ||
Expand and restart sogo | Expand and restart sogo | ||
− | signal-event sogo- | + | signal-event smeserver-sogo-update |
If you want to go back, then | If you want to go back, then | ||
− | rm -f /etc/e-smith/templates/etc/sogo/sogo.conf/ | + | rm -f /etc/e-smith/templates/etc/sogo/sogo.conf/80MYOPTIONS |
− | signal-event sogo- | + | signal-event smeserver-sogo-update |
− | + | = Log = | |
All events are logged in the relevant log file | All events are logged in the relevant log file | ||
less /var/log/sogo/sogo.log | less /var/log/sogo/sogo.log | ||
− | + | = Documentation = | |
[http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&ved=0CCUQFjAB&url=http%3A%2F%2Fwww.sogo.nu%2Ffiles%2Fdocs%2FSOGo%2520Installation%2520Guide.pdf&ei=dAXxU8KGL6Sw0QX4roHQDQ&usg=AFQjCNGmKQcY8gebCyEoxZsK--yo4Cbx9Q&bvm=bv.73231344,d.d2k Please RTFM] instead of raising bugs against smeserver-sogo :) | [http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&ved=0CCUQFjAB&url=http%3A%2F%2Fwww.sogo.nu%2Ffiles%2Fdocs%2FSOGo%2520Installation%2520Guide.pdf&ei=dAXxU8KGL6Sw0QX4roHQDQ&usg=AFQjCNGmKQcY8gebCyEoxZsK--yo4Cbx9Q&bvm=bv.73231344,d.d2k Please RTFM] instead of raising bugs against smeserver-sogo :) | ||
Line 155: | Line 196: | ||
− | You can fine tune thunderbird to be a pure "heavy" client for SOGo. [http://www.sogo.nu/files/docs/ | + | You can fine tune thunderbird to be a pure "heavy" client for SOGo. [http://www.sogo.nu/files/docs/SOGoMozillaThunderbirdConfigurationGuide.pdf See the Documentation] |
+ | |||
+ | =Fine tune SOGo= | ||
+ | Sogo must be [https://sogo.nu/files/docs/SOGoInstallationGuide.html#_microsoft_enterprise_activesync_tuning tuned] following the number of users, some settings can be tested. | ||
− | == Thunderbird Configuration | + | Keep in mind to set one worker per user for the activesync connection. |
+ | |||
+ | * 100 users, 10 EAS devices | ||
+ | |||
+ | config setprop sogod WOWorkersCount 15 | ||
+ | config setprop sogod SOGoMaximumPingInterval 3540 | ||
+ | config setprop sogod SOGoMaximumSyncInterval 3540 | ||
+ | config setprop sogod SOGoInternalSyncInterval 30 | ||
+ | |||
+ | signal-event smeserver-sogo-update | ||
+ | |||
+ | * 100 users, 20 EAS devices | ||
+ | |||
+ | config setprop sogod WOWorkersCount 25 | ||
+ | config setprop sogod SOGoMaximumPingInterval 3540 | ||
+ | config setprop sogod SOGoMaximumSyncInterval 3540 | ||
+ | config setprop sogod SOGoInternalSyncInterval 40 | ||
+ | |||
+ | signal-event smeserver-sogo-update | ||
+ | |||
+ | * 1000 users, 100 EAS devices | ||
+ | |||
+ | config setprop sogod WOWorkersCount 120 | ||
+ | config setprop sogod SOGoMaximumPingInterval 3540 | ||
+ | config setprop sogod SOGoMaximumSyncInterval 3540 | ||
+ | config setprop sogod SOGoInternalSyncInterval 60 | ||
+ | |||
+ | signal-event smeserver-sogo-update | ||
+ | |||
+ | ==ImapMaxLineLength== | ||
+ | |||
+ | Maximum IMAP command line length in kilo bytes. Some clients generate very long command lines with huge mailboxes, so you may need to raise this if you get "Too long argument" or "IMAP command line too large" errors often. | ||
+ | |||
+ | set by default to 2048KB | ||
+ | |||
+ | config setprop dovecot ImapMaxLineLenght 2048 | ||
+ | signal-event smeserver-sogo-update | ||
+ | |||
+ | = Thunderbird Configuration = | ||
You are encouraged to use Thunderbird ESR (Extended Support Release) and corresponding compatible Lightning plugin. According to Mozilla Team "Thunderbird Extended Support Release (ESR) is intended for groups who deploy and maintain the desktop environment in large organizations such as universities and other schools, county or city governments and businesses". | You are encouraged to use Thunderbird ESR (Extended Support Release) and corresponding compatible Lightning plugin. According to Mozilla Team "Thunderbird Extended Support Release (ESR) is intended for groups who deploy and maintain the desktop environment in large organizations such as universities and other schools, county or city governments and businesses". | ||
Line 173: | Line 255: | ||
<nowiki><Seq about="http://inverse.ca/sogo-integrator/extensions" | <nowiki><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></nowiki> | |
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.) | 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.) | ||
<nowiki><Seq about="http://inverse.ca/sogo-integrator/extensions" | <nowiki><Seq about="http://inverse.ca/sogo-integrator/extensions" | ||
− | + | isi:updateURL="https://<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></nowiki> | |
5.) Create the file "updates.php" in the "SOGo-plugins" folder | 5.) Create the file "updates.php" in the "SOGo-plugins" folder | ||
Line 212: | Line 294: | ||
<nowiki><?php | <nowiki><?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>https://<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' ); | |
− | + | } | |
− | + | ?></nowiki> | |
(You will have to update this file everytime you update the plugins.) | (You will have to update this file everytime you update the plugins.) | ||
Line 314: | Line 396: | ||
To configure other devices refer to website; look however at SOGo official up-to-date front-end software and documentation with latest upgrades for server, client and device configuration (http://www.sogo.nu/downloads/frontends.html - http://www.sogo.nu/downloads/documentation.html). | To configure other devices refer to website; look however at SOGo official up-to-date front-end software and documentation with latest upgrades for server, client and device configuration (http://www.sogo.nu/downloads/frontends.html - http://www.sogo.nu/downloads/documentation.html). | ||
− | + | = Mixed warnings = | |
You can experience some problem with IMAP authentication: you can login to SOGo but you can't see mail messages; only admin can see his mail. | You can experience some problem with IMAP authentication: you can login to SOGo but you can't see mail messages; only admin can see his mail. | ||
Looking at sogo log you can find erros like this: | Looking at sogo log you can find erros like this: | ||
Line 338: | Line 420: | ||
http://forums.contribs.org/index.php/topic,51038.0.html | http://forums.contribs.org/index.php/topic,51038.0.html | ||
− | + | = Reference = | |
− | + | https://wiki.nethserver.org/doku.php?id=sogo&s | |
http://www.sogo.nu/english/support/documentation.html | http://www.sogo.nu/english/support/documentation.html | ||
− | + | =Upgrade= | |
yum --enablerepo=stephdl,epel,sogo update smeserver-sogo sogo\* libmemcached | yum --enablerepo=stephdl,epel,sogo update smeserver-sogo sogo\* libmemcached | ||
− | signal-event sogo- | + | signal-event smeserver-sogo-update |
− | + | =Uninstall= | |
yum remove sope* libwbxml gnustep* smeserver-sogo xmlsec* \ | yum remove sope* libwbxml gnustep* smeserver-sogo xmlsec* \ | ||
memcached python-memcached sogo* dovecot-pigeonhole smeserver-dovecot-extras libobjc libmemcached | memcached python-memcached sogo* dovecot-pigeonhole smeserver-dovecot-extras libobjc libmemcached | ||
+ | =Bugzilla= | ||
+ | ==Open== | ||
+ | {{#bugzilla:columns=id,status,component,version,summary | ||
+ | |component=smeserver-sogo | ||
+ | |sort=id | ||
+ | |order=desc | ||
+ | |disablecache=1 | ||
+ | |noresultsmessage="Well done guys, no more open bugs!"}} | ||
+ | |||
+ | ==Closed== | ||
+ | {{#bugzilla:columns=id,status,component,version,summary | ||
+ | |component=smeserver-sogo | ||
+ | |status=CLOSED | ||
+ | |version=!8.0 | ||
+ | |sort=id | ||
+ | |order=desc | ||
+ | |disablecache=1 | ||
+ | |noresultsmessage="Well done guys, no more open bugs!"}} | ||
+ | |||
+ | <noinclude> | ||
+ | [[Category:Contrib]] | ||
+ | [[Category:Groupware]] | ||
+ | [[Category:Mail]] | ||
+ | </noinclude> | ||
+ | |||
+ | =Changelog= | ||
+ | Only released version in smecontrib are listed here. | ||
− | + | {{ #smechangelog: smeserver-sogo }} | |
− |
Latest revision as of 22:18, 4 September 2023
Is this article helpful to you?
Please consider donating or volunteering
Thank you!
Version
stephdl
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. SOGo provides native Microsoft ActiveSync support. Mobile devices such as Apple iPhone, Android, Windows Phone, and BlackBerry 10 can fully synchronize emails, contacts, events and tasks with SOGo.
Maintainer
Stéphane de Labrusse AKA Stephdl
and for SME10 Brian Read AKA brianr
The original work has been made by nethesis. Many thanks to all previous developers
Requirements
The latest SOGo requires SME10, the SME8 and 9 instructions are left for legacy systems only.
In order to get the latest stable SOGo you need a support contract as described here and here
Otherwise you can install SOGo from the nightly build as follows:
db yum_repositories set sogo repository \
BaseURL 'http://packages.inverse.ca/SOGo/nightly/5/rhel/$releasever/$basearch' \
EnableGroups yes \
GPGCheck no \
Name 'Inverse Sogo5 Repository' \
Visible yes \
status disabled
signal-event yum-modify
If you have a support contract, then edit the above to the stable repo and add in the username and password as described in the link above. and then:
yum install smeserver-extrarepositories-epel -y
yum install smeserver-sogo --enablerepo=sogo,epel,smecontribs,smetest -y
Pro Tem you may need to add smetest to the enablerepo list above to pick up the latest version of smeserver-sogo. Once it is verified it will be copied to smecontribs. Once you have picked up the nightly version then you will not update it unless you specifically add the sogo repo to the yum update command:
yum update --enablerepo=sogo
Install SOGO 2
You need to activate Stephdl, epel and sogo repository
This contrib is currently held in several repositories, so the following commands will install it on your smeserver. For SME 8 , You need to activate Stephdl, epel and sogo repository
yum --enablerepo=stephdl,epel,sogo install smeserver-sogo
You will then need to activate the database changes etc. The 'official' way is to perform
signal-event post-upgrade; signal-event reboot
or if you don't want to reboot your server
signal-event sogo-modify; config set UnsavedChanges no
Install SOGO 2
You need to activate Stephdl, epel and sogo repository
This contrib is currently held in several repositories, so the following commands will install it on your smeserver.
For SME 9 , You need to activate Stephdl, epeland sogo repository
yum --enablerepo=stephdl,epel,sogo,fws install smeserver-sogo
You will then need to activate the database changes etc. The 'official' way is to perform
signal-event post-upgrade; signal-event reboot
or if you don't want to reboot your server
signal-event sogo-modify; config set UnsavedChanges no
Install SOGO 3 (ONLY SME9)
First installation
This contrib is currently held in several repositories, so the following commands will install it on your smeserver. For SME 9 , You need to activate Stephdl, epel and sogo repository
yum --enablerepo=stephdl,epel,sogo3,fws install smeserver-sogo
You will then need to activate the database changes etc. The 'official' way is to perform
signal-event post-upgrade; signal-event reboot
or if you don't want to reboot your server
signal-event sogo-modify; config set UnsavedChanges no
Upgrade from sogo2
For SME 9 , You need to activate Stephdl, epel, fws and sogo repository
signal-event yum-modify yum update --enablerepo=sogo3 yum reinstall sope\* --enablerepo=sogo3
You will then need to activate the database changes etc. The 'official' way is to perform
signal-event post-upgrade; signal-event reboot
or if you don't want to reboot your server
signal-event sogo-modify; config set UnsavedChanges no
Usage
To access webmail and calenders, open the url http://yourdomain.net/SOGo
If you disable webmail access from within SmeServer email panel, opening http://yourdomain.net/webmail you'll be redirected to SOGo.
DB
On SME9 and SME10
sogod=service ACLsSendEMailNotifications=NO ActiveSync=disabled AdminUsers=admin DbPassword=NjPvjv3SPxb+s37.AKPGGGjFIeQJykYoPnL9oI.48d8qhsW3luZhQnMqrGurcBGU3Q23w77gp1+o DraftsFolder=Drafts SpamFolder=Junk EnableEMailAlarms=NO LdapTCPPort=389 MailAuxiliaryUserAccountsEnabled=YES PublicAccess=NO SOGoInternalSyncInterval=60 SOGoMaximumPingInterval=3540 SOGoMaximumSyncInterval=3540 SOGoMaximumSyncResponseSize=2048 SOGoMaximumSyncWindowSize=100 SentFolder=Sent SessionDuration=1440 TCPPort=20000 TrashFolder=Trash WOWatchDogRequestTimeout=3600 WOWorkersCount=10 status=enabled
After a modification (for SME10):
signal-event smeserver-sogo-update
SME9 requires a call to sogo-modify
Sieve integration (SME 9 and maybe SME10)
Installing SOGo on SME 9 according to the instructions above also installs smeserver-dovecot-extras as a dependency. In order to make full use of sieve functionality in SOGo (such as auto expiration of vacation messages), make sure that the following property is enabled in the configuration database:
db configuration setprop dovecot AdminIsMaster enabled signal-event email-update
Special Settings (SME 9 and maybe SME10!)
Sogo is full of settings that I cannot provide all, please read the sogo's book
Now when you want to add a specific option, 'SOGoMailComposeMessageType html' per example
vim /etc/e-smith/templates/etc/sogo/sogo.conf/80MYOPTIONS
Add you modifications (contrary is 'text')
SOGoMailComposeMessageType = html;
Expand and restart sogo
signal-event smeserver-sogo-update
If you want to go back, then
rm -f /etc/e-smith/templates/etc/sogo/sogo.conf/80MYOPTIONS signal-event smeserver-sogo-update
Log
All events are logged in the relevant log file
less /var/log/sogo/sogo.log
Documentation
Please RTFM instead of raising bugs against smeserver-sogo :)
You have more documentation available here on all SOGo's aspects
You can fine tune thunderbird to be a pure "heavy" client for SOGo. See the Documentation
Fine tune SOGo
Sogo must be tuned following the number of users, some settings can be tested.
Keep in mind to set one worker per user for the activesync connection.
- 100 users, 10 EAS devices
config setprop sogod WOWorkersCount 15 config setprop sogod SOGoMaximumPingInterval 3540 config setprop sogod SOGoMaximumSyncInterval 3540 config setprop sogod SOGoInternalSyncInterval 30
signal-event smeserver-sogo-update
- 100 users, 20 EAS devices
config setprop sogod WOWorkersCount 25 config setprop sogod SOGoMaximumPingInterval 3540 config setprop sogod SOGoMaximumSyncInterval 3540 config setprop sogod SOGoInternalSyncInterval 40
signal-event smeserver-sogo-update
- 1000 users, 100 EAS devices
config setprop sogod WOWorkersCount 120 config setprop sogod SOGoMaximumPingInterval 3540 config setprop sogod SOGoMaximumSyncInterval 3540 config setprop sogod SOGoInternalSyncInterval 60
signal-event smeserver-sogo-update
ImapMaxLineLength
Maximum IMAP command line length in kilo bytes. Some clients generate very long command lines with huge mailboxes, so you may need to raise this if you get "Too long argument" or "IMAP command line too large" errors often.
set by default to 2048KB
config setprop dovecot ImapMaxLineLenght 2048 signal-event smeserver-sogo-update
Thunderbird Configuration
You are encouraged to use Thunderbird ESR (Extended Support Release) and corresponding compatible Lightning plugin. According to Mozilla Team "Thunderbird Extended Support Release (ESR) is intended for groups who deploy and maintain the desktop environment in large organizations such as universities and other schools, county or city governments and businesses". Furthermore the latest releases of Lightning plugin is fully SOGo compatibile, so no more need of a SOGo customized version.
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="https://<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>https://<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 ESR 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. As default the SOGo-Thunderbird components will associate Calendar and Addressbook to the Sme user/account corresponding to default Thunderbird Imap mail account; so take care to set the desired Imap account as default in Thunderbird before installing plugins.
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; look however at SOGo official up-to-date front-end software and documentation with latest upgrades for server, client and device configuration (http://www.sogo.nu/downloads/frontends.html - http://www.sogo.nu/downloads/documentation.html).
Mixed warnings
You can experience some problem with IMAP authentication: you can login to SOGo but you can't see mail messages; only admin can see his mail. Looking at sogo log you can find erros like this:
Aug 15 21:41:04 sogod [19261]: [ERROR] <0x0xba13edec[NGImap4ConnectionManager]> IMAP4 login failed: host=localhost, user=xxxxxx, pwd=yes url=imap://xxxxxx@localhost/ base=(null) base-class=(null)) = <0x0xba14cdec[NGImap4Client]: login=xxxxxx(pwd) socket=<NGActiveSocket[0x0xba14d194]: mode=rw address=<0x0xba14d1d4[NGInternetSocketAddress]: host=localhost port=35161> connectedTo=<0x0xba14cebc[NGInternetSocketAddress]: host=localhost port=143>>> Aug 15 21:41:04 sogod [19261]: [ERROR] <0xBA13C964[SOGoMailAccount]:0> Could not connect IMAP4 xxx.xxx.xxx.xxx - - [15/Aug/2014:21:41:04 GMT] "POST /SOGo/so/xxxxxx/Mail/0/mailboxes HTTP/1.1" 200 17/0 0.018 - - 252K xxx.xxx.xxx.xxx - - [15/Aug/2014:21:41:04 GMT] "POST /SOGo/so/xxxxxx/Mail/1/mailboxes HTTP/1.1" 200 343/0 0.243 - - 24K xxx.xxx.xxx.xxx - - [15/Aug/2014:21:41:05 GMT] "POST /SOGo/so/xxxxxx/Mail/1/folderINBOX/unseenCount HTTP/1.1" 200 13/0 0.263 - - 48K
This seems related to users not belonging to a group; so be careful that all of your users belong to a group before using SOGo. For existing users:
Create a group Reset the users password Add user to the group
More details can be found in this post:
http://forums.contribs.org/index.php/topic,51038.0.html
Reference
https://wiki.nethserver.org/doku.php?id=sogo&s
http://www.sogo.nu/english/support/documentation.html
Upgrade
yum --enablerepo=stephdl,epel,sogo update smeserver-sogo sogo\* libmemcached signal-event smeserver-sogo-update
Uninstall
yum remove sope* libwbxml gnustep* smeserver-sogo xmlsec* \ memcached python-memcached sogo* dovecot-pigeonhole smeserver-dovecot-extras libobjc libmemcached
Bugzilla
Open
ID | Status | Component | Version | Summary (7 tasks) ⇒ |
---|---|---|---|---|
11629 | RESOLVED | smeserver-sogo | 10.0 | import smeserver-sogo into 10.x |
10465 | UNCONFIRMED | smeserver-sogo | 9.2 | Error message returned as Vacation auto reply |
9916 | UNCONFIRMED | smeserver-sogo | 9.1 | Sogo/ActiveSync Freebusy empty file issue |
8862 | UNCONFIRMED | smeserver-sogo | 9.0 | Yum hangs when updating to smeserver-sogo-1.3-12.el6.sme.noarch |
8847 | CONFIRMED | smeserver-sogo | 9.0 | Domain name hardcoded, not considering virtual domains |
8348 | CONFIRMED | smeserver-sogo | 8.1 | Error adding a second attachments composing a message in SOGo |
7674 | UNCONFIRMED | smeserver-sogo | 8.0 | smeserver-sogo: need to change /etc/sysconfig/memcached |
Closed
ID | Status | Component | Version | Summary (7 tasks) ⇒ |
---|---|---|---|---|
10269 | CLOSED | smeserver-sogo | 9.2 | SOGO - WOWorkersCount does not get set via "config setprop sogod WOWorkersCount 25" command |
10168 | CLOSED | smeserver-sogo | 9.1 | Sogo: ActiveSync drains iphone battery with Contacts enabled |
9908 | CLOSED | smeserver-sogo | 9.1 | Incorrect syntax in (s80-)sogobackup |
9699 | CLOSED | smeserver-sogo | 9.1 | Problem with restarting sogod |
8756 | CLOSED | smeserver-sogo | 9.0 | sogo-ealarms-notify cronjob fills up qmail log |
8753 | CLOSED | smeserver-sogo | 9.0 | Automatic expiry of vacation messages in SOGo broken (Authentication failure for sogo user) |
8452 | CLOSED | smeserver-sogo | 9beta | SOGo on SME9: missing dependency |
Changelog
Only released version in smecontrib are listed here.