Modifications entre les versions 2 et 11 (s'étendant sur 9 versions)
Version 2 à la date du 2011-05-04 16:15:32
Taille: 7802
Éditeur: MoussaNombre
Commentaire: procédure install funambol et sogo from Francis
Version 11 à la date du 2011-06-27 23:18:22
Taille: 4103
Éditeur: MoussaNombre
Commentaire: iphone carddav
Texte supprimé. Texte ajouté.
Ligne 1: Ligne 1:
= Installation de Funambol pour SOGo =

 '''NB : ce sont plus des notes ... pas vraiment une procédure structurée ..'''

== Documentations ==
 * http://doc.ubuntu-fr.org/funambol
 * http://www.sogo.nu/files/docs/SOGo%20Installation%20Guide.pdf

== Installation sur le sogo-paris ==
 * pré-requis :
  * mysql avec un compte pour funambol
  * un utilisateur système funambol dont le hone sera le dossier de base de funambol (ici : `var/lib/funambol/Funambol`), avec tous les droits sur le dossier
  * java bin et jre (chez canonical lucid/partner : "deb http://archive.canonical.com/ lucid partner")
 * version installée : funambol bundle 8.7 dans le dossier `var/lib/funambol/Funambol`
  * placer funambol dans init.d : `cp /var/lib/funambol/Funambol/bin/funambol /etc/init.d/ ; update-rc funambol defaults ; rm /var/lib/funambol/Funambol/bin/funambol ; ln -s /etc/init.d/funambol /var/lib/funambol/Funambol/bin/`
   Petit soucis pas grave :
== Procédure d'installation de SOGo ==
 * Prérequis :
  * mysql-server, [[Etude/Unicode|configuré en utf-8]]
  * apache2
 * installation de SOGo et de ses dépendances : `aptitude install sogo`
 * configurations
  * apache : adapter le nom du serveur dans `/etc/apache2/conf.d/SOGo.conf`
  * base de données :
Ligne 18: Ligne 10:
root@sogo-paris:/var/lib/funambol/Funambol# /etc/init.d/funambol stop
java.sql.SQLException: socket creation error

==> il est quand même arrêté
root@sogo-paris:/var/lib/funambol/Funambol# netstat -tlnup | grep java
root@sogo-paris:/var/lib/funambol/Funambol#
   }}}
  * home de funambol et path pour jre défini dans /etc/init.d/funambol
  * mysql-connector-java-xxx-bin.jar ("For MySQL, please refer to the following site : http://dev.mysql.com/usingmysql/java/")
    le mettre conforment au path spécifié ici "jdbc.classpath=/var/lib/funambol/Funambol/mysql-connector-java-5.1.15-bin.jar" dans /var/lib/funambol/Funambol/ds-server/install.properties

 * connexion avec SOGo : lire le pdf de chez sogo
  * funambol-sogo (http://www.sogo.nu/downloads/backend.html)
  * json.simple
  * '''NB''' : pour installer les modules et initialiser la BD pour la première fois, il faut lancer `bin/install` et non bin/install-modules tel que dit dans la doc ; sinon on tombe sur l'erreur :
   {{{
      [sql] Failed to execute: create table fnbl_email_cache ( guid varchar(200) binary not null, source_uri varchar(128) binary not null, principal bigint not null, last_crc bigint, invalid char, internal char, messageid varchar(700) binary, headerdate varchar(20) binary, received varchar(20) binary, subject varchar(700) binary, sender varchar(300) binary, isemail char, constraint pk_cache primary key (guid, source_uri, principal), constraint fk_principal_email_cache foreign key (principal) references fnbl_principal (id) on delete cascade )ENGINE = InnoDB CHARACTER SET utf8

BUILD FAILED
/var/lib/funambol/Funambol/ds-server/install/install.xml:238: The following error occurred while executing this line:
/var/lib/funambol/Funambol/ds-server/install/install-modules.xml:120: The following error occurred while executing this line:
/var/lib/funambol/Funambol/ds-server/install/install-modules.xml:168: The following error occurred while executing this line:
/var/lib/funambol/Funambol/ds-server/install/install-modules.xml:240: The following error occurred while executing this line:
/var/lib/funambol/Funambol/ds-server/install/install-modules.xml:285: The following error occurred while executing this line:
/var/lib/funambol/Funambol/ds-server/install/install-modules.xml:369: java.sql.SQLException: Ne peut créer la table 'funambol.fnbl_email_cache' (Errcode: 150)
   }}}
  * selon la doc "configure the data sources for SOGo. To do so, start the Funambol Administration Tool
using the following command :
/opt/Funambol/admin/bin/funamboladmin
"
   Mais c'est un truc graphique ! je fais comment là ???? ... à suivre ...

 Et voici la procédure transmise par Francis, de chez Inverse :

   {{{
-= Funambol =-

mysql -pxxxxxxxxxxxxxx
> > create database funambol;
> > use funambol;
> > grant all privileges on funambol.* to 'funambol'@'localhost' identified by 'xxxxxxxxxxxxxxxx';
> > \q
mkdir /tmp/funambol
cd /tmp/funambol

wget http://download.forge.objectweb.org/sync4j/funambol-8.7.0.bin
wget http://json-simple.googlecode.com/files/json_simple.jar
wget http://www.sogo.nu/uploads/Funambol/funambol-sogo-1.0.8.s4j
wget http://mysql.mirror.iweb.ca/Downloads/Connector-J/mysql-connector-java-5.1.15.tar.gz
wget http://mirror.olnevhost.net/pub/apache//commons/configuration/binaries/commons-configuration-1.6.tar.gz
wget http://apache.imghat.com//commons/lang/binaries/commons-lang-2.6-bin.tar.gz
wget http://www.ecoficial.com/apachemirror//commons/logging/binaries/commons-logging-1.1.1-bin.tar.gz
wget http://www.trieuvan.com/apache//commons/collections/binaries/commons-collections-3.2.1-bin.tar.gz

(extraire les .jar)

sh funambol-8.7.0.bin
...
/opt/Funambol/bin/funambol stop

cp *.jar /opt/Funambol/tools/tomcat/lib/
cp funambol-sogo-1.0.8.s4j /opt/Funambol/ds-server/modules/

(modifier /opt/Funambol/ds-server/install.properties)

groupadd funambol
useradd -g funambol -d /opt/Funambol funambol
chmod 770 /opt/Funambol/

cd /opt/Funambol/
yes | ./bin/install

chown -R funambol:funambol /opt/Funambol/

mysql -h localhost -u funambol funambol -p
> > INSERT INTO fnbl_sync_source (uri, config, name, sourcetype) VALUES
('sogo-cal', 'sogo/sogo/sogo/sogo-cal.xml', 'sogo-cal', 'sogo'),
('sogo-card', 'sogo/sogo/sogo/sogo-card.xml', 'sogo-card', 'sogo'),
('sogo-todo', 'sogo/sogo/sogo/sogo-todo.xml', 'sogo-todo', 'sogo');
> > \q
export CLASSPATH=$CLASSPATH:/opt/Funambol/tools/tomcat/lib/mysql-connector-java-5.1.15-bin.jar
/opt/Funambol/bin/admin-passwd
(sa => xxxxxxxxxx)

/opt/Funambol/bin/funambol start
ln -s /opt/Funambol/bin/funambol /etc/init.d/funambol
ln -s /etc/init.d/funambol /etc/rc2.d/S20funambol

patch -p0 <<EOF
--- /opt/Funambol/bin/funambol.orig 2010-11-16 21:24:36.599675745 +0000
+++ /opt/Funambol/bin/funambol 2010-11-16 21:24:45.630909962 +0000
@@ -1,7 +1,6 @@
 #!/bin/sh
 
-cd \`dirname \$0\`
-FUNAMBOL_HOME=\`(cd .. ; pwd)\`
+FUNAMBOL_HOME=/opt/Funambol
 DS_SERVER_HOME=\$FUNAMBOL_HOME/ds-server
 
 if [ ! -d \$FUNAMBOL_HOME/config ]; then
EOF

(modifier /etc/apache2/conf.d/SOGo.conf)

-= SOGo =-
Ligne 127: Ligne 14:
> > grant all privileges on sogo.* to 'sogo'@'sogo.xx.auf.org' identified by 'xxxxxxxxxxxxxxx';
> > grant all privileges on sogo.* to 'sogo'@'sogo.ca.auf.org' identified by 'xxxxxxxxxxxxxxx';
> > \q
defaults -u sogo write sogod SOGoMailDomain xx.auf.org
> > grant all privileges on sogo.* to 'sogo'@'sogo.mydomain.com' identified by 'xxxxxxxxxxxxxxx';
   }}}
  * modifier la table auf_users (adapter la restriction par pays) :
   {{{
   alter table auf_users add column source varchar(64) default 'LOCAL';
alter table sogo_user_profile add column source varchar(64) default 'LOCAL';
alter table sogo_folder_info add column source varchar(64) default 'LOCAL';
update auf_users set source=NULL where not (mail_pays like '%@ca.auf.org' or mail_pays like '%@ht.auf.org');
   }}}
  * sogo : tapez les commande suivantes
   {{{
defaults -u sogo write sogod SOGoMailDomain mydomain.com
Ligne 132: Ligne 27:
defaults -u sogo write sogod SOGoSMTPServer smtp.xx.auf.org defaults -u sogo write sogod SOGoSMTPServer smtp.mydomain.com
Ligne 136: Ligne 31:
defaults -u sogo write sogod OCSSessionsFolderURL mysql://sogo:xxxxxxxx@sogo.xx.auf.org:3306/sogo/sogo_sessions_folder
defaults -u sogo write sogod OCSFolderInfoURL mysql://sogo:xxxxxxxxx@sogo.xx.auf.org:3306/sogo/sogo_folder_info
defaults -u sogo write sogod SOGoProfileURL mysql://sogo:xxxxxxx@sogo.xx.auf.org:3306/sogo/sogo_user_profile
defaults -u sogo write sogod OCSEMailAlarmsFolderURL mysql://sogo:xxxxxxxx@sogo.xx.auf.org:3306/sogo/sogo_alarms_folder
defaults -u sogo write sogod SOGoIMAPServer imap.xx.auf.org
defaults -u sogo write sogod OCSSessionsFolderURL mysql://sogo:xxxxxxxx@sogo.mydomain.com:3306/sogo/sogo_sessions_folder
defaults -u sogo write sogod OCSFolderInfoURL mysql://sogo:xxxxxxxxx@sogo.mydomain.com:3306/sogo/sogo_folder_info
defaults -u sogo write sogod SOGoProfileURL mysql://sogo:xxxxxxx@sogo.mydomain.com:3306/sogo/sogo_user_profile
defaults -u sogo write sogod OCSEMailAlarmsFolderURL mysql://sogo:xxxxxxxx@sogo.mydomain.comg:3306/sogo/sogo_alarms_folder
defaults -u sogo write sogod SOGoIMAPServer imap.mydomain.com
Ligne 149: Ligne 44:
        viewURL = "mysql://sogo:xxxxxx@sogo.xx.auf.org:3306/sogo/auf_users";         viewURL = "mysql://sogo:xxxxxx@sogo.mydomain.com:3306/sogo/table_users";
Ligne 151: Ligne 46:
        authenticationFilter = "(mail_pays like '\''%@xx.auf.org'\'')";         authenticationFilter = "(mail_pays like '\''%@xx.mydomain.com'\'')";
Ligne 155: Ligne 50:
   Le fichier de config sera généré dans `/home/sogo/GNUstep/Defaults/.GNUstepDefaults`.
   * Note importante : ne pas éditer ce fichier directement, ça peut causer des soucis d'encodage après et SOGo ne marchera plus parce qu'il ne saura plus interpréter le fichier. J'ai eu cette mésaventure :-( --MoussaNombre.
     > Il faut utiliser les commandes SOGo prévu pour renseigner ce fichier (tel que fait ci-dessus).

     > Pour visualiser la config actuelle : `defaults -u sogo read sogod` (ou faire des cat ou less sur le fichier de config)
 
     > Ce qui veut dire qu'il faut connaitre les variables prédéfinis de SOGo, pour ce faire je vous renvoi à la doc officielle http://www.sogo.nu/files/docs/SOGo%20Installation%20Guide.pdf.

  * fichier de log : `/var/log/sogo/sogo.log`

== CARDDAV pour les Iphones ==
 * côté serveur :
  * modifier le fichier `/etc/apache2/conf.d/SOGo.conf` :
   * la ligne `ProxyPass /SOGo http://127.0.0.1:20000/SOGo retry=0` devient : `ProxyPass /SOGo http://127.0.0.1:20000/SOGo retry=0 interpolate`
   * ajouter les lignes suivantes :
    {{{
     RewriteEngine On
     RewriteRule ^/principals/users/(.*)$ /proxy/$1 [PT]
     ProxyPassInterpolateEnv On

     ProxyPass /proxy http://127.0.0.1:20000/SOGo/dav/ interpolate
     ProxyPass / http://127.0.0.1:20000/SOGo/dav/ interpolate
    }}}
 * côté Iphone :
  * dans les réglages "Mail, Contacts, Calendrier", choisir ajouter un compte->autres->Ajouter un compte CardDAV, puis :
   * server : sogo.ca.auf.org
   * nom d'utilisateur : prenom.nom
   * mot de passe : lavieestbelle!situn'ycomprendsrien
   * port : 80
  * aller ensuite dans l'application "Contacts" pour vérifier (onglet Groupes)

Procédure d'installation de SOGo

  • Prérequis :
  • installation de SOGo et de ses dépendances : aptitude install sogo

  • configurations
    • apache : adapter le nom du serveur dans /etc/apache2/conf.d/SOGo.conf

    • base de données :
      • mysql -pxxxxxxxxxxx
        > > create database sogo;
        > > grant all privileges on sogo.* to 'sogo'@'localhost' identified by 'xxxxxxxxxx';
        > > grant all privileges on sogo.* to 'sogo'@'sogo.mydomain.com'  identified by 'xxxxxxxxxxxxxxx';
    • modifier la table auf_users (adapter la restriction par pays) :
      •    alter table auf_users add column source varchar(64) default 'LOCAL';
        alter table sogo_user_profile add column source varchar(64) default 'LOCAL';
        alter table sogo_folder_info add column source varchar(64) default 'LOCAL';
        update auf_users set source=NULL where not (mail_pays like '%@ca.auf.org' or mail_pays like '%@ht.auf.org');
    • sogo : tapez les commande suivantes
      • defaults -u sogo write sogod SOGoMailDomain mydomain.com
        defaults -u sogo write sogod SOGoMailingMechanism smtp
        defaults -u sogo write sogod SOGoSMTPServer smtp.mydomain.com
        defaults -u sogo write sogod SOGoLanguage French
        defaults -u sogo write sogod SOGoTimeZone America/Montreal
        defaults -u sogo write sogod SOGoEnableEMailAlarms YES
        defaults -u sogo write sogod OCSSessionsFolderURL mysql://sogo:xxxxxxxx@sogo.mydomain.com:3306/sogo/sogo_sessions_folder
        defaults -u sogo write sogod OCSFolderInfoURL mysql://sogo:xxxxxxxxx@sogo.mydomain.com:3306/sogo/sogo_folder_info
        defaults -u sogo write sogod SOGoProfileURL mysql://sogo:xxxxxxx@sogo.mydomain.com:3306/sogo/sogo_user_profile
        defaults -u sogo write sogod OCSEMailAlarmsFolderURL mysql://sogo:xxxxxxxx@sogo.mydomain.comg:3306/sogo/sogo_alarms_folder
        defaults -u sogo write sogod SOGoIMAPServer imap.mydomain.com
        defaults -u sogo write sogod SOGoUserSources '(
            {   
                canAuthenticate = YES;
                displayName = AUF;
                id = users;
                isAddressBook = YES;
                type = sql;
                userPasswordAlgorithm = md5;
                viewURL = "mysql://sogo:xxxxxx@sogo.mydomain.com:3306/sogo/table_users";
                IMAPLoginFieldName = mail_pays;
                authenticationFilter = "(mail_pays like '\''%@xx.mydomain.com'\'')";
            }
        )'

        Le fichier de config sera généré dans /home/sogo/GNUstep/Defaults/.GNUstepDefaults.

      • Note importante : ne pas éditer ce fichier directement, ça peut causer des soucis d'encodage après et SOGo ne marchera plus parce qu'il ne saura plus interpréter le fichier. J'ai eu cette mésaventure :-( --MoussaNombre.

        • > Il faut utiliser les commandes SOGo prévu pour renseigner ce fichier (tel que fait ci-dessus).

          > Pour visualiser la config actuelle : defaults -u sogo read sogod (ou faire des cat ou less sur le fichier de config)

          > Ce qui veut dire qu'il faut connaitre les variables prédéfinis de SOGo, pour ce faire je vous renvoi à la doc officielle http://www.sogo.nu/files/docs/SOGo%20Installation%20Guide.pdf.

    • fichier de log : /var/log/sogo/sogo.log

CARDDAV pour les Iphones

  • côté serveur :
    • modifier le fichier /etc/apache2/conf.d/SOGo.conf :

      • la ligne ProxyPass /SOGo http://127.0.0.1:20000/SOGo retry=0 devient : ProxyPass /SOGo http://127.0.0.1:20000/SOGo retry=0 interpolate

      • ajouter les lignes suivantes :
        •      RewriteEngine On
               RewriteRule ^/principals/users/(.*)$ /proxy/$1 [PT]
               ProxyPassInterpolateEnv On
          
               ProxyPass /proxy http://127.0.0.1:20000/SOGo/dav/ interpolate
               ProxyPass / http://127.0.0.1:20000/SOGo/dav/ interpolate
  • côté Iphone :
    • dans les réglages "Mail, Contacts, Calendrier", choisir ajouter un compte->autres->Ajouter un compte CardDAV, puis :

      • server : sogo.ca.auf.org
      • nom d'utilisateur : prenom.nom
      • mot de passe : lavieestbelle!situn'ycomprendsrien
      • port : 80
    • aller ensuite dans l'application "Contacts" pour vérifier (onglet Groupes)

Projet/SOGo/ProcédureInstallationSOGo (dernière édition le 2011-10-25 19:55:32 par MoussaNombre)