Menu principal

Qui est en ligne

Compteur de visites

Accueil arrow Logiciels arrow Horde arrow Installation et configuration
Installation et configuration Convertir en PDF Version imprimable Suggérer par mail

Installation d’une nouvelle version de Horde/Imp sur un serveur existant SmeServer en version 7.x.

 

 

 

Table des matières :

  1. Préparation
  2. Installation de HORDE
  3. Installation de IMP
  4. Installation du DIMP
  5. Configuration de Apache
  6. Installation de KRONOLITH
  7. Installation de TURBA
  8. Installation de INGO
  9. Installation de MNEMO
  10. Installation de NAG
  11. Paramètres particuliers de IMP et DIMP
  12. Une option cachée dans IMP
  13. Les mails au format HTML
  14. L’affichage des en-têtes
  15. Installation de ANSEL
  16. Mise à jour de PEAR
  17. Améliorations de DIMP
  18. Améliorations de HORDE
  19. Migration de l’ancienne base de données.
  20. Les fichiers de traduction

 

 

  1. Préparation

 

  1. Récupération de la dernière version sur le ftp de horde à l’adresse : ftp://ftp.horde.org

 

  1. Téléchargez les modules suivants :

-         Horde (framwok global)

-         Imp (module courrier)

-         Dimp (module courrier en ajax)

-         Kronolith (module agenda)

-         Turba (module carnet d’adresse)

-         Ingo (module filtre)

-         Mnemo (module notes)

-         Nag (module tâches)

 

  1. Envoi des modules sur le serveur SME à l’aide de WinSCP dans le répertoire du serveur :  /root

 

  1. Connexion au serveur en SSH à l’aide du logiciel Putty

 

  1. Se rendre dans le répertoire de stockage de l’actuel horde/imp

#cd /home/httpd/html/horde

On choisit d’installer la nouvelle version de horde dans un sous répertoire de l’actuel répertoire de stockage de horde pour ne pas avoir de problème de droits.

 

  1. Créer un nouveau sous-répertoire pour le stockage du nouveau horde :

#mkdir new_horde

 

  1. Se rendre dans ce nouveau répertoire :

#cd new_horde/

 

  1. Déplacer les modules téléchargés dans ce répertoire :

#mv /root/horde* /home/httpd/html/horde/new_horde/

#mv /root/imp* /home/httpd/html/horde/new_horde/

#mv /root/dimp* /home/httpd/html/horde/new_horde/

#mv /root/kronolith* /home/httpd/html/horde/new_horde/

#mv /root/turba* /home/httpd/html/horde/new_horde/

#mv /root/mnemo* /home/httpd/html/horde/new_horde/

#mv /root/nag* /home/httpd/html/horde/new_horde/

 

 

 

 

 

  1. Installation de Horde

 

  1. Décompressez horde*.tar.gz :

#tar –vxzf horde*.tar.gz

 

  1. Renommez le repertoire horde* qui vient d’être créé :

#mv horde* horde/

 

 

  1. Rendez-vous dans ce répertoire :

#cd horde/

Petit récapitulatif, vous vous situez maintenant dans le répertoire :

            /home/httpd/html/horde/new_horde/horde/

Ne vous inquiétez pas, apache fera tout le boulot à la fin pour rediriger vers ce sous répertoire vos utilisateurs.

 

  1. Modifiez les droits sur le répertoire config/, pour plus de facilité lors de la configuration du début, faites un :

#chmod –R 777 config/

 

  1. Rendez-vous dans le répertoire config/

#cd config/

Dans ce répertoire, il va falloir éditer plusieurs fichiers afin de les rendre compatibles avec notre installation (divers chemins…).

 

  1. Copiez les fichiers *.php.dist en *.php :

#for f  in *.dist ; do cp $f `basename $f .dist`; done

    

  1. Editez le fichier conf.php :

#vi conf.php

Dans ce fichier, modifies les chemin du cookie à la ligne :

$conf['cookie']['path'] = '/horde

Remplacez par :

$conf['cookie']['path'] = '/horde/new_horde/horde

Ce qui correspond à notre repertoire d’installation

 

  1. Editez le fichier registry.php

#vi registry.php

Dans ce fichier indiquez le même chemin que précédement à la ligne :

    'webroot' => _detect_webroot(),

Remplacez par :

    'webroot' => ‘/horde/new_horde/horde’,

 

  1. Vous pouvez alors vous rendre sur la nouvelle interface de horde à l’adresse :

http://ip_de_votre_serveur/horde/new_horde/horde/

Si cela fonctionne, nous avons fait le plus gros du travail.

 

  1. Il va maintenant falloir créé une nouvelle base de données mysql qui va accueillir les données de notre nouvelle installation de horde. Pour cela, utilisez votre phpmyadmin ou si vous n’en avez pas, directement en ligne de commande. Je ne vais pas revenir sur la création d’une base de données mysql, la mienne pour mon exemple s’appel « new_horde ».

 

  1. Créez un nouvel utilisateur mysql, pour mon exemple, ce sera « new_horde »

 

  1. Il va maintenant falloir peupler la base de données de horde à l’aide des scripts fournits. Pour cela, toujours dans votre répertoire du nouveau horde, rendez-vous dans le répertoire scripts/sql/

