32
Horde Installation et configuration sur un système Zentyal

procédure Horde

  • Upload
    tranb25

  • View
    282

  • Download
    0

Embed Size (px)

Citation preview

Page 1: procédure Horde

Horde

Installation et configurationsur

un système Zentyal

Page 2: procédure Horde

Descriptions:

Horde est un projet visant a créer une application collaborative simple et accessible basé sur le « horde framework ». Dans ce but a été conçu une plateforme d'émail horde connu sous le nom de « Horde Groupware Webmail Edition ». Le regroupement de plusieurs modules indépendant permet à ce webmail d'être un des mieux noté du moment.

il a notamment été mis en place dans plusieurs écoles et universités françaises comme l'école Centrale de Nantes ou bien l'esup de Paris.

Zentyal est une distribution Linux basé sur Ubuntu server 10.04 LTS. Ainsi il bénéficie de tout les avantages de cette distribution, de plus il ajoute un bureau simple et fonctionnel ainsi qu'une interface web de gestion pour les services du serveur.

Zentyal est par ces propres concepteurs comparé à Windows small business et ce propose donc d'être une solution pour les entreprises modestes voulant un système performant et simple d'utilisation.

Page 3: procédure Horde

Serveur Zentyal :

Au préalable les services suivant devront être installés :

les mis a jours de tout ces services devront être faites avant de commencer l'installation de horde.

De plus, afin de faciliter l'installation et la configuration de horde, il sera installer les utilitaires suivant :

luma : pour le LDAP phppgadmin: pour la base de données postgresql

Page 4: procédure Horde

L'installation de horde peut maintenant commencer :

Installation du paquet :> apt-get install horde3

Aller dans le dossier /etc/apache2/sites-available/, une fois là, créer un fichier « horde » et l'éditer avec les paramètres suivant :

Alias /horde3 /usr/share/horde3

<Directory /usr/share/horde3/> DirectoryIndex index.php Options -Indexes +FollowSymLinks AllowOverride Options

Order allow,deny Allow from all

</Directory>

Ce fichier est la configuration et la déclaration du site de horde dans apache, lancer cette commande pour l'activer:

> a2ensite horde

Relancer apache :> /etc/init.d/apache2 restart

Dans un navigateur, se rendre sur 'Http://IP du serveur/horde3/test.php', là une fenêtre s'affiche, elle recense tout les modules étant utile à horde qui sont manquant.

Tout les modules ne sont pas obligatoire pour un fonctionnement basique de horde.Les pages suivantes vont montrer un exemple de 'test.php' avec quelques commande

pour installer certain modules.Pour les modules contenus dans « php Module Capabilities » après l'installation d'un

module si cela est demandé dans la console il faut ensuite aller dans /etc/php5/conf.d/ pour créer le fichier correspondant :

Par exemple pour le module « GEOIP » créer le fichier :/etc/php5/conf.d/geoip.ini.

Et l'éditer :« extension=geoip.so »

De plus certains de ces modules, selon le cas rencontré, auront besoin de prérequis spécifiques pour s'installer, par exemple pour GEOIP exécuter au préalable les commandes suivantes :

>apt-get install php5-dev>apt-get install re2c

Page 5: procédure Horde
Page 6: procédure Horde

Depuis sa dernière version, php ne supporte plus l'extension « mime_magic » celle ci a en effet été remplacé par l'extension « fileinfo ».

Page 7: procédure Horde

Lorsque tout les modules ( selon les cas ) seront sur « Yes » il sera alors possible d'accéder à la page d'administration de horde en tant que « Administrator ».

http://IP du serveur/horde3/

Une page blanche avec une unique phrase apparaît et invite l'utilisateur a se rendre dans un fichier de documentation. Après la lecture de ce fichier se rendre sur le fichier suivant :

/etc/horde/horde3/conf.d

Une fois a l'intérieur commenter les lignes 2 et 3, enregistrer et retourner à l'adresse précédente. La configuration de horde est maintenant totalement accessible. Avant de commencer à configurer il faut qu'Apache en soit le propriétaire :

> chown -R www-data:www-data /etc/horde/

Page 8: procédure Horde

