Changes

Jump to navigation Jump to search
1,925 bytes added ,  23:18, 4 September 2023
Line 1: Line 1:  +
{{usefulnote}}
 +
 +
==Version==
 +
{{#smeversion: smeserver-sogo }}
 +
[[Version::contrib9|stephdl]][[Has SME9::true| ]]
 +
 
== SOGo - Scaleable OpenGroupware.org ==  
 
== SOGo - Scaleable OpenGroupware.org ==  
   Line 7: Line 13:  
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.  
 
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.
+
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 ===
 +
[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]]
   −
There is a separate Howto for installing the [http://wiki.contribs.org/Funambol Funambol] middleware that allows SyncML mobile device synchronisation with SOGo.
+
The original work has been made by [http://www.nethesis.it/ nethesis]. Many thanks to all previous developers
    
=== Requirements ===
 
=== Requirements ===
 +
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.
   −
SOGo requires SME 8 (Final release available since May 2012)
+
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>
   −
=== Install ===
+
= For SME 8 =
   −
Adding the repository to your SME Server 8:
+
== Install SOGO 2 ==
   −
  db yum_repositories set sogo repository \
+
{{Note box| due to the version of dovecot, I cannot maintain sogo for sme8, please upgrade to sme9}}
      BaseURL http://inverse.ca/downloads/SOGo/RHEL5/i386 \
+
You need to activate '''[[Stephdl]]''', '''[[epel]]''' and '''[[Sogo-repo|sogo repository]]'''
      EnableGroups yes \
  −
      GPGCheck no \
  −
      Name "Inverse SOGo Repository" \
  −
      Visible yes \
  −
      status disabled
   
   
 
   
db yum_repositories set nethsme 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}}
      BaseURL http://smeserver.nethesis.it/releases/8/i386 \
+
 
      EnableGroups yes \
+
This contrib is currently held in several repositories, so the following commands will install it on your smeserver.
      GPGCheck yes \
+
For SME 8 , You need to activate '''[[Stephdl]]''',  [[epel]] and '''[[Sogo-repo|sogo repository]]'''
      Name "Nethesis SME Repository" \
+
yum --enablerepo=stephdl,epel,sogo install smeserver-sogo
      Visible yes \
+
 
      status disabled
+
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
 +
 
 +
= For SME 9 =
 +
 
 +
== 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.
 +
For SME 9 , You need to activate '''[[Stephdl]]''', '''[[epel]]'''and '''[[Sogo-repo|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-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
 
  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 />
   −
Installing the GPG key to verify the packages:
     −
wget http://smeserver.nethesis.it/releases/RPM-GPG-KEY-nethesis
+
= Usage =
rpm --import RPM-GPG-KEY-nethesis
     −
Then you can install smeserver-sogo package
+
To access webmail and calenders, open the url http://yourdomain.net/SOGo
   −
yum install smeserver-sogo --enablerepo=nethsme --enablerepo=sogo
+
If you disable webmail access from within SmeServer email panel, opening http://yourdomain.net/webmail you'll be redirected to SOGo.
   −
signal-event post-upgrade; signal-event reboot
     −
=== The memcached - libevent nightmare ===
+
=DB=
Many users have experienced the following dependencies errors (or some kind of them) while trying to install/update SOGo or simply trying to update SME with yum update:
+
On SME9 and SME10
memcached-1.4.2-1.el5.i386 from sogo has depsolving problems
  −
  --> Missing Dependency: libevent-1.1a.so.1 is needed by package memcached-1.4.2-1.el5.i386 (sogo)
  −
Error: Missing Dependency: libevent-1.1a.so.1 is needed by package memcached-1.4.2-1.el5.i386 (sogo)
     −
To solve this issue you need to install memcached form Epel; the repository can be activated according to wiki http://wiki.contribs.org/Epel .
+
sogod=service
Once configured the repository you can install memcached (The current release available is memcached-1.4.5-1.el5.i386.rpm - may 2012):
+
    ACLsSendEMailNotifications=NO
yum --enablerepo=epel install memcached
+
    ActiveSync=disabled
Now you will be able to install/update SOGo and run yum update fine too.
+
    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
   −
===Login doesn't operate===
+
After a modification (for SME10):
according the bug [[bugzilla:7269]] you can not login in sogo even if the user and password are correct. You have to modify the line which concerns the SOGo user in the file /etc/passwd
+
signal-event smeserver-sogo-update
 +
SME9 requires a call to sogo-modify
   −
/etc/passwd not working:
+
= 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:
smolt:x:454:454:Smolt:/usr/share/smolt:/sbin/nologin
  −
spamd:x:1005:1005:spamassassin daemon user:/var/spool/spamd:/bin/false
  −
memcached:x:455:455:Memcached daemon:/var/run/memcached:/sbin/nologin
  −
sogo:x:456:456:SOGo daemon:'''/var/lib/sogo:/sbin/nologin'''
  −
....
     −
After this customer's modification:
+
db configuration setprop dovecot AdminIsMaster enabled
  nano /etc/passwd
+
 +
  signal-event email-update
   −
sogo:x:456:456:SOGo daemon:'''/home/sogo:/bin/bash'''
+
= Special Settings (SME 9 and maybe SME10!) =
   −
You will be able to access SOGo but you need to restart the service before
+
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]
   −
signal-event sogo-modify; /etc/rc7.d/S85sogod restart
+
Now when you want to add a specific option, 'SOGoMailComposeMessageType html' per example
   −
=== Timeout issue ===
+
vim /etc/e-smith/templates/etc/sogo/sogo.conf/80MYOPTIONS
   −
Once you have installed SOGo you may find that there is a timeout issue in that SOGo keeps logging you out. To stop this, you will need to add the following line to the .GNUstepDefaults file:
+
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
   −
  OCSSessionsFolderURL = "mysql://sogo:{$sogod{'DbPassword'}}@localhost/sogo/sogo_sessions_folder";
+
= Log =
 +
All events are logged in the relevant log file
 +
  less /var/log/sogo/sogo.log
   −
To do this you need to edit the following file in your favourite editor (the code below uses vi):
+
= Documentation =
mkdir -p /etc/e-smith/templates-custom/home/sogo/GNUstep/Defaults/.GNUstepDefaults
  −
cp /etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/10defaults  /etc/e-smith/templates-custom/home/sogo/GNUstep/Defaults/.GNUstepDefaults/10defaults
  −
vi /etc/e-smith/templates-custom/home/sogo/GNUstep/Defaults/.GNUstepDefaults/10defaults
     −
I would put it under the SOGoProfileURL = "mysql://sogo:{$sogod{'DbPassword'}}@localhost/sogo/sogo_user_profile"; line.
+
[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 :)
   −
Or you can use this command:
+
You have more documentation [http://www.sogo.nu/english/support/documentation.html available here] on all SOGo's aspects
sed -i '/SOGoProfileURL/ a\        OCSSessionsFolderURL = "mysql://sogo:{$sogod{'DbPassword'}}@localhost/sogo/sogo_sessions_folder"; ' /etc/e-smith/templates-custom/home/sogo/GNUstep/Defaults/.GNUstepDefaults/10defaults
     −
Once saved, then execute the following commands:
     −
signal-event sogo-modify;
+
You can fine tune thunderbird to be a pure "heavy" client for SOGo. [http://www.sogo.nu/files/docs/SOGoMozillaThunderbirdConfigurationGuide.pdf See the Documentation]
/etc/rc7.d/S85sogod restart
     −
Hopefully now you will no longer experience the time-out issue.
+
=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.
   −
=== Enabling customization of "mail from" field ===
+
Keep in mind to set one worker per user for the activesync connection.
   −
To do this you need to edit the following file in your favourite editor (copy the original from /etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults):
+
* 100 users, 10 EAS devices
/etc/e-smith/templates-custom/home/sogo/GNUstep/Defaults/.GNUstepDefaults/10defaults
  −
Put the following instruction under the block  beginning with '''sogod = \{''' :
     −
  SOGoMailCustomFromEnabled = YES;
+
  config setprop sogod WOWorkersCount 15
 +
config setprop sogod SOGoMaximumPingInterval 3540
 +
config setprop sogod SOGoMaximumSyncInterval 3540
 +
config setprop sogod SOGoInternalSyncInterval 30
   −
Or you can use this command:
+
  signal-event smeserver-sogo-update
  sed -i '/sogod =/ a\        SOGoMailCustomFromEnabled = YES; ' /etc/e-smith/templates-custom/home/sogo/GNUstep/Defaults/.GNUstepDefaults/10defaults
     −
Once saved, then execute the following commands:
+
* 100 users, 20 EAS devices
   −
  signal-event sogo-modify;
+
  config setprop sogod WOWorkersCount 25
  /etc/rc7.d/S85sogod restart
+
  config setprop sogod SOGoMaximumPingInterval 3540
 +
config setprop sogod SOGoMaximumSyncInterval 3540
 +
config setprop sogod SOGoInternalSyncInterval 40
   −
=== Charset issue ===
+
signal-event smeserver-sogo-update
   −
You may experience some problem in SOGo web interface with international fonts (à, é, ù .....) not correctly displayed. To correct this issue yuo need to edit the following file in your favourite editor (copy the original from /etc/e-smith/templates/etc/httpd/conf/httpd.conf):
+
* 1000 users, 100 EAS devices
/etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/85SOGoAccess
  −
and add the instruction '''AddDefaultCharset UTF-8''' in this section:
  −
<Location /SOGo>
  −
        order deny,allow
  −
        deny from all
  −
        allow from all
  −
        SSLRequireSSL on
  −
        RequestHeader set "x-webobjects-server-url" "https://{$SystemName}.{$DomainName}/SOGo"
  −
        AddDefaultCharset UTF-8
  −
</Location>
     −
or you can use this command:
+
config setprop sogod WOWorkersCount 120
  sed -i '/x-webobjects/ a\        AddDefaultCharset UTF-8' /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/85SOGoAccess
+
  config setprop sogod SOGoMaximumPingInterval 3540
Then expand template and restart httpd:
+
  config setprop sogod SOGoMaximumSyncInterval 3540
  expand-template /etc/httpd/conf/httpd.conf
+
  config setprop sogod SOGoInternalSyncInterval 60
  /etc/init.d/httpd-e-smith restart
     −
=== Upgrade ===
+
signal-event smeserver-sogo-update
   −
Upgrade to a later SOGo version (here: upgrade to 1.3 which was released on 21.7.2010)
+
==ImapMaxLineLength==
   −
yum update --disablerepo=* --enablerepo=sogo
+
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.
/etc/rc7.d/S85sogod restart
     −
=== Usage ===
+
set by default to 2048KB
   −
To access webmail and calenders, open the url http://yourdomain.net/SOGo
+
config setprop dovecot ImapMaxLineLenght 2048
 +
signal-event smeserver-sogo-update
   −
If you disable webmail access from within SmeServer email panel, opening http://yourdomain.net/webmail you'll be redirected to SOGo.
+
= Thunderbird Configuration =
   −
=== 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".  
 
Furthermore the latest releases of Lightning plugin is fully SOGo compatibile, so no more need of a SOGo customized version.
 
Furthermore the latest releases of Lightning plugin is fully SOGo compatibile, so no more need of a SOGo customized version.
Line 167: 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%&amp;version=%ITEM_VERSION%&amp;platform=%PLATFORM%">
+
          isi:updateURL="http://sogo-demo.inverse.ca/plugins/updates.php?plugin=%ITEM_ID%&amp;version=%ITEM_VERSION%&amp;platform=%PLATFORM%">
          <li>
+
          <li>
            <Description
+
            <Description
              em:id="sogo-integrator@inverse.ca"
+
              em:id="sogo-integrator@inverse.ca"
              em:name="SOGo Integrator"/>
+
              em:name="SOGo Integrator"/>
          </li>
+
          </li>
          <li>
+
          <li>
            <Description
+
            <Description
              em:id="sogo-connector@inverse.ca"
+
              em:id="sogo-connector@inverse.ca"
              em:name="SOGo Connector"/>
+
              em:name="SOGo Connector"/>
          </li>
+
          </li>
        </Seq></nowiki>
+
        </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%&amp;version=%ITEM_VERSION%&amp;platform=%PLATFORM%">
+
          isi:updateURL="https://<sme server name.domain>/SOGo-plugins/updates.php?plugin=%ITEM_ID%&amp;version=%ITEM_VERSION%&amp;platform=%PLATFORM%">
          <li>
+
          <li>
            <Description
+
            <Description
              em:id="sogo-integrator@inverse.ca"
+
              em:id="sogo-integrator@inverse.ca"
              em:name="SOGo Integrator"/>
+
              em:name="SOGo Integrator"/>
          </li>
+
          </li>
          <li>
+
          <li>
            <Description
+
            <Description
              em:id="sogo-connector@inverse.ca"
+
              em:id="sogo-connector@inverse.ca"
              em:name="SOGo Connector"/>
+
              em:name="SOGo Connector"/>
          </li>
+
          </li>
          <li>
+
          <li>
      <Description
+
      <Description
em:id="{e2fda1a4-762b-4020-b5ad-a41df1933103}"
+
em:id="{e2fda1a4-762b-4020-b5ad-a41df1933103}"
em:name="Lightning"/>
+
em:name="Lightning"/>
          </li>
+
          </li>
        </Seq></nowiki>
+
        </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 206: Line 294:     
     <nowiki><?php
 
     <nowiki><?php
    /* updates.php - this file is part of SOGo
+
      /* updates.php - this file is part of SOGo
      *
+
      *
      *  Copyright (C) 2006-2009 Inverse inc.
+
      *  Copyright (C) 2006-2009 Inverse inc.
      *
+
      *
      * Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
+
      * Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
      *
+
      *
      * This file is free software; you can redistribute it and/or modify
+
      * 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
+
      * it under the terms of the GNU General Public License as published by
      * the Free Software Foundation; either version 2, or (at your option)
+
      * the Free Software Foundation; either version 2, or (at your option)
      * any later version.
+
      * any later version.
      *
+
      *
      * This file is distributed in the hope that it will be useful,
+
      * This file is distributed in the hope that it will be useful,
      * but WITHOUT ANY WARRANTY; without even the implied warranty of
+
      * but WITHOUT ANY WARRANTY; without even the implied warranty of
      * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+
      * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      * GNU General Public License for more details.
+
      * GNU General Public License for more details.
      *
+
      *
      * You should have received a copy of the GNU General Public License
+
      * You should have received a copy of the GNU General Public License
      * along with this program; see the file COPYING.  If not, write to
+
      * along with this program; see the file COPYING.  If not, write to
      * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+
      * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
      * Boston, MA 02111-1307, USA.
+
      * Boston, MA 02111-1307, USA.
      */
+
      */
   
+
     
    /* This script handles the automatic propagation of extensions pertaining to a
+
      /* This script handles the automatic propagation of extensions pertaining to a
        SOGo site. It requires PHP 4.1.0 or later. */
+
        SOGo site. It requires PHP 4.1.0 or later. */
    $plugins
+
      $plugins
    = array( "sogo-connector@inverse.ca"
+
      = array( "sogo-connector@inverse.ca"
              => array( "application" => "thunderbird",
+
              => array( "application" => "thunderbird",
                        "version" => "0.99",
+
                        "version" => "0.99",
                        "filename" => "sogo-connector-0.99.xpi" ),
+
                        "filename" => "sogo-connector-0.99.xpi" ),
              "sogo-integrator@inverse.ca"
+
              "sogo-integrator@inverse.ca"
              => array( "application" => "thunderbird",
+
              => array( "application" => "thunderbird",
                        "version" => "0.99",
+
                        "version" => "0.99",
                        "filename" => "sogo-integrator-0.99-sogo.xpi" ),
+
                        "filename" => "sogo-integrator-0.99-sogo.xpi" ),
              "{e2fda1a4-762b-4020-b5ad-a41df1933103}"
+
              "{e2fda1a4-762b-4020-b5ad-a41df1933103}"
              => array( "application" => "thunderbird",
+
              => array( "application" => "thunderbird",
                        "version" => "0.9.9",
+
                        "version" => "0.9.9",
                        "filename" => "lightning-0.9.9-inverse.win32.xpi" ));
+
                        "filename" => "lightning-0.9.9-inverse.win32.xpi" ));
   
+
     
    $applications
+
      $applications
    = array( "thunderbird" => "<em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id>
+
      = array( "thunderbird" => "<em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id>
                    <em:minVersion>1.5</em:minVersion>
+
                      <em:minVersion>1.5</em:minVersion>
                    <em:maxVersion>2.0.*</em:maxVersion>",
+
                      <em:maxVersion>2.0.*</em:maxVersion>",
              "firefox" => "<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
+
              "firefox" => "<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
                        <em:minVersion>1.5</em:minVersion>
+
                        <em:minVersion>1.5</em:minVersion>
                        <em:maxVersion>2.0.*</em:maxVersion>" );
+
                        <em:maxVersion>2.0.*</em:maxVersion>" );
   
+
     
    $pluginname = $_GET["plugin"];
+
      $pluginname = $_GET["plugin"];
    $plugin =& $plugins[$pluginname];
+
      $plugin =& $plugins[$pluginname];
    $application =& $applications[$plugin["application"]];
+
      $application =& $applications[$plugin["application"]];
   
+
     
    if ( $plugin ) {
+
      if ( $plugin ) {
      $platform = $_GET["platform"];
+
        $platform = $_GET["platform"];
      if ( $platform
+
        if ( $platform
            && file_exists( $platform . "/" . $plugin["filename"] ) ) {
+
            && file_exists( $platform . "/" . $plugin["filename"] ) ) {
        $plugin["filename"] = $platform . "/" . $plugin["filename"];
+
          $plugin["filename"] = $platform . "/" . $plugin["filename"];
      }
+
        }
      elseif ( !file_exists( $plugin["filename"] ) ) {
+
        elseif ( !file_exists( $plugin["filename"] ) ) {
        $plugin = false;
+
          $plugin = false;
      }
+
        }
    }
+
      }
    if ( $plugin ) {
+
      if ( $plugin ) {
      header("Content-type: text/xml; charset=utf-8");
+
        header("Content-type: text/xml; charset=utf-8");
      echo ('<?xml version="1.0"?>' . "\n");
+
        echo ('<?xml version="1.0"?>' . "\n");
    ?>
+
      ?>
    <!DOCTYPE RDF>
+
      <!DOCTYPE RDF>
    <RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+
      <RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
      xmlns:em="http://www.mozilla.org/2004/em-rdf#">
+
        xmlns:em="http://www.mozilla.org/2004/em-rdf#">
      <Description about="urn:mozilla:extension:<?php echo $pluginname ?>">
+
        <Description about="urn:mozilla:extension:<?php echo $pluginname ?>">
        <em:updates>
+
          <em:updates>
          <Seq>
+
            <Seq>
            <li>
+
              <li>
              <Description>
+
                <Description>
                <em:version><?php echo $plugin["version"] ?></em:version>
+
                  <em:version><?php echo $plugin["version"] ?></em:version>
                <em:targetApplication>
+
                  <em:targetApplication>
                  <Description><?php echo $applications[$plugin["application"]] ?>
+
                    <Description><?php echo $applications[$plugin["application"]] ?>
                    <em:updateLink>https://<sme server name.domain>/SOGo-plugins/<?php echo $plugin["filename"] ?></em:updateLink>
+
                      <em:updateLink>https://<sme server name.domain>/SOGo-plugins/<?php echo $plugin["filename"] ?></em:updateLink>
                  </Description>
+
                    </Description>
                </em:targetApplication>
+
                  </em:targetApplication>
              </Description>
+
                </Description>
            </li>
+
              </li>
          </Seq>
+
            </Seq>
        </em:updates>
+
          </em:updates>
      </Description>
+
        </Description>
    </RDF>
+
      </RDF>
    <?php
+
      <?php
    } else {
+
      } else {
      header("Content-type: text/plain; charset=utf-8", true, 404);
+
        header("Content-type: text/plain; charset=utf-8", true, 404);
      echo( 'Plugin not found' );
+
        echo( 'Plugin not found' );
    }
+
      }
    ?></nowiki>
+
      ?></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 308: 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).
   −
=== Installing SOGo on SME8 64 bit ===
+
= Mixed warnings =
{{Note box|No other customization from above sections need to be applied in addition to this section}}
+
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.
Add the repository to your SME Server 8 modifying the SOGo repo to point to 64 x86_64:
+
Looking at sogo log you can find erros like this:
 
  −
db yum_repositories set sogo repository \
  −
      BaseURL http://inverse.ca/downloads/SOGo/RHEL5/x86_64/ \
  −
      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
+
  Aug 15 21:41:04 sogod [19261]: [ERROR] <0x0xba13edec[NGImap4ConnectionManager]> IMAP4 login failed:
  rpm --import RPM-GPG-KEY-nethesis
+
  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
   −
Then you can install smeserver-sogo package (apply memcached form epel before install):
+
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:<br />
 +
Create a group
 +
Reset the users password
 +
Add user to the group
   −
yum install smeserver-sogo --enablerepo=nethsme --enablerepo=sogo
+
More details can be found in this post:<br />
   −
signal-event post-upgrade; signal-event reboot
+
http://forums.contribs.org/index.php/topic,51038.0.html
   −
Now you must change some path in /etc/httpd.conf. Proceed as follows:
+
= Reference =
create this folder in /etc/templates-custom:
  −
mkdir -p /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/
  −
and copy the SOGo templat efragment in customized template folder:
  −
cp /etc/e-smith/templates/etc/httpd/conf/httpd.conf/85SOGoAccess /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/85SOGoAccess
  −
then edit with your favourite editor the template to be customized and change /usr/lib/... paths in /usr/lib64/...
  −
so that the following lines in your template fragment appears modified as follows:
  −
...............                       
  −
Alias /.woa/WebServerResources/ /usr/lib64/GNUstep/SOGo/WebServerResources/
  −
Alias /SOGo.woa/WebServerResources/ /usr/lib64/GNUstep/SOGo/WebServerResources/
  −
Alias /SOGo/WebServerResources/ /usr/lib64/GNUstep/SOGo/WebServerResources/
  −
AliasMatch /SOGo/so/ControlPanel/Products/(.*)/Resources/(.*) /usr/lib64/GNUstep/SOGo/$1.SOGo/Resources$2
  −
...............                         
  −
<Directory "/usr/lib64/GNUstep/SOGo/WebServerResources/">
  −
...............
     −
or you can enter the following command:
+
https://wiki.nethserver.org/doku.php?id=sogo&s
grep -rl 'usr/lib' /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/85SOGoAccess  | xargs sed -i 's/lib/lib64/g'
     −
and to resolve the character issue mentioned halfway on this page:
+
http://www.sogo.nu/english/support/documentation.html
sed -i '/x-webobjects/ a\        AddDefaultCharset UTF-8' /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/85SOGoAccess
  −
 
  −
Expand template and restart you SOGo
  −
expand-template /etc/httpd/conf/httpd.conf
  −
sv t httpd-e-smith
  −
service sogod start
  −
 
  −
===Passwords are not Working for Login===
  −
 
  −
according the bug [[bugzilla:7269]] you can not login in sogo even if the user and password are correct. You have to modify the line which concerns the SOGo user in the file /etc/passwd
  −
 
  −
/etc/passwd not working:
     −
...
  −
smolt:x:454:454:Smolt:/usr/share/smolt:/sbin/nologin
  −
spamd:x:1005:1005:spamassassin daemon user:/var/spool/spamd:/bin/false
  −
memcached:x:455:455:Memcached daemon:/var/run/memcached:/sbin/nologin
  −
sogo:x:456:456:SOGo daemon:'''/var/lib/sogo:/sbin/nologin'''
  −
....
     −
After this customer's modification:
+
=Upgrade=
nano /etc/passwd
     −
  sogo:x:456:456:SOGo daemon:'''/home/sogo:/bin/bash'''
+
  yum --enablerepo=stephdl,epel,sogo update smeserver-sogo sogo\* libmemcached
 +
signal-event smeserver-sogo-update
   −
You will be able to access SOGo but you need to restart the service before
+
=Uninstall=
 +
yum remove sope* libwbxml gnustep* smeserver-sogo xmlsec* \
 +
memcached python-memcached sogo* dovecot-pigeonhole smeserver-dovecot-extras libobjc libmemcached
   −
  signal-event sogo-modify; /etc/rc7.d/S85sogod restart
+
=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!"}}
   −
=== Reference ===
+
==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!"}}
   −
http://smeserver.nethesis.it/sogo/
+
<noinclude>
 
+
[[Category:Contrib]]
http://www.sogo.nu/english/support/documentation.html
+
[[Category:Groupware]]
 +
[[Category:Mail]]
 +
</noinclude>
    +
=Changelog=
 +
Only released version in smecontrib are listed here.
   −
<noinclude>[[Category:Contrib]]
+
{{ #smechangelog: smeserver-sogo }}
[[Category:Groupware]]</noinclude>
 
Super Admin, Wiki & Docs Team, Bureaucrats, Interface administrators, Administrators
3,250

edits

Navigation menu