#cd scripts/sql/

  1. Le script qui permet de peupler la base se nomme create.mysql.sql

Pour l’adapter à notre configuration, il faut le modifier un petit peu car le début du script comporte la création du nouvelle base de données (déjà effectuée plus tot) ainsi que d’un nouvel utilisateur (aussi déjà effectué).

                        #vi create.mysql.sql

Il faut donc mettre en commentaire la partie création d’un utilisateur et de la base, c'est-à-dire de la ligne :

            REPLACE INTO user (host, user, password)

À la ligne :

            CREATE DATABASE horde;

 

On laisse la ligne :

            USE mysql;

On modifie la ligne :

            USE horde;

En :

USE new_horde;     (le nom de notre nouvelle base de données)

 

Le début du fichier se résume alors en :

USE mysql;

 

USE new_horde;

Et c’est tout.

 

  1. Maintenant on peut peupler la base de données :

#mysql –u root –p new_horde < create.mysql.sql

 

  1. Rendez-vous de nouveau sur votre interface web du nouveau horde et allez dans le section Administratio -> Configuration -> Horde

Ici, il va falloir indiquez notre configuration à horde pour qu’il génère un fichier conf.php correct (paramètres de connexion à la base de données, etc…)

Pour cela, renseignez les onglets suivants :

-         Database

-         Preference System

-         Alarm System

-         DataTree System

Une fois les différents onglets remplis, cliquez sur le bouton « Générer la configuration de horde ». Si l’interface vous renvoi une erreur indiquant qu’elle n’a pas les droits pour modifier le fichier conf.php, rendez-vous en ssh et re-réalisez un chmod –R 777 sur le répertoire config/, puis relancez la génération.

 

  1. Installation de IMP

 

  1. On peut maintenant passer à IMP.

Déplacer imp* dans le répertoire de horde :

                        #mv /home/httpd/html/horde/new_horde/imp* /home/httpd/html/horde/new_horde/horde/

 

  1. Décompressez l’archive de imp :

#tar –vxzf imp*

 

  1. Renommez le répertoire qui vient d’être créé :

#mv imp* imp

  1. Rendez-vous dans ce répertoire :

#cd imp/

 

  1. Changement des droits sur le répertoire config/ de imp :

#chmod –R 777 config/

 

  1. On se rend dans ce répertoire et on copie les fichier *.php.dist en *.php

#cd config/

# for f  in *.dist ; do cp $f `basename $f .dist`; done

 

  1. Editez le fichier servers.php

#vi servers.php

Dans ce fichier, commentez les lignes ne correspondent pas à votre configuration (cyrus, php, etc…) et indiquez les bon parameters pour les noms de votre domaine ou encore votre serveur imap et smtp (localhost dans mon exemple)

 

  1. Rendez-vous dans le répertoire de imp :

#cd scripts/sql/

Et peuplez la base de données horde avec ce script :

                        #mysql –u root –p new_horde < imp.sql

 

  1. Rééxécutez un petit :

#chmod –R 777 config/

 

  1. Rendez-vous de nouveau sur la nouvelle interface web de horde/imp

 

  1. Retournez dans la configuration de horde, onglet « Authentification » et dans « $conf[auth ][driver] » choisir « Let a Horde application handle authentification » et choisir « imp » comme application. Regénérez la configuration de horde.

 

  1. Rendez-vous dans la configuration de imp, et faites le tour des différents onglet en choisissant les options qui vous conviennent. Rien n’est bloquant dans cette configuration. Générez ensuite la configuration de imp.

 

  1. Une fois cela fait, vous devez normalement avoir accès à horde + imp. L’authentification se fait grâce à imp qui fait une requête sur le serveur imap. Si vous avez des problèmes pour vous connecter, quittez votre navigateur et réouvrez-le ; si cela ne fonctionne toujours pas (vous vous loguez et horde vous deconnecte instantanément), supprimer tous les cookies de votre navigateur.

 

Nous avons donc une configuration fonctionnelle de horde + imp.

On va passer maintenant à l’installation de dimp.

 

 

  1. Installation de DIMP

 

  1. Déplacez l’archive de dimp dans le répertoire de horde :

                  #mv /home/httpd/html/horde/new_horde/dimp* /home/httpd/html/horde/new_horde/horde/

 

  1. Décompressez l’archive de dimp :

                  #tar –vxzf dimp*

 

  1. Renommez le répertoire qui vient d’être créé :

                  #mv dimp* dimp/

 

  1. Rendez-vous dans ce répertoire :

                  #cd dimp/

 

  1. Comme d’habitude, changement des droits sur le répertoire config/

                  #chmod –R 777 config/

 

  1. Rendez-vous dans le répertoire config/

                  #cd config/

 

  1. Renommez les fichiers *.php.dist en *.php :

                  # for f  in *.dist ; do cp $f `basename $f .dist`; done

 

  1. Rééxécutez un changement des droits sur le repertoire config :

