Modifications entre les versions 1 et 10 (s'étendant sur 9 versions)
Version 1 à la date du 2009-09-24 20:05:42
Taille: 3688
Éditeur: MoussaNombre
Commentaire: on documente un peu ce qu'on a fait
Version 10 à la date du 2010-03-15 17:24:59
Taille: 5689
Éditeur: MoussaNombre
Commentaire:
Texte supprimé. Texte ajouté.
Ligne 1: Ligne 1:
<<TableOfContents>>
Ligne 7: Ligne 9:
   aptitude install make patch subversion apache2 apache2-mpm-prefork apache2-prefork-dev gobjc gnustep-make libpq5 libpq-dev libldap2-dev libxml2-dev libmysqlclient15-dev gnustep-base-common php5 mysql-server-5.0 libmysqlclient15-dev imapproxy    aptitude install apache2 mysql-server-5.0 imapproxy php5
Ligne 10: Ligne 12:
== Activer certains modules d'Apache ==  __NB__ : php5 pour le système de mise à jour des extensions (SOGo Update Server)
Ligne 12: Ligne 14:
 {{{
    a2enmod proxy
    a2enmod proxy_balancer
    a2enmod proxy_http
 }}}

== Source du dépôt sogo ==
 * On utilise une version stable pour Ubuntu qui fonctionne avec Debian stable aussi :
 {{{
   deb http://inverse.ca/debian/ intrepid universe
 }}}
 
 * Installer SOGo et ses dépendances :
 {{{
   aptitude install sogo
 }}}

 * la configuration sogo pour apache2 se trouve dans : `/etc/apache2/conf.d/SOGo.conf`
   * modifier cette configuration pour augmenter le nombre de "membres du cluster sogo" : cf [[ZA/Montréal/SOGo/ProcedureInstallation#A4.Cr.2BAOk-erlefichierdeconfiguration.2BAC8-etc.2BAC8-apache2.2BAC8-conf.d.2BAC8-SOGo.conf|ici]]
   * augmenter aussi ce nombre dans `/etc/init.d/sogo` : '''''PREFORK=3'''''

 * configurer le fichier ~sogo/GNUstep/Defaults/.GNUstepDefaults : cf [[ZA/Montréal/SOGo/ProcedureInstallation#A10.Cr.2BAOk-erlefichier.2BAH4-sogo.2BAC8-GNUstep.2BAC8-Defaults.2BAC8.GNUstepDefaultsaveclecontenusuivant|ici]]

 

== Créer un compte utilisateur pour sogo ==
 * compte : sogo
 * homedir : /var/lib/sogo

== Connecteur Mysql pour SOGo ==
Le connecteur Mysql pour SOGo n'est pas inclut dans la version actuelle du package Debian, il faut donc l'installer à la main :

 * télécharger SOPE avec svn :
 {{{
    mkdir /var/lib/sogo/src
    cd /var/lib/sogo/src
    svn co http://svn.opengroupware.org/SOPE/trunk SOPE
 }}}
 * télécharger deux fichiers patchs et les appliquer :
 {{{
    wget http://mtn.inverse.ca/revision/file/2e5131b1c08c6c88775f6c14a90fafed85109af8/SOPE/sope-patchset-r1660.diff
    wget http://mtn.inverse.ca/revision/downloadfile/2e5131b1c08c6c88775f6c14a90fafed85109af8/SOPE/sope-gsmake2.diff
    chown -R sogo: . # s'assurer que tout appartient à sogo
    su - sogo
    cd src/SOPE
    patch -p0 < ../sope-patchset-r1660.diff
    patch -p0 < ../sope-gsmake2.diff
 }}}
 * construire et installer le package Mysql pour SOGo
 {{{
   ./configure
   cd sope-gdl1/MySQL
   # repasser en root pour la suite
   make install
 }}}

== Configurer imapproxy pour la connexion vers le serveur Imap ==
=== Configurer imapproxy pour la connexion vers le serveur Imap ===
Ligne 78: Ligne 24:
=== Activer certains modules d'Apache ===

 * modules
 {{{
    a2enmod proxy
    a2enmod proxy_balancer
    a2enmod proxy_http
    a2enmod headers
 }}}

 * activer le module ssl et le virtualhost default-ssl
 {{{
    a2enmod ssl
    a2ensite default-ssl
 }}}

=== Configuration de la base de données sogo ===

 * créer la base de données et un utilisateur pour SOGo
  {{{
   mysql> create database sogo character set utf8;
   mysql> GRANT ALL PRIVILEGES ON sogo.* TO 'sogo'@'localhost' IDENTIFIED BY 'mot-de-passe';
  }}}

 * créer la table d'authentification : sogo_view

  {{{
   CREATE TABLE sogo_view ( c_uid VARCHAR(255), c_name VARCHAR(255), c_password VARCHAR(255), c_cn VARCHAR(255), mail VARCHAR(255), givenName VARCHAR(64), sn VARCHAR(64), department VARCHAR(255), title VARCHAR(255), telephoneNumber VARCHAR(16);
  }}}

__NB__ : le reste des tables sera créé par l'application elle-même.

== Installer sogo ==
 * ajouter le dépôt inverse.ca dans la sources.list
 {{{
   deb http://inverse.ca/debian/ lenny main
 }}}
 
 * Installer SOGo et ses dépendances (GnuStep, SOPE et cie) :
 {{{
   aptitude install sogo
 }}}

=== Configurer apache2 pour SOGo ===
 * copier le template de la configuration sogo pour apache2 : `cp /usr/share/doc/sogo/examples/SOGo.conf /etc/apache2/conf.d/SOGo.conf`
 * Attention aux alias en début de fichier : les dossiers indiqués ne sont pas les bons. Remplacer
  {{{
Alias /SOGo.woa/WebServerResources/ \
      /usr/GNUstep/System/Library/SOGo/WebServerResources/
Alias /SOGo/WebServerResources/ \
      /usr/GNUstep/System/Library/SOGo/WebServerResources/
AliasMatch /SOGo/so/ControlPanel/Products/(.*)/Resources/(.*) \
           /usr/GNUstep/System/Library/SOGo/$1.SOGo/Resources/$2
  }}}

  par :

  {{{
   Alias /SOGo.woa/WebServerResources/ \
      /usr/lib/GNUstep/SOGo/WebServerResources
Alias /SOGo/WebServerResources/ \
      /usr/lib/GNUstep/SOGo/WebServerResources
AliasMatch /SOGo/so/ControlPanel/Products/(.*)/Resources/(.*) \
      /usr/lib/GNUstep/SOGo/$1.SOGo/Resources/$2
  }}}

=== Fichiers de paramétrage GNUsteps ===
 * configurer le fichier /home/sogo/GNUstep/Defaults/.GNUstepDefaults
__NB__ : avec une authentification mysql

  {{{
   {
    NSGlobalDomain = {
    };
    gdnc = {
    };
    sogod = {
        NGImap4DisableIMAP4Pooling = YES;
        NGUseUTF8AsURLEncoding = YES;
        OCSFolderInfoURL = "mysql://sogo:blablabla@localhost:3306/sogo/sogo_folder_info";
        SOGoACLsSendEMailNotifications = YES;
        SOGoAppointmentSendEMailNotifications = YES;
        SOGoAuthenticationMethod = LDAP;
        SOGoCalendarDefaultRoles = (
            PublicDAndTViewer
        );
        SOGoFoldersSendEMailNotifications = YES;
        SOGoIMAPServer = localhost;
        SOGoLanguage = French;
        SOGoMailDomain = auf.org;
        SOGoMailingMechanism = sendmail;
        SOGoProfileURL = "mysql://sogo:blablabla@localhost:3306/sogo/sogo_user_profile";
        SOGoTimeZone = America/Montreal;
        SOGoUserSources = (
            {
                canAuthenticate = YES;
                displayName = "Adresses partag\U00E9es";
                id = directory;
                isAddressBook = YES;
                type = sql;
                userPasswordAlgorithm = md5;
                viewURL = "mysql://sogo:blablabla@localhost:3306/sogo/sogo_view";
            }
        );
        SxVMemLimit = 1024;
        WOMessageUseUTF8 = YES;
        WOParsersUseUTF8 = YES;
        WOPort = 20000;
        WOUseRelativeURLs = NO;
    };
}

   }}}
Ligne 85: Ligne 145:

=== SOGo updates serveur ===
Ligne 94: Ligne 156:
    <Seq about="http://inverse.ca/sogo-integrator/extensions" isi:updateURL="https://sogo-deb.ca.auf.org/plugins/updates.php?plugin=%ITEM_ID%&version=%ITEM_VERSION%&platform=%PLATFORM%">     <Seq about="http://inverse.ca/sogo-integrator/extensions" isi:updateURL="https://sogo.ca.auf.org/plugins/updates.php?plugin=%ITEM_ID%&version=%ITEM_VERSION%&platform=%PLATFORM%">
Ligne 99: Ligne 161:
 * ajouter le script `updates.php` dans `/var/www/plugins` :  * ajouter le script [[attachment:updates.php]] dans `/var/www/plugins` :
Ligne 101: Ligne 163:

=== Sur les postes clients ===

 * installer les 3 extensions.
  Les mises à jour, par la suite, se font automatiquement, en fonction de la version disponible sur le serveur.

 * extensions version 0.99 (connector patché par Wolfgang pour nous)
  * [[attachment:sogo-integrator-0.99-auf.xpi|Integrator - serveur sogo-auf]]
  * [[attachment:sogo-connector-0.100pre1.xpi|Connector]]
  * [[attachment:lightning-0.9.9-inverse.linux-i686.xpi|Lightning Inverse]]

Installation de la version Debian Lenny de SOGo

Documentation : http://www.scalableogo.org/fr/downloads/documentation.html

Prérequis

Extrait de ZA/Montréal/SOGo/ProcedureInstallation

  •    aptitude install apache2 mysql-server-5.0 imapproxy php5

    NB : php5 pour le système de mise à jour des extensions (SOGo Update Server)

Configurer imapproxy pour la connexion vers le serveur Imap

  • /etc/imapproxy.conf

        ...
        server_hostname imap.ca.auf.org
        ...
        listen_port 143
        ...

Activer certains modules d'Apache

  • modules
        a2enmod proxy
        a2enmod proxy_balancer
        a2enmod proxy_http
        a2enmod headers
  • activer le module ssl et le virtualhost default-ssl
        a2enmod ssl
        a2ensite default-ssl

Configuration de la base de données sogo

  • créer la base de données et un utilisateur pour SOGo
    •    mysql> create database sogo character set utf8;
         mysql> GRANT ALL PRIVILEGES ON sogo.* TO 'sogo'@'localhost' IDENTIFIED BY 'mot-de-passe';
  • créer la table d'authentification : sogo_view
    •    CREATE TABLE sogo_view ( c_uid VARCHAR(255), c_name VARCHAR(255), c_password VARCHAR(255), c_cn VARCHAR(255), mail VARCHAR(255), givenName VARCHAR(64), sn VARCHAR(64), department VARCHAR(255), title VARCHAR(255), telephoneNumber VARCHAR(16);

NB : le reste des tables sera créé par l'application elle-même.

Installer sogo

  • ajouter le dépôt inverse.ca dans la sources.list
       deb http://inverse.ca/debian/ lenny main
  • Installer SOGo et ses dépendances (GnuStep, SOPE et cie) :

       aptitude install sogo

Configurer apache2 pour SOGo

  • copier le template de la configuration sogo pour apache2 : cp /usr/share/doc/sogo/examples/SOGo.conf /etc/apache2/conf.d/SOGo.conf

  • Attention aux alias en début de fichier : les dossiers indiqués ne sont pas les bons. Remplacer
    • Alias /SOGo.woa/WebServerResources/ \
            /usr/GNUstep/System/Library/SOGo/WebServerResources/
      Alias /SOGo/WebServerResources/ \
            /usr/GNUstep/System/Library/SOGo/WebServerResources/
      AliasMatch /SOGo/so/ControlPanel/Products/(.*)/Resources/(.*) \
                 /usr/GNUstep/System/Library/SOGo/$1.SOGo/Resources/$2
      par :
         Alias /SOGo.woa/WebServerResources/ \
            /usr/lib/GNUstep/SOGo/WebServerResources
      Alias /SOGo/WebServerResources/ \
            /usr/lib/GNUstep/SOGo/WebServerResources
      AliasMatch /SOGo/so/ControlPanel/Products/(.*)/Resources/(.*) \
            /usr/lib/GNUstep/SOGo/$1.SOGo/Resources/$2

Fichiers de paramétrage GNUsteps

  • configurer le fichier /home/sogo/GNUstep/Defaults/.GNUstepDefaults

NB : avec une authentification mysql

  •    {
        NSGlobalDomain = {
        };
        gdnc = {
        };
        sogod = {
            NGImap4DisableIMAP4Pooling = YES;
            NGUseUTF8AsURLEncoding = YES;
            OCSFolderInfoURL = "mysql://sogo:blablabla@localhost:3306/sogo/sogo_folder_info";
            SOGoACLsSendEMailNotifications = YES;
            SOGoAppointmentSendEMailNotifications = YES;
            SOGoAuthenticationMethod = LDAP;
            SOGoCalendarDefaultRoles = (
                PublicDAndTViewer
            );
            SOGoFoldersSendEMailNotifications = YES;
            SOGoIMAPServer = localhost;
            SOGoLanguage = French;
            SOGoMailDomain = auf.org;
            SOGoMailingMechanism = sendmail;
            SOGoProfileURL = "mysql://sogo:blablabla@localhost:3306/sogo/sogo_user_profile";
            SOGoTimeZone = America/Montreal;
            SOGoUserSources = (
                {
                    canAuthenticate = YES;
                    displayName = "Adresses partag\U00E9es";
                    id = directory;
                    isAddressBook = YES;
                    type = sql;
                    userPasswordAlgorithm = md5;
                    viewURL = "mysql://sogo:blablabla@localhost:3306/sogo/sogo_view";
                }
            );
            SxVMemLimit = 1024;
            WOMessageUseUTF8 = YES;
            WOParsersUseUTF8 = YES;
            WOPort = 20000;
            WOUseRelativeURLs = NO;
        };
    }

Démarrer SOGo

  •   /etc/init.d/sogo start

Les plugins

SOGo updates serveur

  • Créer un répertoire /var/www/plugins et y télécharger les plugins

    • sogo-integrator
    • sogo-connector
    • lightning
  • adapter sogo-integrator à notre configuration :
    • désarchiver le .xpi
    • modifier le fichier chrome/content/sogo-integrator/extensions.rdf pour qu'il pointe sur notre serveur

        ...
        <Seq about="http://inverse.ca/sogo-integrator/extensions" isi:updateURL="https://sogo.ca.auf.org/plugins/updates.php?plugin=%ITEM_ID%&version=%ITEM_VERSION%&platform=%PLATFORM%">
        ...
    • re-créer l'archive .xpi
  • ajouter le script updates.php dans /var/www/plugins :

    • Ce script sert à effectuer la mise à jour des plugins sur les postes clients. Bien sûr il faut s'assurer que les versions sur le serveur sont les dernières et que le script est configuré en fonction de ces versions.

Sur les postes clients

ZA/Montréal/SOGo/ProcedureInstallationVersionDebian (dernière édition le 2010-03-15 17:24:59 par MoussaNombre)