Modifications entre les versions 11 et 12
Version 11 à la date du 2011-06-27 23:18:22
Taille: 4103
Éditeur: MoussaNombre
Commentaire: iphone carddav
Version 12 à la date du 2011-06-28 00:41:51
Taille: 4898
Éditeur: MoussaNombre
Commentaire: L'ancienne version cour-circuite l'accès au /SOGo et donc rien ne marche comme il faut
Texte supprimé. Texte ajouté.
Ligne 62: Ligne 62:
  * 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
    }}}
  * créer une nouvelle entrée dns : `carddav.sogo.ca.auf` (serveur DNS)
  * créer un nouveau vhost apache
   {{{
# CARDDAV pour IPHONE
<VirtualHost *:80>
  ServerName carddav.sogo.ca.auf.org
  CustomLog /var/log/apache2/domain.com/carddav-iphone_access.log combined
  ErrorLog /var/log/apache2/domain.com/carddav-iphone_error.log
 
  RewriteEngine On
  RewriteRule ^/principals/users/(.*)$ /proxy/$1 [PT]
  ProxyPassInterpolateEnv On
  ProxyPreserveHost On
  ProxyPass /proxy http://127.0.0.1:20000/SOGo/dav/ interpolate
  ProxyPass /SOGo http://127.0.0.1:20000/SOGo interpolate
  ProxyPass / http://127.0.0.1:20000/SOGo/dav/ interpolate
 
  <Proxy http://127.0.0.1:20000/SOGo>
    RequestHeader set "x-webobjects-server-port" "80"
    RequestHeader set "x-webobjects-server-name" "carddav.sogo.ca.auf.org"
    RequestHeader set "x-webobjects-server-url" "http://carddav.sogo.ca.auf.org"
    RequestHeader set "x-webobjects-server-protocol" "HTTP/1.0"
    RequestHeader set "x-webobjects-remote-host" %{REMOTE_HOST}e env=REMOTE_HOST
    AddDefaultCharset UTF-8
    Order allow,deny
    Allow from all
  </Proxy>
  RewriteEngine On
  RewriteRule ^/SOGo/(.*)$ /SOGo/$1 [env=REMOTE_HOST:%{REMOTE_ADDR},PT]
</VirtualHost>
   }}}
Ligne 75: Ligne 95:
   * server : sogo.ca.auf.org    * serveur : carddav.sogo.ca.auf.org

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 :
    • créer une nouvelle entrée dns : carddav.sogo.ca.auf (serveur DNS)

    • créer un nouveau vhost apache
      • # CARDDAV pour IPHONE
        <VirtualHost *:80>
          ServerName            carddav.sogo.ca.auf.org
          CustomLog            /var/log/apache2/domain.com/carddav-iphone_access.log combined
          ErrorLog            /var/log/apache2/domain.com/carddav-iphone_error.log
         
          RewriteEngine On
          RewriteRule ^/principals/users/(.*)$ /proxy/$1 [PT]
          ProxyPassInterpolateEnv On
          ProxyPreserveHost On
          ProxyPass /proxy http://127.0.0.1:20000/SOGo/dav/ interpolate
          ProxyPass /SOGo http://127.0.0.1:20000/SOGo interpolate
          ProxyPass / http://127.0.0.1:20000/SOGo/dav/ interpolate
         
          <Proxy http://127.0.0.1:20000/SOGo>
            RequestHeader set "x-webobjects-server-port" "80"
            RequestHeader set "x-webobjects-server-name" "carddav.sogo.ca.auf.org"
            RequestHeader set "x-webobjects-server-url" "http://carddav.sogo.ca.auf.org"
            RequestHeader set "x-webobjects-server-protocol" "HTTP/1.0"
            RequestHeader set "x-webobjects-remote-host" %{REMOTE_HOST}e env=REMOTE_HOST
            AddDefaultCharset UTF-8
            Order allow,deny
            Allow from all
          </Proxy>
          RewriteEngine On
          RewriteRule ^/SOGo/(.*)$ /SOGo/$1 [env=REMOTE_HOST:%{REMOTE_ADDR},PT]
        </VirtualHost>
  • côté Iphone :
    • dans les réglages "Mail, Contacts, Calendrier", choisir ajouter un compte->autres->Ajouter un compte CardDAV, puis :

      • serveur : carddav.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)