#chmod –R 777 config/

 

Pour le module dimp, il n’y a pas de scripts sql à injecter dans notre base de données puisqu’il ne s’agit que d’une interface graphique différente pour le module courier.

 

Il ne nous reste plus qu’à générer la configuration de dimp depuis l’interface d’administration de horde. Si vus n’avez plus accès à l’administration de horde lorsque vous êtes logué avec votre utilisateur ou avec admin, modifier le fichier /home/httpd/html/horde/new_horde/horde/config/conf.php et la ligne :

$conf['auth']['admins'] = array('Administrator') ;

Ajoutez ici le nom de votre utilisateur@votre_domaine.

 

  1. Rendez-vous donc sur l’interface d’administration de horde, et générez la configuration de dimp ; il n’y a pas d’options spécifiques à renseigner, tout doit fonctionner tout de suite.

 

Comme vous aurez pu le remarquer lors de votre connexion à horde, sur l’écran de lancement, vous avez le choix de l’interface à utiliser, c’est ici que vous pouvez alors choisir « Traditionnel », l’interface de imp, ou bien « Dynamique », l’interface de dimp. Le choix « Minimaliste » correspond à un autre module nommé mimp qui est utile pour les connexion à l’aide d’un téléphone portable.

 

Si tout s’est bien passé, tout est fonctionnel. J’ai réalisé cette installation sur une SMEServer 7.1 toute fraiche et aucun composant additionnel n’a été installé.

L’installation des autres modules est calqué sur les exemples ci-dessus, rien ne change.

 

 

  1. Configuration de Apache

 

Nous allons maintenant nous occuper de configuration d’apache.
A l’heure actuel, lorsque vous saisissez dans votre navigateur https://ip_de_votre_server/webmail, vous êtes renvoyé vers le répertoire /home/httpd/html/horde/. Il faut donc que maintenant cela renvoi vers le répertoire /home/httpd/html/horde/new_horde/horde/ afin que le changement de version soit tout a fait transparent pour vos utilisateurs.

 

  1. Configuration de apache :

Si l’on observe le fichier /etc/httpd/conf/httpd.conf on peut remarquer deux lignes :

    Alias       /webmail   /home/httpd/html/horde/imp

    Alias       /horde   /home/httpd/html/horde

 

Ce sont ces lignes qu’il faut modifier. On n’oublie pas que nous sommes sur un SMEServer et qu’il faut passer par les templates pour modifier quoi que ce soit.

Modifiez le fichier :

 

/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/30WebmailAliases

Il faut dans ce fichier modifier la ligne :

    $dirs{webmail} = "$dirs{horde}/imp";

par :

    $dirs{webmail} = "$dirs{horde}";

 

Il suffit ensuite de regénérer le fichier de configuration d’apache :

                        #expand-template /etc/httpd/conf/httpd.conf

 

Puis de redémarrer le service apache :

                        #/etc/init.d/httpd-e-smith restart

 

Enfin rendez-vous dans le répertoire :

                        #cd /home/httpd/html/horde

Renommez le fichier index.php en index.php.old

                        #mv index.php index.php.old

Créez un nouveau fichier index.php :

                        #vi index.php

Et insérez la ligne suivante :

            <?php header("Location: https://x.x.x.x/horde/new_horde/horde\n\n"); ?>

 

Avec cette petite astuce, la redirection est transparente pour l’utilisateur ; la redirection depuis apache fonctionne très très mal du fait que notre nouvelle installation soit dans un sous répertoire de horde et que le dossier à afficher s’appel horde, tout se mélange un peu…

 

 

 

  1. Installation de Kronolith

 

  1. Nous allons maintenant procéder à l’installation du module d’agenda nommé kronolith.

Déplacez l’archive de kronolith dans notre répertoire :

                        #mv /home/httpd/html/horde/new_horde/horde/kronolith* /home/httpd/html/horde/new_horde/horde/

 

  1. Décompressez l’archive :

#tar –vxzf kronolith*

 

  1. Renommez le répertoire ainsi créé et rendez-vous dedans:

#mv kronolith* kronolith

#cd kronolith

 

 

  1. Changez les droits sur le répertoire config/ :

#chmod –R 777 config/

 

  1. Rendez-vous dans ce répertoire et changez les fichiers *.php.dist en *.php :

#cd config/

# for f  in *.dist ; do cp $f `basename $f .dist`; done

 

  1. Il faut maintenant peupler la base de données Mysql avec les tables de kronolith, pour cela, rendez-ous dans le repertoire :

#cd ../scripts/sql/

Et saisir la commande suivante :

                        #mysql –u root –p new_horde < kronolith.mysql.sql

 

  1. Retournez a la racive du repertoire de kronolith et rééxécutez un petit :