Le premier onglet à configurer est celui de « Authentication », il est très important d'inscrire dans le premier champs le nom de, la ou les personnes qui auront en charge l'administration de horde pour le reste voir l'exemple suivant montrant une authentification par le LDAP :

Une fois tout les champs renseigner, cliquer sur « Générer la configuration de horde » pour créer le fichier de configuration et son backup dans le dossier de horde.

Ainsi il est possible de retourner en arrière a tout moment en supprimant le fichier /etc/horde/horde3/conf.php et en renommant /etc/horde/horde3/conf.bak.php.

Page 9: procédure Horde

Base de donnée

Pour que horde puisse fonctionner il est nécessaire d'installer une base de donnée, horde en supporte 7 différentes, il y a donc le choix. Zentyal s'installe avec les deux bases de données mysql et postgresql. Le choix s'est posé sur cette dernière pour des raisons de fonctionnalités.

Avant de créer la base de données, rajouter dans le fichier suivant les deux lignes ci après :

/etc/postgresql/8.4/main/pg_hba.conf

Ajouter après la ligne « Database administrative login by UNIX sockets » ,

« local horde horde trust host horde horde 127.0.0.1/32 trust »

Redémarrer la base de donnée :> /etc/init.d/postgresql-8.4 restart

Ceci va permettre au futur utilisateur « horde » de se connecter à la base de données. Il faut maintenant créer la base de données a l'aide du script « create.pgsql.sql » trouvé dans /usr/share/doc/horde3/examples/script/sql et des commandes suivantes :

> su - postgres> psql -d template1 -f create.pgsql.sql

Le script va lancer la base de données « horde » avec un utilisateur « horde ». Il sera nécessaire de définir le mot de passe pour cet utilisateur avec cette commande si les lignes correspondantes dans le script n'ont pas été décommenté :

> psql -qc « ALTER USER horde WITH PASSWORD 'horde' ;  template1 postgres

Ensuite dans la fenetre de configuration de horde, aller sur l'onglet « Database » et renseigner les champs avec les éléments nécéssaires et générer la configuration.

Page 10: procédure Horde

Les modules

Pour la configuration des modules de horde, il est possible à ce stade de ne seulement cliquer que sur le bouton « générer ». Pour une configuration approfondie voir la partie de ce document dédié a ce sujet.

Maintenant il faut installer les modules de horde suivant:

IMP4 : service de mail TURBA2 : carnet d'adresse KRONOLITH2 : agenda collaboratif NAG2 : gestionnaire de tache DIMP1 : module d'affichage dynamique pour IMP4

1-Installation de IMP4

Installer le paquet :> apt-get install imp4

Faire d'apache le propriétaire du dossier pour pouvoir générer la configuration :> chown -R www-data:www-data /etc/horde/imp4

A l'aide de phppgadmin, injecter les tables SQL du fichier suivant dans la base de données :

/usr/share/doc/imp4/examples/script/sql/imp.sql

A partir du navigateur dans l'onglet 'administration' puis 'setup', il est possible de générer la configuration de imp4.

Une fois la configuration effectué, éditer le fichier : /etc/horde/horde3/registry.php

Là, trouver le paragraphe correspondant a imp4 et mettre le statut sur 'actif' :

