banneer

Réducteur d'URL tinad:

Collez l'adresse du site:

Rechercher sur le blog du grouik:

Catégorie: Informatique › Groupware webmail

Fil des billets - Fil des commentaires

J'ai écrit il y a quelques mois un tutorial sur l'installation de horde. J'avoue, c'est à lui seul un bon tiers des visites sur ce blog. Une petite mise à jour s'imposait, sauf que cette fois, je prends la webmail edition (moins de fonctionnalités mais assez simple à installer).

Cette "version" de horde vous conviendra si c'étaient les fonctions de webmail et d'agenda, pour le partage de fichier ou d'autres trucs plus proches d'un ERP, elle ne suffira pas. Attendez éventuellement la sortie de tinaderp :p

Autre petit point, pourquoi horde et pas zimbra? Le prix, et puis aussi que kronolith (l'agenda de horde) est synchronisable avec thunderbird ou outlook

Il est nécessaire d'avoir un acces ssh au serveur. Un serveur IMAP configuré sur la machine.

tout au long de ce court tuto, hordepwd est le mot de passe mysql de l'user horde.

Petit préalable pour ubuntu (edit 15/12/2010)

Pour ubuntu en particulier, enfin, si vous avez le php en version 5.3, je vous invite à le passer en version 5.2. Une courte explication se trouve dans ce billet.

Télecharger horde groupware webmail edition

http://www.horde.org/download/app/?app=webmail

Envoyer tout sur le serveur dans un VHOST accessible en https![1]

Premiers paramétrages du bouzin

bien évidemment changez le chemin par ce qui vous plait

  1. www:# cd /var/www/www.tinad.fr/horde/
  2. www:/var/www/www.tinad.fr/horde# php scripts/setup.php

Il vous dit que php est une commande introuvable, installez le:

  1. apt-get install php5-cli

Il va poser des questions:

What is the web root path on your web server for this installation, 
i.e. the path of the address you use to access Horde Groupware Webmail Edition in your browser? [/horde] 

bah c'est justement horde dans mon cas

Horde Groupware Webmail Edition Configuration Menu 
    (0) Exit
    (1) Configure database settings
    (2) Create database or tables
    (3) Configure administrator settings
    (4) Update PEAR for a new or changed location
    (5) Update from an older Horde Groupware Webmail Edition version

Type your choice: 

bah on va les faire dans l'ordre et ce qui est cool c'est qu'il propose de créer lui même la base.

Type your choice: 1
What database backend should we use? [false] 
    (false) [None]
    (dbase) dBase
    (ibase) Firebird/InterBase
    (fbsql) Frontbase
    (ifx) Informix
    (msql) mSQL
    (mssql) MS SQL Server
    (mysql) MySQL
    (mysqli) MySQL (mysqli)
    (oci8) Oracle
    (odbc) ODBC
    (pgsql) PostgreSQL
    (sqlite) SQLite
    (sybase) Sybase

Type your choice: mysql
Request persistent connections? [0] 
    (1) Yes
    (0) No

Type your choice: 

Username to connect to the database as* [] horde

Password to connect with [] hordepwd
How should we connect to the database? [unix] 
    (unix) UNIX Sockets
    (tcp) TCP/IP

Type your choice: tcp

Database server/host* [] localhost

Port the DB is running on, if non-standard [3306] 

Database name to use* [] horde

Internally used charset* [utf-8] 
Use SSL to connect to the server? [0] 
    (1) Yes
    (0) No

Type your choice: 

Certification Authority to use for SSL connections [] 
Split reads to a different server? [false] 
    (false) Disabled
    (true) Enabled

Type your choice: 

Writing main configuration file
Done configuring database settings.

creer la base:

Horde Groupware Webmail Edition Configuration Menu 
    (0) Exit
    (1) Configure database settings
    (2) Create database or tables
    (3) Configure administrator settings
    (4) Update PEAR for a new or changed location
    (5) Update from an older Horde Groupware Webmail Edition version

Type your choice: 2
Should we create the database for you? If yes, you need to provide a database
user that has permissions to create new databases on your system. If no, we
will only create the database tables for you. [y] 
    (y) Yes
    (n) No

Type your choice: y

Database superuser for creating the database if necessary for your database system: root

Specify a password for the database user: *******
Loading database module...
Creating database...
[   OK   ] Successfully created the database.
[   OK   ] Successfully created the tables for Mail (imp).
[   OK   ] Successfully created the tables for Filters (ingo).
[   OK   ] Successfully created the tables for Address Book (turba).
[   OK   ] Successfully created the tables for Calendar (kronolith).
[   OK   ] Successfully created the tables for Tasks (nag).
[   OK   ] Successfully created the tables for Notes (mnemo).

Should we build the database with METAR weather stations now? This is necessary if you want to display METAR weather information. Building the database requires a network connection. [y] 
    (y) Yes
    (n) No

Type your choice: y
Creating METAR database...

Warning: require_once(DB.php): failed to open stream: No such file or directory in /var/www/www.tinad.fr/horde/pear/data/Services_Weather/buildMetarDB.php on line 60

Fatal error: require_once(): Failed opening required 'DB.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/www.tinad.fr/horde/pear/data/Services_Weather/buildMetarDB.php on line 60

Warning: require_once(DB.php): failed to open stream: No such file or directory in /var/www/www.tinad.fr/horde/pear/data/Services_Weather/buildMetarDB.php on line 60

Fatal error: require_once(): Failed opening required 'DB.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/www.tinad.fr/horde/pear/data/Services_Weather/buildMetarDB.php on line 60
Done creating database.

zut fais chier, tant pis y'aura pas la météo

Horde Groupware Webmail Edition Configuration Menu 
    (0) Exit
    (1) Configure database settings
    (2) Create database or tables
    (3) Configure administrator settings
    (4) Update PEAR for a new or changed location
    (5) Update from an older Horde Groupware Webmail Edition version

Type your choice: 3

Specify an existing mail user who you want to give administrator permissions (optional): *****@tinad.fr

Writing main configuration file
Done configuring administrator settings.

4 rien à faire:

Horde Groupware Webmail Edition Configuration Menu 
    (0) Exit
    (1) Configure database settings
    (2) Create database or tables
    (3) Configure administrator settings
    (4) Update PEAR for a new or changed location
    (5) Update from an older Horde Groupware Webmail Edition version

Type your choice: 4

Updating PEAR commands...
Updating PEAR configuration...
Updating PEAR packages...
Updated 1 files.
Done updating PEAR location.

0 exit

test: Capture-3.png

erf, il a pas créé l'user une petite requete sql et ce sera réglé:

GRANT ALL ON horde . * TO 'horde'@'localhost' IDENTIFIED BY 'hordepwd' 

on reteste: Capture-4.png c'est mieux, mais d'un coup on se sent tout con: On a défini l'administrateur, mais pas son mot de passe!

De plus S'il vous sort ça apres la tentative d'authentification:

Une erreur fatale s'est produite

Auth_imp : extension requise IMAP non trouvée.

Les détails ont été consignés pour l'administrateur.

il suffit d'installer le paquet php5-imap

  1. apt-get install php5-imap
  2. /etc/init.d/apache2 restart

Vous avez donc compris, il fera l'authentification sur le serveur imap Supprimez eventuellement vos cookies si ça marche toujours pas et: wahoo! trop bien! Capture-5.jpg

Notes

[1] Cette version de horde semble marcher en http... mais bon, un webmail est un des rares sites qui doit absolument être crypté, car c'est fréquent d'avoir des mots de passe qui vont être communiqués par mail.


Suite à l'upgrade de Kronolith vers la version 2.3, la création d'un nouvel agenda sortait en erreur: MDB2 Error: no such field.

Et comme souvent c'est une fois à tête reposée chez moi que j'ai pris le temps de remettre en place les logs de Horde pour trouver.

Il faut changer le nom de la colonne 'sequence' en 'id' dans la table kronolith_shares_seq



Les infos de ce billet ont été ajoutées au tuto sur l'installation de Horde

déplacer la version actuelle de Horde.

mv /usr/share/horde3 /usr/share/horde3.old

Installer la nouvelle version.

On la trouvera A la date de rédaction de ce billet, c'est la 3.3.4

cd ~
#télécharger:
wget ftp://ftp.horde.org/pub/horde/horde-3.3.4.tar.gz
#Décompresser:
tar -xzvf horde-3.3.4.tar.gz
#Pousser le dossier au bon endroit
mv horde-3.3.4 /usr/share/horde3

Récupérer les modules et les fichiers de config de l'ancienne version.

Pour les modules (j'entends par là IMP Kronolith etc...) il suffit de pousser les répertoires dans le nouveau de horde. Pour les fichiers de config, idem, mais il y aura peut etre une upgrade à effectuer.

#les fichiers de conf
mv /usr/share/horde3.old/config/conf.php /usr/share/horde3/config/conf.php
mv /usr/share/horde3.old/config/registry.php /usr/share/horde3/config/registry.php
#les  modules
cd /usr/share
cp -R horde3.old/passwd horde3/
cp -R horde3.old/imp horde3/
cp -R horde3.old/gollem horde3/
cp -R horde3.old/kronolith horde3/
cp -R horde3.old/mnemo horde3/
cp -R horde3.old/ingo horde3/
cp -R horde3.old/turba horde3/

Upgrade des bases de données et des fichiers de conf:

Pour chaque upgrade la procédure est donnée

Pour cette version, j'exécute simplement le script.

php /usr/share/horde3/scripts/upgrades/2008-08-29_fix_mdb2_sequences.php

Upgrade IMP Kronolith...

Le principe est le même, juste qu'on n'aura pas à pousser les modules. Zieuter dans la docs/UPGRADING du module.

Pour IMP par exemple http://www.horde.org/imp/docs/?f=UPGRADING.html

Exemple pour IMP:

cd /usr/share/horde3
mv imp imp.old
wget ftp://ftp.horde.org/pub/imp/imp-h3-4.3.4.tar.gz
tar -xzvf imp-h3-4.3.4.tar.gz 
mv imp-h3-4.3.4 imp
rm imp-h3-4.3.4.tar.gz 
cp imp.old/config/conf.php imp/config/
cp imp.old/config/servers.php imp/config/
cp imp.old/config/prefs.php imp/config/
cp imp.old/config/mime_drivers.php imp/config/

sécuriser l'installation

Il suffit d'éxécuter ce script:

sh /usr/share/horde3/scripts/set_perms.sh

Les informations de ce billet ont été ajoutées au billet sur l'installation de Horde.

Permettre la synchronisation du calendrier avec lightning

On installe webdav:

pear install HTTP_WebDAV_Server-beta

Ouvrez votre agenda dans horde et cliquez sur le point d'exclamation à coté de "|X|agenda de votre@mail.fr" kronolithsynchro.png

Sélectionnez et copiez l'adresse donnée.

Dans Thunderbird lightning. (Ne faites pas attention je suis sur une ubuntu 64 bits tout de suite, le lightning pour 64 bits que j'ai installé est le premier que j'ai trouvé... en anglais)

Calendrier -> nouveau calendrier -> sur internet -> icalendar-> Copiez la location indiquée précédemment. Il devrait vous demander vos identifiants... éventuellement raffraichissez les agendas pour voir apparaitre vos évènements.

lightning.png


EDIT: J'ai mis à jour ce tutoriel là http://blog-du-grouik.tinad.fr/index.php?post/2010/05/09/horde-reloaded Je garde cependant ce billet car la methode d'installation est un peu différente et qu'il détaille le paramétrage des clients.

C'est le dernier test de groupware.

Un des gros avantage de HORDE est de pouvoir déléguer l'authentification au serveur IMAP. [1]

Il est bien documenté (en anglais, par contre), très modulable sans demander non plus des mois de recherche pour le faire fonctionner. Pour les abonnés Freebox, vous reconnaitrez le webmail IMP.

Prérequis

Comme d'hab... Je fais l'installation sur une débian 5.

Installation

Documentation utilisée

Bien que pour le serveur IMAP j'ai utilisé aveuglément le tuto de starbridge, Pour horde, je ne suis pas ce tutoriel., Mais je m'en sers, il propose des solutions intéressantes. Je préfère cependant installer les paquets de horde de la distribution Debian. Ça permet entre autre d'avoir les fichiers de configuration dans le repertoire /etc de la distribution.

installation Horde

Installer l'élément principal:

  1. apt-get install horde3

Configurer le serveur http:

On ajoute les lignes suivantes dans le fichier /etc/apache2/sites-available/ssl

juste après le bloc <directory /> </directory> du repertoire /var/www
[html]
Alias /horde3 /usr/share/horde3
<Directory /usr/share/horde3>
    Options FollowSymLinks
    AllowOverride Limit
   Order allow,deny

   allow from all
</Directory>
<Files ~ "\.(inc|bak)$">
    deny from all
</Files>

Redémarrer Apache et connecter sur le serveur en https (dans mon cas https://192.168.0.8/horde3)

hordefail.png

Par défaut il n'y a pas d'authentification sur horde, d'où cet avertissement. Ce sera vite corrigé, mais si vous souhaitez être prudent (parano?) une petite règle IPtables pour limiter l'acces au serveur le temps de la configuration...

Dans le fichier /etc/horde/horde3/conf.php, supprimer les lignes 2 et 3 qui bloquent l'acces à horde.

tentez de vous connecter à nouveau... c'est bien vide :D horde0.png

Permettre (temporairement) la modification des fichiers de configuration:

  1. chmod 777 /etc/horde/horde3/conf.php
  2. touch /etc/horde/horde3/conf.bak.php
  3. chmod 777 /etc/horde/horde3/conf.bak.php

Créer la base de données:

  1. gunzip < /usr/share/doc/horde3/examples/scripts/sql/create.mysql.sql.gz | mysql -u root -p

Il a créé la base, mais aussi l'utilisateur "horde" ayant pour mot de passe "horde"... Changeons-y le mot de passe:

  1. horde:/# mysql -u root -p
  2. Enter password:
  3. mysql> SET PASSWORD FOR 'horde'@'localhost' = PASSWORD('biscuit');
  4. Query OK, 0 rows affected (0.00 sec)
  5. mysql> quit

Renseigner les paramètres de bases de données à horde:

Administration >> configuration >> horde>> l'onglet database

$conf[sql][phptype] on sélectionne MySQL et on y met les renseignements comme sur l'impression d'écran: Hordeconf_database.png puis cliquer sur "Générer la configuration de Horde"

On ne s'occupe pas encore de la configuration de l'authentification, on la basera sur le webmail:

Installer IMP, le webmail

  1. apt-get install imp4

permettre la modif des fichiers de configuration:

  1. chmod 777 /usr/share/horde3/imp/config/conf.php
  2. touch /usr/share/horde3/imp/config/conf.bak.php
  3. chmod 777 /usr/share/horde3/imp/config/conf.bak.php

Générer les préférences: administration>configuration>Courier(imp) Pour le moment, je laisse tout par défaut, je me contente de cliquer sur "Générer la configuration de courrier"

On spécifie les paramètres du serveur mail dans le fichier /etc/horde/imp4/servers.php Ce sera pareil pour les autres modules: Plusieurs exemples sont écrits dans le fichier, il faut supprimer ceux qui ne nous intéressent pas et renseigner les autres. J'utilise l'exemple de starbrige pour celui là, en smtphost, je donne l'adresse IP externe pour que les utilisateurs n'aient pas de privilège pour le spam.

  1. <?php
  2.  
  3. $servers['_prompt'] = array(
  4. 'name' => _("Choose a mail server:")
  5. );
  6.  
  7.  
  8. $servers['imap'] = array(
  9. 'name' => 'IMAP Server',
  10. 'server' => 'horde.tinad.fr',
  11. 'hordeauth' => false,
  12. 'protocol' => 'imap/notls',
  13. 'port' => 143,
  14. 'folders' => '',
  15. 'namespace' => 'INBOX.',
  16. 'maildomain' => 'tinad.fr',
  17. 'smtphost' => '192.168.0.8',
  18. 'smtpport' => 25,
  19. 'realm' => '',
  20. 'preferred' => '',
  21. 'dotfiles' => false,
  22. 'quota' => array (
  23. 'driver' => 'imap',
  24. 'params' => array()
  25. ),
  26. 'hierarchies' => array()
  27. );

Activer IMP4

Pour activer IMP4: on édite /etc/horde/horde3/registry.php et dans le tableau de variables $this->applications['imp'] on change la variable status ainsi: 'status' => 'active', Ce sera la même méthode pour les autres modules.

Modifier l'authentification de horde

administration > configuration > horde > onglet authentification. on change:

  • conf[auth][admins] Ce sera l'administrateur, on met un compte mail valide (dans mon cas "admin@tinad.fr", mais dans unet autre configuration du serveur mail ça pourrait être juste "admin"
  • $conf[auth][driver] pour mettre "Let a Horde application Handle authentification."
  • $conf[auth][params][app] on sélectionne "imp".

hordeAuth.png

Lorsqu'on enregistre on tombe sur forbidden. C'est normal, on n'est plus identifié comme il faut => déconnection, on se reconnecte avec l'adresse email et le mot de passe mis en administrateur précédemment.

Si a ce stade vous vous êtes planté et qu'il n'est pas possible de s'identifier, vous pouvez restaurer la configuration précédente comme ceci:

  1. mv /usr/share/horde3/config/conf.php /usr/share/horde3/config/conf.php.raté
  2. mv /usr/share/horde3/config/conf.bak.php /usr/share/horde3/config/conf.php

Ingo

C'est le systeme de filtres. Un prérequis est la possibilité pour les utilisateur d'avoir une méthode pour que les utilisateurs puissent écrire dans leurs dossiers. On applique la méthode de tonio sur starbridge: , avec pureftpd

  1. apt-get install pure-ftpd-mysql
  2. update-inetd --disable ftp

On va changer le fichier de configuration mysql:

  1. cd /etc/pure-ftpd/db/
  2. mv mysql.conf mysql.conf.old
  3. wget http://blog-du-grouik.tinad.fr/public/MailCompletHorde/horde/mysql.conf
  4. sed -i 's/toto/MettezLeMotDePasseMysqlDePostfix/g' mysql.conf

Dans le fichier /etc/default/pure-ftpd-common changez STANDALONE_OR_INETD=standalone

  1. /etc/init.d/pure-ftpd-mysql restart

on installe ingo:

  1. apt-get install ingo1

on change le backends.php (/usr/share/horde3/ingo/config/backends.php )par:

  1. <?php
  2.  
  3. $backends['maildrop'] = array(
  4. 'driver' => 'vfs',
  5. 'preferred' => '',
  6. 'hordeauth' => full,
  7. 'params' => array(
  8. // Hostname of the VFS server
  9. 'hostspec' => '127.0.0.1',
  10. // Name of the maildrop config file to write
  11. 'filename' => '.mailfilter',
  12. // Port of the VFS server
  13. 'port' => 21,
  14. // The VFS driver to use
  15. 'vfstype' => 'ftp',
  16. // Specify permissions for uploaded files if necessary:
  17. 'file_perms' => '0600',
  18. // The VFS username to use, defaults to current user
  19. // 'username' => 'user',
  20. // The VFS password to use, defaults to current user's password
  21. // 'password' => 'secret',
  22. // The path to the .mailfilter filter file, defaults to the current
  23. // user's home directory.
  24. // You can use the following variables:
  25. // %u = name of the current user
  26. // %U = the 'username' from above
  27. // Example:
  28. // '/data/maildrop/filters/%u/'
  29. // This would be translated into:
  30. // '/data/maildrop/filters/<logged_in_username>/.mailfilter'
  31. // 'vfs_path' => '/home/virtual/%u/',
  32. ),
  33. 'script' => 'maildrop',
  34. 'scriptparams' => array(
  35. // What path style does the IMAP server use ['mbox'|'maildir']?
  36. 'path_style' => 'maildir',
  37. // Strip 'INBOX.' from the beginning of folder names in generated
  38. // scripts?
  39. 'strip_inbox' => true,
  40. // An array of variables to append to every generated script.
  41. // Use if you need to set up specific environment variables.
  42. 'variables' => array(
  43. // Example for the $PATH variable
  44. // 'PATH' => '/usr/bin'
  45. )
  46. )
  47. );

on connait la musique:

  1. chmod 777 /usr/share/horde3/ingo/config/conf.php
  2. touch /usr/share/horde3/ingo/config/conf.bak.php
  3. chmod 777 /usr/share/horde3/ingo/config/conf.bak.php

on génère la configuration hordeconfingo.png

on active ingo dans le fichier /etc/horde/horde3/registry.php (comme tout à l'heure).

Turba

C'est le carnet d'adresses.

Installer

  1. apt-get install turba2
  2. chmod 777 /etc/horde/turba2/conf.php
  3. touch /etc/horde/turba2/conf.bak.php
  4. chmod 777 /etc/horde/turba2/conf.bak.php

Générer la configuration (tout par défaut) configurer le backend de turba /etc/horde/turba2/sources.php

  1. <?php
  2.  
  3. $cfgSources['localsql'] = array(
  4. 'title' => _("My Address Book"),
  5. 'type' => 'sql',
  6. // The default connection details are pulled from the Horde-wide SQL
  7. // connection configuration.
  8. 'params' => array_merge($GLOBALS['conf']['sql'], array('table' => 'turba_objects')),
  9. // Using two tables as datasource.
  10. // 'params' => array_merge($GLOBALS['conf']['sql'],
  11. // array('table' => 'leaddetails LEFT JOIN leadaddress ON leaddetails.leadid = leadaddress.leadaddressid',
  12. // 'filter' => 'leaddetails.converted = 0')),
  13. 'map' => array(
  14. '__key' => 'object_id',
  15. '__owner' => 'owner_id',
  16. '__type' => 'object_type',
  17. '__members' => 'object_members',
  18. '__uid' => 'object_uid',
  19. 'firstname' => 'object_firstname',
  20. 'lastname' => 'object_lastname',
  21. 'middlenames' => 'object_middlenames',
  22. 'namePrefix' => 'object_nameprefix',
  23. 'nameSuffix' => 'object_namesuffix',
  24. 'name' => array('fields' => array('namePrefix', 'firstname',
  25. 'middlenames', 'lastname',
  26. 'nameSuffix'),
  27. 'format' => '%s %s %s %s %s',
  28. 'parse' => array(
  29. array('fields' => array('firstname', 'middlenames',
  30. 'lastname'),
  31. 'format' => '%s %s %s'),
  32. array('fields' => array('firstname', 'lastname'),
  33. 'format' => '%s %s'))),
  34. // This is a shorter version of a "name" composite field which only
  35. // consists of the first name and last name.
  36. // 'name' => array('fields' => array('firstname', 'lastname'),
  37. // 'format' => '%s %s'),
  38. 'alias' => 'object_alias',
  39. 'birthday' => 'object_bday',
  40. 'homeStreet' => 'object_homestreet',
  41. 'homePOBox' => 'object_homepob',
  42. 'homeCity' => 'object_homecity',
  43. 'homeProvince' => 'object_homeprovince',
  44. 'homePostalCode' => 'object_homepostalcode',
  45. 'homeCountry' => 'object_homecountry',
  46. // This is an example composite field for addresses, so you can display
  47. // the various map links. If you use this, be sure to add 'homeAddress'
  48. // to the 'tabs' parameter below.
  49. //'homeAddress' => array('fields' => array('homeStreet', 'homeCity',
  50. // 'homeProvince',
  51. // 'homePostalCode'),
  52. // 'format' => "%s
  53. %s, %s %s"),
  54. 'workStreet' => 'object_workstreet',
  55. 'workPOBox' => 'object_workpob',
  56. 'workCity' => 'object_workcity',
  57. 'workProvince' => 'object_workprovince',
  58. 'workPostalCode' => 'object_workpostalcode',
  59. 'workCountry' => 'object_workcountry',
  60. 'timezone' => 'object_tz',
  61. 'email' => 'object_email',
  62. 'homePhone' => 'object_homephone',
  63. 'workPhone' => 'object_workphone',
  64. 'cellPhone' => 'object_cellphone',
  65. 'fax' => 'object_fax',
  66. 'pager' => 'object_pager',
  67. 'title' => 'object_title',
  68. 'role' => 'object_role',
  69. 'company' => 'object_company',
  70. 'category' => 'object_category',
  71. 'notes' => 'object_notes',
  72. 'website' => 'object_url',
  73. 'freebusyUrl' => 'object_freebusyurl',
  74. 'pgpPublicKey' => 'object_pgppublickey',
  75. 'smimePublicKey' => 'object_smimepublickey',
  76. ),
  77. 'tabs' => array(
  78. _("Personal") => array('firstname', 'lastname', 'middlenames',
  79. 'namePrefix', 'nameSuffix', 'name', 'alias',
  80. 'birthday'),
  81. _("Location") => array('homeStreet', 'homePOBox', 'homeCity',
  82. 'homeProvince', 'homePostalCode', 'homeCountry',
  83. 'workStreet', 'workPOBox', 'workCity',
  84. 'workProvince', 'workPostalCode', 'workCountry',
  85. 'timezone'),
  86. _("Communications") => array('email', 'homePhone', 'workPhone',
  87. 'cellPhone', 'fax', 'pager'),
  88. _("Organization") => array('title', 'role', 'company'),
  89. _("Other") => array('category', 'notes', 'website', 'freebusyUrl',
  90. 'pgpPublicKey', 'smimePublicKey'),
  91. ),
  92. 'search' => array(
  93. 'name',
  94. 'email'
  95. ),
  96. 'strict' => array(
  97. 'object_id',
  98. 'owner_id',
  99. 'object_type',
  100. ),
  101. 'export' => true,
  102. 'browse' => true,
  103. 'use_shares' => true,
  104. 'list_name_field' => 'lastname',
  105. );

Créer la table dans la base de données:

  1. mysql -u root -p horde < /usr/share/doc/turba2/examples/scripts/sql/turba.sql

On active turba:

Comme d'hab, dans le fichier /etc/horde/horde3/registry.php

Kronolith

C'est le calendrier

Installation:

  1. apt-get install kronolith2
  2. chmod 777 /etc/horde/kronolith2/conf.php
  3. touch /etc/horde/kronolith2/conf.bak.php
  4. chmod 777 /etc/horde/kronolith2/conf.bak.php

Générer la configuratiion

hordeconfagenda.png

La table dans la base de données

  1. mysql -u root -p horde < /usr/share/doc/kronolith2/examples/scripts/sql/kronolith.mysql.sql

Activer Kronolith

dans le fichier /etc/horde/horde3/registry.php

Permettre la synchronisation du calendrier avec lightning

On installe webdav:

  1. pear install HTTP_WebDAV_Server-beta

Ouvrez votre agenda dans horde et cliquez sur le point d'exclamation à coté de "|X|agenda de votre@mail.fr" kronolithsynchro.png

Sélectionnez et copiez l'adresse donnée.

Dans Thunderbird lightning. (Ne faites pas attention je suis sur une ubuntu 64 bits tout de suite, le lightning pour 64 bits que j'ai installé est le premier que j'ai trouvé... en anglais)

Calendrier -> nouveau calendrier -> sur internet -> icalendar-> Copiez la location indiquée précédemment. Il devrait vous demander vos identifiants... éventuellement raffraichissez les agendas pour voir apparaitre vos évènements.

lightning.png

Gollem un gestionnaire de fichiers

installer

  1. apt-get install gollem
  2. touch /usr/share/horde3/gollem/config/conf.bak.php
  3. chmod 777 /usr/share/horde3/gollem/config/conf.bak.php
  4. chmod 777 /usr/share/horde3/gollem/config/conf.php

le backends

/etc/horde/gollem/backends.php Je choisis le ftp avec les crédentials de horde. (ça tombe bien pour ingo, on a prévu le truc), par contre, on ne met pas les users directement dans leur dossier qui contient le maildir. direction un dossier ftp 'home' => '/home/virtual/%u/ftp', ça demande une authentification... pas bien génant, je m'y pencherai plus tard (je vous l'ai écrit que je fatiguais)

  1. <?php
  2.  
  3. // This backend uses Horde credentials to automatically log in.
  4. $backends['hordeftp'] = array(
  5. 'name' => 'FTP Server',
  6. 'driver' => 'ftp',
  7. 'preferred' => '',
  8. 'hordeauth' => false,
  9. 'params' => array(
  10. // The hostname/IP Address of the FTP server.
  11. 'hostspec' => '127.0.0.1',
  12. // The port number of the FTP server.
  13. 'port' => 21,
  14. // Use passive mode?
  15. 'pasv' => true,
  16. // Set timeout (in seconds) for the FTP server. Default: 90 seconds
  17. // 'timeout' => 90,
  18. // If true and the POSIX extension is available the driver will map
  19. // the user and group IDs returned from the FTP server with the local
  20. // IDs from the local password file. This is useful only if the FTP
  21. // server is running on localhost or if the local user/group
  22. // IDs are identical to the remote FTP server.
  23. // You must be running a version of Horde >= 3.1 for this parameter to
  24. // have any effect.
  25. // 'maplocalids' => true,
  26. // The default permissions to set for newly created folders and files.
  27. // 'permissions' => '750'
  28. ),
  29. 'loginparams' => array(
  30. // Allow the user to change the FTP server.
  31. // 'hostspec' => 'Hostname',
  32. // Allow the user to change the FTP port.
  33. // 'port' => 'Port'
  34. ),
  35. // 'root' => '',
  36. 'home' => '/home/virtual/%u/ftp',
  37. 'createhome' => true,
  38. // 'filter' => '^regex$',
  39. // 'quota' => false,
  40. 'clipboard' => true,
  41. 'attributes' => array('type', 'name', 'download', 'modified', 'size', 'permission', 'owner', 'group')
  42. );

Puis le générer et l'activer

Comme d'hab, je fatique là...

Nag, un gestionnaire de tâches.

Installer:

  1. apt-get install nag2
  2. chmod 777 /etc/horde/nag2/conf.php
  3. touch /etc/horde/nag2/conf.bak.php
  4. chmod 777 /etc/horde/nag2/conf.bak.php

Générer la configuration

(sql driver)

La table dans la base horde

  1. mysql -u root -p horde < /usr/share/doc/nag2/examples/scripts/sql/nag.sql

L'activer

dans le fichier /etc/horde/horde3/registry.php

Mnemo

  1. apt-get install mnemo2
  2. touch /usr/share/horde3/mnemo/config/conf.bak.php
  3. chmod 777 /usr/share/horde3/mnemo/config/conf.bak.php
  4. chmod 777 /usr/share/horde3/mnemo/config/conf.php

la base de données:

  1. mysql -u root -p horde < /usr/share/doc/mnemo2/examples/scripts/sql/mnemo.sql

Le générer et l'activer

et là il y a un bug ''PHP Fatal error: Class 'DB' not found in /usr/share/horde3/mnemo/lib/Driver/sql.php on line 98.'' (j'ai pas mis le toute dernière version) Pour le corriger, dans le fichier incriminé, ajoutez dans une ligne au dessus de la n°98: require_once 'DB.php';[4]

Passwd, Le module de changement de mot de passe.

Là aussi , merci starbridge pour la solution.

installation

  1. apt-get install sork-passwd-h3
  2. touch /usr/share/horde3/passwd/config/conf.php
  3. chmod 777 /usr/share/horde3/passwd/config/conf.php
  4. touch /usr/share/horde3/passwd/config/conf.bak.php
  5. chmod 777 /usr/share/horde3/passwd/config/conf.bak.php

le backends /etc/horde/passwd3/backends.php

pensez à changer le mot de passe

  1. <?php
  2. $backends['sql'] = array (
  3. 'name' => 'Horde',
  4. 'preferred' => 'SELECTED',
  5. 'password policy' => array(
  6. /* Ici vous definissez les regles d acceptation de mot de passe ( cf plus haut dans le fichier pour toutes les rules) */
  7. 'minLength' => 3,
  8. 'maxLength' => 20,
  9. 'maxSpace' => 0,
  10. ),
  11. 'driver' => 'sql',
  12. 'params' => array(
  13. 'phptype' => 'mysql',
  14. 'hostspec' => 'localhost',
  15. 'username' => 'postfix',
  16. 'password' => '*****',
  17. 'encryption' => 'crypt-md5',
  18. 'database' => 'postfix',
  19. 'table' => 'mailbox',
  20. 'user_col' => 'username',
  21. 'pass_col' => 'password',
  22. 'show_encryption' => false,
  23. )
  24. );

Activer passwd

Au moment du test, il y a eu un message d'erreur, mais ça a bien marché. (testé en imap et dans horde)

Conclusion...

C'est classe... un grand pas (nous sommes assez retardataires) vers la modernité... par le libre, Je sais je fatigue... horde.png

Déploiement demain (je n'ai même pas pris le temps de tester l'arrivée de mails depuis l'extérieur).... on verra bien...

2/06/2009:

arrrrrg!

mon script à la con!!! Il lui manquait quelques trucs... et j'espérais qu'il écrase la configuration, mais les fichiers présents n'ont pas été remplacés... une erreur de typo sur un des fichiers de certificats....

Tout à l'heure quand j'ai enfin réouvert le port 25 et envoyé la commande mailq -q sur le Backup MX j'étais soulagé.... bon du coup, je n'ai pas encore installé horde. Les comptes mails étaient des users unix par contre, le déplacement des boites s'est fait sans problème avec un petit script.

A suivre...

Mettre à jour, Upgrader Horde

déplacer la version actuelle de Horde.

  1. mv /usr/share/horde3 /usr/share/horde3.old

Installer la nouvelle version.

On la trouvera A la date de rédaction de ce billet, c'est la 3.3.4

  1. cd ~
  2. #télécharger:
  3. wget ftp://ftp.horde.org/pub/horde/horde-3.3.4.tar.gz
  4. #Décompresser:
  5. tar -xzvf horde-3.3.4.tar.gz
  6. #Pousser le dossier au bon endroit
  7. mv horde-3.3.4 /usr/share/horde3

Récupérer les modules et les fichiers de config de l'ancienne version.

Pour les modules (j'entends par là IMP Kronolith etc...) il suffit de pousser les répertoires dans le nouveau de horde. Pour les fichiers de config, idem, mais il y aura peut etre une upgrade à effectuer.

  1. #les fichiers de conf
  2. mv /usr/share/horde3.old/config/conf.php /usr/share/horde3/config/conf.php
  3. mv /usr/share/horde3.old/config/registry.php /usr/share/horde3/config/registry.php
  4. #les modules
  5. cd /usr/share
  6. cp -R horde3.old/passwd horde3/
  7. cp -R horde3.old/imp horde3/
  8. cp -R horde3.old/gollem horde3/
  9. cp -R horde3.old/kronolith horde3/
  10. cp -R horde3.old/mnemo horde3/
  11. cp -R horde3.old/ingo horde3/
  12. cp -R horde3.old/turba horde3/

Upgrade des bases de données et des fichiers de conf:

Pour chaque upgrade la procédure est donnée

Pour cette version, j'exécute simplement le script.

  1. php /usr/share/horde3/scripts/upgrades/2008-08-29_fix_mdb2_sequences.php

Upgrade IMP Kronolith...

Le principe est le même, juste qu'on n'aura pas à pousser les modules. Zieuter dans la docs/UPGRADING du module.

Pour IMP par exemple http://www.horde.org/imp/docs/?f=UPGRADING.html

Exemple pour IMP:

  1. cd /usr/share/horde3
  2. mv imp imp.old
  3. wget ftp://ftp.horde.org/pub/imp/imp-h3-4.3.4.tar.gz
  4. tar -xzvf imp-h3-4.3.4.tar.gz
  5. mv imp-h3-4.3.4 imp
  6. rm imp-h3-4.3.4.tar.gz
  7. cp imp.old/config/conf.php imp/config/
  8. cp imp.old/config/servers.php imp/config/
  9. cp imp.old/config/prefs.php imp/config/
  10. cp imp.old/config/mime_drivers.php imp/config/

sécuriser l'installation

Il suffit d'éxécuter ce script:

  1. sh /usr/share/horde3/scripts/set_perms.sh

Notes

[1] Open X change aussi sûrement

[2] Licence Creative Commons http://creativecommons.org/licenses/by-sa/3.0/deed.fr

[3] et plus de 400 MO de binaires à installer.

[4] http://bugs.horde.org/ticket/7648

- page 1 de 2


Tous les billets de cette catégorie:

Propulsé par Dotclear