#chmod –R 777 config/

 

  1. Rendez-vous maintenant sur votre interface web d’administration de horde afin de configurer votre nouveau module kronolith. Sur cette interface, pas grand-chose a paramétrer ; normalement et de base, les paramètres de connexion à la base de données et aux tables sont déjà renseignés.

Générez la configuration.

 

Si tout s’est bien passé, vous pouvez vous rendre, depuis votre horde/imp dans la section « Organisation » puis « Agenda ». Vérifiez que tout se passe bien en créant un nouel évènement, tout cela pour confirmer la bonne connexion avec la base de données.

 

 

 

  1. Installation de TURBA

 

  1. Nous n’allons pas nous arrêter en si bon chemin, nous poursuivons donc avec l’installation du module carnet d’adresses qui se nomme turba. Pour cela, déplacez l’archive dans notre répertoire de horde :

#mv /home/httpd/html/horde/new_horde/turba* /home/httpd/html/horde/new_horde/horde/

 

  1. Décompressez l’archive :

#tar –vxzf turba*

 

  1. Renommez le dossier ainsi créé et se rendre dedans :

#mv turba* turba

#cd turba/

 

  1. Changement des droits sur le repertoire config/ et on se rend dedans :

#chmod –R 777 config/

#cd config/

 

  1. Changement des fichiers *.php.dist en *.php :

# for f  in *.dist ; do cp $f `basename $f .dist`; done

 

  1. Comme d’habitude, il faut maintenant peupler les tables Mysql, se render donc dans le repertoire :

#cd ../scripts/sql/

 

Et lancer la commande :

                        #mysql –u root –p new_horde < turba.sql

Ici, on ne se sert pas du script turba.mysql.sql car après analyse, il se trouve que celui-ci est incomplet, beaucoup de champs sont manquant.

 

  1. Revenez a la racive du repertoire de turba et rééxécuter un :

#chmod –R 777 config/

 

  1. Se rendre alors sur votre interface web d’administration préférée afin de lancer la génération du fichier de configuration. Pour cette partie, pas grand-chose non plus a toucher, mise a part le fait d’indiquer un driver correct pour les VFS (Virtual File Storage). Générez ensuite la configuration.

Tout doit fonctionner, vérifié bien la connexion avec la base de données en créant un nouveau contact. Vous pouvez, si vous le désirez, ajouter votre annuaire ldap en éditant le fichier config/sources.php et en y indiquant les bons paramètres.

Si vous avez choisit d’utiliser le carnet d’adresses, n’oubliez pas d’activer son utilisation dans les options du carnet d’adresses.

 

 

  1. Installation de INGO

 

  1. Ceci fait, il ne nous reste plus que 3 modules à installer. La procédure est toujours la même, et nous commençons par ingo. Déplacez l’archive dans notre répertoire de horde :

#mv /home/httpd/html/horde/new_horde/ingo* /home/httpd/html/horde/new_horde/horde/

 

  1. Décompressez l’archive et renommez le répertoire créé :

#tar –vxzf ingo*

#mv ingo* ingo

 

  1. Se render dans ce repertoire et changer les propriétés du repertoire config/ :

#cd ingo/

#chmod –R 777 config/

 

  1. Se render dans le repertoire et config et changer les fichiers *.php.dist en *.php :

#cd config/

# for f  in *.dist ; do cp $f `basename $f .dist`; done

 

  1. On people maintenant notre base de données :

#cd ../scripts/sql/

#mysql –u root –p new_horde < ingo.sql

 

  1. Rééxécuter un :

#chmod –R 777 config/

 

  1. Editez le fichier :

#vi config/backends.php

Indiquer vos paramètres à la section imap et commenter les autres sections du fichier.

 

  1. Rendez-vous dans l’interface web d’administration et générer la configuration.

 

 

  1. Installation de MNEMO

 

  1. On déplace l’archive dans notre répertoire de horde :

#mv /home/httpd/html/horde/new_horde/mnemo* /home/httpd/html/horde/new_horde/horde/

 

  1. On décompresse l’archive et on renomme le dossier créé :

#tar –vxzf mnemo*

#mv mnemo* mnemo

 

  1. On se rend dans ce répertoire et on change les droits sur le répertoire config/ :

#cd mnemo/

#chmod –R 777 config/

 

  1. On se rend dans le repertoire config et on change les fichiers *.php.dist en *.php

#cd config/

#cp prefs.php.dist prefs.php

 

  1. On peuple la base de données Mysql :

#cd ../scripts/sql/

#mysql –u root –p new_horde < mnemo.sql

 

  1. On rééxécute un :

#chmod –R 777 config/

 

  1. Se render enfin sur l’interface d’administration et générer la configuration du module mnemo.

Tout doit fonctionner normalement, faire un test d’ajout de note pour vérifier la bonne connexion avec la base de données.

 

 

  1. Installation de NAG

 

  1. On déplace l’archive de nag dans notre répertoire de horde :