$this->applications['imp'] = array( 'fileroot' => '/usr/share/horde3/lib' . '/../imp', 'webroot' => $this->applications['horde']['webroot'] . '/imp', 'name' => _("Mail"), 'status' => 'active', 'provides' => array('mail', 'contacts/favouriteRecipients')

Page 11: procédure Horde

Enfin, éditer le fichier /etc/horde/imp4/servers.php , et entrer les paramètres souhaités dans un des exemples donnés dans ce fichier :

$servers['imap'] = array( 'name' => 'Zentyal-2', 'server' => 'Zentyal-2.pep19.local', 'hordeauth' => false, 'protocol' => 'imap/ssl/novalidate-cert', 'port' => 993, 'maildomain' => 'pep19.test3', 'smtphost' => 'smtp.example.com', 'smtpport' => 25, 'realm' => '', 'preferred' => ''

Le webmail est maintenant configuré.

2-Installation de TURBA2

Installer le paquet :> apt-get install turba2

Il est conseillé d'installer aussi le paquet php-net-ldap :> apt-get install php-net-ldap

Faire d'apache le propriétaire du dossier pour pouvoir générer la configuration :> chown -R www-data:www-data /etc/horde/turba2

A l'aide de phppgadmin,dans la base de données, injecter les tables SQL du fichier suivant :

/usr/share/doc/turba2/examples/script/sql/turba.pgsql.sql

A partir du navigateur dans l'onglet 'administration' puis 'setup' il est possible de générer la configuration de turba2.

Une fois la configuration effectuée, editer le fichier : /etc/horde/horde3/registry.php

Là, trouver le paragraphe correspondant a turba2 et mettre le statut sur 'actif'.

Aller sur le fichier /etc/horde/turba2/sources.php, éditer à partir de là les paramètres en fonction du cas rencontré.

Page 12: procédure Horde

Voici un exemple de connexion au LDAP :

$cfgSources['localldap'] = array( 'title' => 'PEP19', 'type' => 'ldap', 'params' => array( 'server' => 'zentyal.pep19.local', 'port' => 389, 'tls' => false, 'root' => 'ou=Users,dc=zentyal,dc=pep19,dc=local ', // 'bind_dn' => 'cn=ebox,dc=zentyal,dc=pep19,dc=local ', // For Active Directory: // 'bind_dn' => '[email protected]', // 'bind_password' => '****************', 'sizelimit' => 200, // For Active Directory: // 'sizelimit' => 0, 'dn' => array('cn'), 'objectclass' => array('inetOrgPerson',

'posixAccount'), // Add 'turbaContact' to this array if

// using // 'turbaType' attribute below, and

// 'calEntry' // if using 'freebusyUrl'. // For Active Directory: // 'objectclass' => array('organizationalPerson', // 'user', // 'group', // 'contact'), 'scope' => 'one', // For Active Directory: // 'scope' => 'sub', 'charset' => 'utf-8',

// Consult the LDAP schema to verify that all required // attributes for

// an entry are set and add them if needed. 'checkrequired' => false, // Value used to fill in missing required attributes. 'checkrequired_string' => ' ', // Check LDAP schema for valid syntax. If this is false an

// address // field is assumed to have postalAddress syntax; otherwise

// the schema

Page 13: procédure Horde

// is consulted for the syntax to use. 'checksyntax' => false, 'version' => 3,

// For Active Directory you probably want to also set the // following parameters:

// 'deref' => LDAP_DEREF_ALWAYS, // 'filter' => '&(SAMAccountName=*)(mail=*)', // 'referrals' => 0, ), 'map' => array( '__key' => 'dn',

// Remove this mapping if using Active Directory server: '__uid' => 'uid',

// From horde.schema. Make sure you have // 'turbaContact' objectClass

// included above: // '__type' => 'turbaType', // '__members' => 'turbaMembers',

'name' => 'cn', 'email' => 'mail', 'homePhone' => 'homephone', 'workPhone' => 'telephonenumber', 'cellPhone' => 'mobiletelephonenumber', 'homeAddress' => 'homepostaladdress',

// From rfc2739.schema: // 'freebusyUrl' => 'calFBURL',

// For Active Directory servers: // 'name' => 'displayname', // 'title' => 'title', // 'cellPhone' => 'mobile', // 'department' => 'department', // 'company' => 'company', ), 'search' => array( 'name', 'email', 'homePhone', 'workPhone', 'cellPhone', 'homeAddress'

Page 14: procédure Horde

),

'strict' => array( 'dn', ), 'approximate' => array( 'cn', ), // For Active Directory servers: // 'approximate' => array( // 'displayname', // 'samaccountname', // ), 'export' => true, 'browse' => true, );

Le carnet d'adresse est maintenant installé.

3-Installation de kronolith2

Installer le paquet :> apt-get install kronolith2

Faire d'apache le propriétaire du dossier pour pouvoir générer la configuration :> chown -R www-data:www-data /etc/horde/kronolith2

A l'aide de phppgadmin,dans la base de données, injecter les tables SQL du fichier suivant :

/usr/share/doc/kronolith2/examples/script/sql/kronolith.pgsql.sql

A partir du navigateur dans l'onglet 'administration' puis 'setup' il est possible de générer la configuration de kronolith2.

Une fois la configuration générée, éditer le fichier : /etc/horde/horde3/registry.php

Là, trouver le paragraphe correspondant a kronolith2 et mettre le statut sur 'actif'.

Kronolith2 est maintenant installé.

Page 15: procédure Horde

4-Installation de nag2

Installer le paquet :> apt-get install nag2

Faire d'apache le propriétaire du dossier pour pouvoir générer la configuration :> chown -R www-data:www-data /etc/horde/nag2

A l'aide de phppgadmin,dans la base de données, injecter les tables SQL du fichier suivant :

/usr/share/doc/nag2/examples/script/sql/nag.sql

A partir du navigateur dans l'onglet 'administration' puis 'setup' il est possible de générer la configuration de nag2.

Une fois la configuration générée, éditer le fichier : /etc/horde/horde3/registry.php

Là, trouver le paragraphe correspondant a nag2 et mettre le statut sur 'actif'.

Nag2 est maintenant installé.

5-Installation de dimp1

Installer le paquet :> apt-get install dimp1

Faire d'apache le propriétaire du dossier pour pouvoir générer la configuration> chown -R www-data:www-data /etc/horde/dimp1

A partir du navigateur dans l'onglet 'administration' puis 'setup' il est possible de générer la configuration de dimp1.

Une fois la configuration de dimp1 générée, l'installation de horde et de ses modules est alors terminé.

Page 16: procédure Horde

La configuration de horde peut commencer

Pour horde, la configuration est divisée en 31 onglets, seulement 9 de ces onglets ont une importance pour assurer un bon fonctionnement de l'application.

Pour chacun de ces onglets est donné un exemple de configuration :

1-Database

Voir l'exemple donné précedemment.

2-Authentication

Cet onglet est très important, surtout ne pas oublier d'inscrire le nom de l'utilisateur qui aura en charge l'administration de horde.

Dans horde il existe plusieurs moyens pour être authentifier : par le LDAP, par une base de données ou encore par une tierce application comme le webmail.

Au début de cette installation, c'est l'authentification par le LDAP qui a été choisi, toutefois pour des raisons pratiques ( obligation de s'identifier plusieurs fois, 1 fois pour horde, plus 1 fois pour Imp ), cette méthode a été abandonné au profit de celle faite par Imp4 ( une seule identification ).

Pour ce faire, dans la configuration de horde, à l'onglet « authentication » aller sur la ligne « $conf[auth][driver] » et choisir « Let a horde application handle authentication », la fenêtre va se griser et des nouvelles options vont apparaître.

Aller sur l'option « $conf[auth][params][apps] » et choisir « Imp ».

Surtout ne pas oublier d'inscrire dans le champ «   $conf[auth][admins]   » une adresse émail valide dans le serveur de mail appartenant à la personne ayant en charge l'administration de horde.

Page 17: procédure Horde

3-Préférence system

4-DataTree System

Page 18: procédure Horde

5-Groups

6-Permissions

Page 19: procédure Horde

7-Shares

Pour activer les partages, laisser décocher l'option suivante :« $conf[share][no_sharing] »

8-Virtual Files Storage

Page 20: procédure Horde

9-Custom Session Handled

Configuration des modules de horde, ceux-ci ne nécessitent aucune configuration particulière dans notre cas. Un exemple est donné pour chacun d'eux.

1-Imp4

Imp4 est le module avec le plus d'onglets de configuration (8) :

Page 21: procédure Horde
Page 22: procédure Horde
Page 23: procédure Horde

2-Turba2

Page 24: procédure Horde

3-Kronolith2

4-Nag2

Page 25: procédure Horde

5-Dimp1

Page 26: procédure Horde

Conclusion

L'installation et la configuration sont terminées. Toutes les fonctionnalités et options de horde n'ont pu être évoquer dans ce document tellement il en existe de différentes.

Horde est en effet un produit très complet, mais qui a su garder une certaine simplicité dans sa mise en place, il dispose d'une communauté importante et active ce qui lui promet une évolution surement intéressante