#mv /home/httpd/html/horde/new_horde/nag* /home/httpd/html/horde/new_horde/horde/

 

  1. On décompresse l’archive et on renomme le répertoire créé :

#tar –vxzf nag*

#mv nag* nag

 

  1. On se rend dans ce repertoire et on change les droits sur le repertoire config/

#cd nag/

#chmod –R 777 config/

 

  1. On se rend dans le repertoire config/ et on change les fichiers *.php.dist en *.php :

#cd config/

# for f  in *.dist ; do cp $f `basename $f .dist`; done

 

  1. On people la base de données :

#cd ../scripts/sql/

#mysql –u root –p new_horde < nag.sql

 

  1. On rééxécute un :

#chmod –R 777 config/

 

  1. Se render sur l’interface web de configuration et générer la configuration de nag.

Tout doit fonctionner sans problèmes, vérifier la connexion avec la base de données en créant une nouvelle tâche.

 

 

  1. Paramètres des applications IMP et DIMP depuis l’interface d’administration :

 

IMP :

-         Onglet « User Capabilities and Constraints » :

o       $conf[user][allow_folders] : yes

o       $conf[user][select_sentmail_folder] : x

o       $conf[user][allow_resume_all_in_drafts] : x

o       $conf[user][allow_resume_all] : x

o       $conf[user][allow_view_source] : x

o       $conf[user][alternate_login] : false

o       $conf[user][redirect_on_logout] : false

o       $conf[user][select_view] : x

-         Onglet « Server » :

o       Rien a modifier

-         Onglet « Mailbox and Fetchmail » :

o       $conf[mailbox][show_preview] : x

-         Onglet « Message and Spam » :

o        $conf[print][add_printedby] : x

-         Onglet « Custom Hooks »

o       $conf[hooks][msglist_format] : x

Cette option (hook) permet d’indiquer depuis la liste des message s’il y a des pièces jointes avec les emails, leurs niveau d’importance, etc. Une fois cette option activé, il faut éditer le fichier hooks.php qui se situe dans le répertoire config/ de imp et décommenter la section « msglist_format ».

 

DIMP :

-         $conf[search][search_all] : x

-         $conf[hooks][msglist_format] : x (idem que précédemment pour un hook)

Il y a un bug dans le code de ce hook à la ligne 84 du fichier hooks.php :

         switch ($ob->header->getXpriority() {

Il manque une parenthèse :

         switch ($ob->header->getXpriority()) {

 

Après vérification, ce bug est présent dans la RC2 de dimp mais plus dans la dernière CVS en date du 22/02/2008.

 

 

  1. Une option cachée dans IMP

 

Une petite option bien sympatique mais cachée de base ; il s’agit de l’option permettant l’auto-enregistrement des emails en cours de rédaction dans le dossier de Brouillons et ce, toutes les 5 minutes.

Pour activer cette option afin qu’elle soit disponible depuis l’interface web, éditez le fichier :

/home/httpd/html/horde/new_horde/horde/imp/config/prefs.php

 

Dans ce fichier doit être présent une fonction comme celle-ci :

// auto-save drafts? value is in minutes, 0 == don't save.

$_prefs['auto_save_drafts'] = array(

    'value' => 0,

    'locked' => false,

    'shared' => false,

    'type' => 'enum',

    'enum' => array(0 => _("No"),

                    5 => _("Every 5 minutes")),

    'desc' => _("Save drafts automatically while composing?"),

);

 

Il suffit de rajouter ‘auto_save_drafts’ dans la section du début du fichier nommé :

$prefGroups['compose'] = array(

 

Vous retrouvez donc cette option dans les options du module Courrier puis « Rédaction de message ».

 

 

  1. Les mails au format html

 

Afin d’améliorer la lecture des emails depuis horde/imp/dimp, on peut forcer l’affichage des emails au format html.

Pour cela, il faut éditer le fichier situer dans le répertoire de configuration de imp nommé « mime_drivers.php ». Ce fichier se compose de différentes catégories référent à différentes types d’emails ; c’est ainsi que l’on retrouve une catégorie nommé :

            $mime_drivers['imp']['html']

ainsi que la ligne :

                'inline' => false,

qu’il suffit de remplacer par :

                'inline' => true,

 

 

  1. L’affichage des en-têtes

 

Comment supprimer l’affichage de l’en-tête « Télécharger toutes les pièces jointes au format .zip ». Pour cela, éditez le fichier message.php qui se situe dans le répertoire de imp et commentez les lignes suivantes présentes à partir de la ligne n°660 :

/**if ($show_parts || ($downloadall_link && !$printer_friendly)) {

    $val = '';

    if ($show_parts) {

        $val = '<table cellspacing="2">' . $attachments . '</table>';

    }

    if ($downloadall_link && !$printer_friendly) {

        $val .= Horde::link($downloadall_link, _("Download All Attachments (in .zip file)")) . _("Download All Attachments (in .zip file)") . ' ' . Horde::img('compressed.png', _("Download All Attachments (in .zip file)"), '', $registry->getImageDir('horde') . '/mime') . '</a>';

        if ($prefs->getValue('strip_attachments')) {

            $url = Horde::selfUrl(true);

            $url = Util::removeParameter($url, array('actionID'));

            $url = Util::addParameter($url, array('actionID' => 'strip_all'));

            $val .= '<br />' . Horde::link($url, _("Strip All Attachments"), null, null, "return window.confirm('" . addslashes(_("Are you sure you wish to PERMANENTLY delete all attachments?")) . "');") . _("Strip All Attachments") . ' ' . Horde::img('delete.png', _("Strip Attachments"), null, $registry->getImageDir('horde')) . '</a>';

        }

    }

    $hdrs[] = array('name' => _("Part(s)"), 'val' => $val, 'i' => (++$i % 2));

}

**/

 

 

  1. Installation de ANSEL

 

Lorsque l’on utilise un webmail, il y a une chose qu’il est rarement possible, c’est l’intégration d’images créées en local sur l’ordinateur du client dans un email. Le module ANSEL est un module de galeries photos. Il permet de créer des galeries personnelles mais aussi de créer des galeries photos partagées avec d’autres utilisateurs.

La création de galeries photos personnelles et l’insertion de photos dans celles-ci permet la récupération de ces images depuis la rédaction d’un email.

 

  1. Le module ANSEL n’étant pas en version stable mais beta, commencez par récupérer la dernière version CVS.

 

  1. Envoyer le répertoire ansel ainsi téléchargé dans votre répertoire de horde

 

  1. Rentrer dans ce répertoire et changer les droits sur le répertoire config/ :

#cd ansel/

#chmod –R 777 config/

 

  1. Rentrer dans ce répertoire et modifier les fichiers *.php.dist en *.php :

#cd config/

#cp prefs.php.dist prefs.php

 

  1. Peuplement de la base de données Mysql

#cd ../scripts/sql/

#mysql –u root –p new_horde < ansel.sql

 

  1. Rééxécuter un :

#chmod –R 777 config/

 

  1. Se rende sur l’interface web d’administration et générer la configuration du module. Indiquer un paramètre sql pour le VFS.

 

Une fois toutes les opérations effectuées, il vous faut activer l’option permettant l’insertion d’images dans un emails à l’aide de la galerie photo. Pour cela, rendez-vous dans les options globales de horde, Options de l’éditeur Rich Text, puis sélectionner dans la liste « Insertion d’images venant des albums photos dans le texte ».

 

Pour fonctionner, ANSEL a besoin d’un composant additionnel de PEAR : MDB2. C’est la que cela se corse un petit peu, pour pouvoir installer le module MDB2, il faut impérativement que PEAR soit en version 1.3.6 minimum et sur SmeServer7.x, il est encore en version 1.3.2…

 

 

  1. Mise à jour de PEAR

 

Mettre a jour PEAR est indispensable afin de faire fonctionner pour le mieux les derniers modules de horde. Un petit problème subsiste, il est impossible de réaliser une mise a jour automatique de PEAR lorsque celui-ci est en version inférieur à 1.4.11, il va donc falloir le faire a la main jusqu’à cette version.

 

  1. Commencez par télécharger sur le site de pear :

-         PEAR-1.3.6

-         Archive_Tar-1.3.1

-         XML_RPC-1.4.4

Installer le tout a l’aide de la commande :

# pear upgrade --force PEAR-1.3.6.tgz Archive_Tar-1.3.1.tgz XML_RPC-1.4.4.tgz

 

  1. Télécharger ensuite :

-         PEAR-1.4.11

Installez le à l’aide de la commande :

# pear upgrade --force PEAR-1.4.11.tgz

 

  1. Enfin, vous pouvez faire une mise à jour de PEAR afin d’avoir la dernière version stable à l’aide de la commande :

#pear upgrade PEAR

 

  1. Ensuite, pour installer un composant additionnel, rien de plus facile et par exemple pour le module nécessaire précédement MDB2 :

#pear install MDB2

Pour fonctionner avec Mysql, il faut aussi installer MDB2_Driver_mysql :

#pear install MDB2_Driver_mysql

 

Désormais, vous ne serez plus embêté avec pear et dès que vous aurez besoin d’un composant additionnel, il vous suffira de l’installer comme fait précédemment.

 

 

  1. Amélioration de DIMP

 

  1. De base, le portail de dimp n’affiche que tois éléments :

-         un résumé des dossiers mails de votre compte

-         un module de recherche de contact

-         un résumé des évènements à venir de votre agenda

On peut y ajouter un affichage des derniers messages non-lus reçus. Pour cela, éditez le fichier :

            #vi dimp/config/portal.php

Vous devriez y trouver une section commenté qu’il suffit de décommenter.

 

Comme vous l’aurez surrement remarqué ce module fonctionne parfaitement, mais son titre est en anglais « Newest Unseen Messages », nous allons traduire cela.

Ici, pour réaliser cette traduction, nous allons utiliser la méthode rapide, c'est-à-dire directement dans le code, sans passer par les fichiers de traduction ; ce n’est pas très propre comme méthode et nous verrons plus tard comment réaliser la même opération grâce aux fichiers de traduction.

Rééditer le fichier :

            #vi dimp/config/portal.php

Dans la section que nous avons précédemment décommenté, on retrouve le titre de notre élément. Il suffit de le traduire par « Nouveaux messages non-lus ».

 

  1. La barre de menu de gauche

Sur la gauche de DIMP, se trouve une barre de menu donnant un accès direct aux divers dossiers de votre compte mail, à la création de nouveaux dossiers, sous-dossiers, au portail, etc. On peut aussi y afficher des liens vers les différents modules de horde.

Pour cela, il suffit de vous rendre sur l’interface d’administration de horde, dans la configuration de dimp, et de sélectionner les différentes applications que vous voulez voir apparaître dans « Menu Settings ». Regénérez la configuration et retournez dans dimp ; le tour est joué.

 

On peut aller encore un peu plus loin en affichant un lien qui pointe directement vers l’agenda d’aujourd’hui ou encore un lien qui affiche une petite popup de bonjour.

Pour cela, il suffit d’éditer le fichier :

            #vi dimp/config/menu.php

Et de décommenter les différentes lignes de code.

Ces quelques lignes de codes ne sont que des exemples et donnent un petit apperçu des possibilitées qui sont offertes à nous. En gros, nous allons pouvoir réaliser un lien vers tout ce que l’on désir et ce servir de dimp comme d’un portail général.

 

 

  1. Améliorations de HORDE

 

  1. Modifier son nom

On peut très facilement modifier le nom de horde pour le nommé à sa convenance. Pour cela, éditez le fichier :

                        #vi config/registry.php

Dans ce fichier, on retrouve la définition des différents modules de horde, mais aussi celle de horde lui-même. Pour modifier son nom, il suffit de le modifier dans la ligne :

            'name' => _("Horde"),

par

            'name' => _("Notre_nom_trop_bien"),

et cela dans la section :

            $this->applications['horde']

 

 

  1. Modifier le logo de la page de connexion

Pour modifier le logo de la page de connexion, il suffit de remplacer l’éxistant. Pour cela, remplacer le fichier nommé « horde-power1.png » situé dans le répertoire themes/graphics/, par l’un de vos propre logo.

 

 

  1. Les différences de bases de données entre une version de horde/imp base SmeServer7.1 et une base de données horde/imp Framwork 3.

 

Afin de réaliser une migration parfaite pour les clients de la messagerie, il est necessaire de récupérer les informations stockées dans la base de données actuel de horde, et de l’insérer dans la nouvelle bdd. Tout cela serait très simple s’il n’y avait pas eu des mises a jours des tables de la bdd…

 

Nouvelles tables :

-         horde_alarms

CREATE TABLE `horde_alarms` (
    `alarm_id` varchar(250) NOT NULL DEFAULT '' COMMENT '' COLLATE latin1_swedish_ci,
    `alarm_uid` varchar(250) NOT NULL DEFAULT '' COMMENT '' COLLATE latin1_swedish_ci,
    `alarm_start` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '',
    `alarm_end` datetime NULL DEFAULT NULL COMMENT '',
    `alarm_methods` varchar(255) NULL DEFAULT NULL COMMENT '' COLLATE latin1_swedish_ci,
    `alarm_params` text NULL DEFAULT NULL COMMENT '' COLLATE latin1_swedish_ci,
    `alarm_title` varchar(255) NOT NULL DEFAULT '' COMMENT '' COLLATE latin1_swedish_ci,
    `alarm_text` text NULL DEFAULT NULL COMMENT '' COLLATE latin1_swedish_ci,
    `alarm_snooze` datetime NULL DEFAULT NULL COMMENT '',
    `alarm_dismissed` tinyint(1) NOT NULL DEFAULT '0' COMMENT '',
    `alarm_internal` text NULL DEFAULT NULL COMMENT '' COLLATE latin1_swedish_ci,
    INDEX `alarm_id_idx` (`alarm_id`),
    INDEX `alarm_user_idx` (`alarm_uid`),
    INDEX `alarm_start_idx` (`alarm_start`),
    INDEX `alarm_end_idx` (`alarm_end`),
    INDEX `alarm_snooze_idx` (`alarm_snooze`),
    INDEX `alarm_dismissed_idx` (`alarm_dismissed`)
) DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

 

-         horde_cache

CREATE TABLE `horde_cache` (
    `cache_id` varchar(32) NOT NULL DEFAULT '' COMMENT '' COLLATE latin1_swedish_ci,
    `cache_timestamp` bigint(20) NOT NULL DEFAULT '0' COMMENT '',
    `cache_data` longblob NULL DEFAULT NULL COMMENT '',
    PRIMARY KEY (`cache_id`)
) DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

 

-         horde_sessionhandler

CREATE TABLE `horde_sessionhandler` (
    `session_id` varchar(32) NOT NULL DEFAULT '' COMMENT '' COLLATE latin1_swedish_ci,
    `session_lastmodified` int(11) NOT NULL DEFAULT '0' COMMENT '',
    `session_data` longblob NULL DEFAULT NULL COMMENT '',
    PRIMARY KEY (`session_id`)
) DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

 

-         horde_syncml_map

CREATE TABLE `horde_syncml_map` (
    `syncml_syncpartner` varchar(64) NOT NULL DEFAULT '' COMMENT '' COLLATE latin1_swedish_ci,
    `syncml_db` varchar(64) NOT NULL DEFAULT '' COMMENT '' COLLATE latin1_swedish_ci,
    `syncml_uid` varchar(64) NOT NULL DEFAULT '' COMMENT '' COLLATE latin1_swedish_ci,
    `syncml_cuid` varchar(64) NULL DEFAULT NULL COMMENT '' COLLATE latin1_swedish_ci,
    `syncml_suid` varchar(64) NULL DEFAULT NULL COMMENT '' COLLATE latin1_swedish_ci,
    `syncml_timestamp` int(11) NULL DEFAULT NULL COMMENT '',
    INDEX `syncml_cuid_idx` (`syncml_syncpartner`, `syncml_db`, `syncml_uid`, `syncml_cuid`),
    INDEX `syncml_suid_idx` (`syncml_syncpartner`, `syncml_db`, `syncml_uid`, `syncml_suid`)
) DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

 

-         imp_sentmail

CREATE TABLE `imp_sentmail` (
    `sentmail_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '',
    `sentmail_who` varchar(255) NOT NULL DEFAULT '' COMMENT '' COLLATE latin1_swedish_ci,
    `sentmail_ts` bigint(20) NOT NULL DEFAULT '0' COMMENT '',
    `sentmail_messageid` varchar(255) NOT NULL DEFAULT '' COMMENT '' COLLATE latin1_swedish_ci,
    `sentmail_action` varchar(32) NOT NULL DEFAULT '' COMMENT '' COLLATE latin1_swedish_ci,
    `sentmail_recipient` varchar(255) NOT NULL DEFAULT '' COMMENT '' COLLATE latin1_swedish_ci,
    `sentmail_success` int(11) NOT NULL DEFAULT '0' COMMENT '',
    PRIMARY KEY (`sentmail_id`),
    INDEX `sentmail_ts_idx` (`sentmail_ts`),
    INDEX `sentmail_who_idx` (`sentmail_who`),
    INDEX `sentmail_success_idx` (`sentmail_success`)
) DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

 

-         ingo_forwards

CREATE TABLE `ingo_forwards` (
    `forward_owner` varchar(255) NOT NULL DEFAULT '' COMMENT '' COLLATE latin1_swedish_ci,
    `forward_addresses` text NULL DEFAULT NULL COMMENT '' COLLATE latin1_swedish_ci,
    `forward_keep` int(11) NOT NULL DEFAULT '0' COMMENT '',
    PRIMARY KEY (`forward_owner`)
) DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

 

-         ingo_lists

CREATE TABLE `ingo_lists` (
    `list_owner` varchar(255) NOT NULL DEFAULT '' COMMENT '' COLLATE latin1_swedish_ci,
    `list_blacklist` int(11) NULL DEFAULT '0' COMMENT '',
    `list_address` varchar(255) NOT NULL DEFAULT '' COMMENT '' COLLATE latin1_swedish_ci,
    INDEX `list_idx` (`list_owner`, `list_blacklist`)
) DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

 

-         ingo_rules

CREATE TABLE `ingo_rules` (
    `rule_id` int(11) NOT NULL DEFAULT '0' COMMENT '',
    `rule_owner` varchar(255) NOT NULL DEFAULT '' COMMENT '' COLLATE latin1_swedish_ci,
    `rule_name` varchar(255) NOT NULL DEFAULT '' COMMENT '' COLLATE latin1_swedish_ci,
    `rule_action` int(11) NOT NULL DEFAULT '0' COMMENT '',
    `rule_value` varchar(255) NULL DEFAULT NULL COMMENT '' COLLATE latin1_swedish_ci,
    `rule_flags` int(11) NULL DEFAULT NULL COMMENT '',
    `rule_conditions` text NULL DEFAULT NULL COMMENT '' COLLATE latin1_swedish_ci,
    `rule_combine` int(11) NULL DEFAULT NULL COMMENT '',
    `rule_stop` int(11) NULL DEFAULT NULL COMMENT '',
    `rule_active` int(11) NOT NULL DEFAULT '1' COMMENT '',
    `rule_order` int(11) NOT NULL DEFAULT '0' COMMENT '',
    PRIMARY KEY (`rule_id`),
    INDEX `rule_owner_idx` (`rule_owner`)
) DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

 

-         ingo_spam

CREATE TABLE `ingo_spam` (
    `spam_owner` varchar(