Vous pourrez trouver un équivalent en anglais pour RedHat 7.3 à l’adresse suivante http://www.geocities.com/oliversl/imp/ (en anglais)
Dans ce document, nous allons décrire étape par étape les instructions nécessaires pour configurer une interface graphique pour un serveur local de messagerie, basé sur postfix, sur un serveur Mandrake Linux 9.0 (ça devrait aussi bien fonctionner sur 9.1, sur RedHat, ...)
Vous devez auparavant récupérer les paquetages nécessaires à l’installation de l’interface web HORDE 2.1 (Architecture PHP), IMP 3.1 (Client IMAP pour Horde), TURBA 1.1 (Gestionnaire de contacts pour Horde) et PEAR 1.0.1 sur le site de Horde. Le tout est diffusé sous licence libre GNU/GPL.http://www.horde.org
L’équipe de développement de horde, imp et turba développe aussi un calendrier et organiseur journalier nommé "kronolith", un gestionnaire de tâches nommé "nag" et un mémo électronique nommé "mnemo". Le tout est interfaçable avec l’interface web, et aussi disponible sur le site de Horde.
Si vous souhaitez autoriser le changement en ligne de mot de passe pour la boîte à lettres, ce guide décrit aussi l’installation de poppassd, téléchargeable sur rpmfind et de passwd, téléchargeable ici.
Ce guide vous aidera à configurer une installation standard, uniquement testée pour un réseau local, non relié à Internet. Cela doit vous permettre de réaliser un petit serveur de messagerie interne, pour une petite structure, avec une interface graphique ergonomique accessible depuis un navigateur Internet.
Il est ensuite possible de "tuner" votre configuration pour qu’elle corresponde à vos souhaits, ou/et pour réaliser un serveur de messagerie Internet (Le webmail de Free est basé sur horde/imp), mais cela sort du cadre de ce guide et de mes compétences : une attention particulière doit être notamment accordée à la sécurité.
Pré-requis
Pour suivre les instructions ci-dessous, vous aurez besoin d’un minimum de connaissances relatives à Linux, notamment sur l’usage de la console, si vous installez un serveur de messagerie minimum (sans interface graphique type KDE ou Gnome). Il y a aussi quelques saisies d’écran pour ceux qui travaillent en interface graphique et des indices sur cette utilisation.
Nous utiliserons un serveur Mandrake Linux 9.0 avec Apache, Mysql, Php et Postfix fonctionnant correctement. Le nom de domaine du serveur est : mail.domaine.qc.ca
Vous pouvez vérifier le nom de domaine de votre machine avec l’instruction : hostname
Les paquetages suivants doivent être présents :
apache-1.3.26-6mdk
php-4.2.3-1mdk
php-imap-4.2.3-1mdk
php-ldap-4.2.3-1mdk
php-mysql-4.2.3-1mdk
php-xml-4.2.3-1mdk
mysql-3.23.47-5mdk
mysql-client-3.23.47-5mdk
imap-2001a-9mdk
postfix-1.1.11-4mdk
tcp_wrappers-7.6-22mdk
poppassd-ceti-1.8-3mdk
xinetd-2.3.7-3mdk
Les numéros de version des paquetages correspondent à ceux par défaut sur Mandrake 9.0 . Nous vous conseillons de faire des mises à jour (par exemple, même sur Mandrake 9.0, apache est à la version 1.3.27).
Pour visionner les paquetages installés sur votre système :rpm -qa | less (Taper q pour quitter)
Si vous n’avez pas tout, il faut installer les paquetages manquants :
rpm -Fvh nom_du_paquetage.rpm pour mettre à jour un paquetage déjà installé
rpm -ivh nom_du_paquetage.rpm pour installer un nouveau paquetage
* Vous devez avoir les services httpd, mysql, sendmail, xinetd activés. Pour visionner les services fonctionnant :
chkconfig -list | less
Pour mettre en marche un service (exemple avec apache) :
service httpd stop (Arrêt d’Apache)
service httpd start (Mise en marche d’Apache)
service httpd restart (Redémarrage d’Apache)
Pour faire en sorte qu’à chaque démarrage de votre poste, le service Apache fonctionne :
chkconfig apache on
Il faut notamment veiller à bien lancer le service dépendant de xinetd imap :
chkconfig imap on
service xinetd restart
Pour avoir une documentation sur une instruction Linux :
man instruction (exemple : man chkconfig). A propos de la configuration des services, consulter également l’article sur la gestion des démons.
Pour savoir où vous vous situez dans l’arborescence de linux :pwd
Enfin, n’oubliez pas que l’appui sur la touche de tabulation "tab" permet de compléter un nom :
cd /v "tab" donne automatiquement cd /var
Configurer Apache
Le répertoire d’installation sera : /var/www/html/mail/
Fichiers de configuration
Ajouter les lignes suivantes dans le fichier /etc/httpd/conf/httpd.conf. Je ne sais pas si c’est la bonne méthode de procéder mais tout ce que je sais c,est que ça fonctionne. Asserez-vous cependant que vous avez les entrées dns correspondantes au domaine mail.domaine.qc.ca et www.domaine.qc.ca ainsi que les entrées mx pour pouvoir recevoir du courrier sur le nom du domaine. Pour vérifier si vous avez les entrées dns, tapez host www.domaine.qc.ca en ligne de commande ainsi que host mail.domaine.qc.ca pour vérifier si le nom de domaine est bien enregistré. Notez qu’en tappant mail.domaine.qc.ca dans un navigateur, cela nous renvoit dans le dossier /var/www/html/mail et lorsque l’on tappe www.domaine.qc.ca cela nous envoit dans le dossier /var/www/html
NameVirtualHost 111.222.111.222:80
DocumentRoot /var/www/html/mail
ServerName mail.domaine.qc.ca
Port 80
NameVirtualHost 111.222.111.222:80
DocumentRoot /var/www/html/
ServerName www.domaine.qc.ca
Port 80
mkdir -p /var/www/html/mail
Tester Apache
Rdémarrer Apache pour que les changements prennent effet :
service httpd restart
créer un fichier temporaire :
touch /var/www/html/mail/essai.html
puis à l’aide d’un navigateur, aller à l’adresse Internet :
http://mail.domaine.qc.ca.com/essai.html
Remarque : On peut utiliser un navigateur texte comme Lynx pour tester la configuration, si l’on n’a pas installé d’interface graphique sur le serveur ou si aucun poste distant n’est connecté au serveur :
lynx mail.example.com/essai.html
Configurer Horde
Une fois Apache configuré, vous avez besoin d’installer et de configurer Horde.
Installer Horde
A partir du répertoire où vous avez stocké le paquetage Horde, récupéré sur le site Internet de Horde :
tar zxvf horde-2.1.tar.gz -C /var/www/html/mail
cd /var/www/html/mail
mv horde-2.1 horde
Installer Pear
A partir du répertoire où vous avez stocké le paquetage Pear :
cd /usr/share
rm php
tar zxvf pear-1.0.1.tar.gz -C /usr/share
cd /usr/share
mv pear-4.1.0 php
chown root.root -R php
Configurer mysql
Tester si mysql est lancé :
service mysql restart
cd /var/www/html/mail/horde/scripts/db
choisissez un mot de passe pour la base Horde :
vi mysql_create.sql
Créer la base Horde :
mysql < mysql_create.sql
Tester si vous pouvez vous connecter à la base :
mysql -h localhost -u horde -p
Un mot de passe vous est demandé : rentrer celui choisi ci-dessus.
Quitter mysql avec la commande ’exit’
Modifier les fichiers de config Horde
cd /var/www/html/mail/horde/config
Renommer tous les fichiers :
for fichier in *.dist ; do cp -v $fichier $(basename $fichier .dist) ; done
Modifier le fichier /var/www/html/mail/horde/config/horde.php :
// utiliser la compression. Mandrake PHP supporte zlib
$conf[’compress_pages’] = true ;
// utiliser IMAP pour authentifier les utilisateurs
$conf[’auth’][’driver’] = ’imap’ ;
$conf[’auth’][’params’] = array() ;
$conf[’auth’][’params’][’dsn’] = ’localhost:143/imapINBOX’ ;
// utiliser MySQL pour stocker les données de Horde
$conf[’prefs’][’driver’] = ’sql’ ;
$conf[’prefs’][’params’] = array() ;
$conf[’prefs’][’params’][’phptype’] = ’mysql’ ;
$conf[’prefs’][’params’][’hostspec’] = ’localhost’ ;
$conf[’prefs’][’params’][’username’] = ’horde’ ;
$conf[’prefs’][’params’][’password’] = ’my_passwd’ ;
$conf[’prefs’][’params’][’database’] = ’horde’ ;
$conf[’prefs’][’params’][’table’] = ’horde_prefs’ ;
// Le SMTP postfix, pour envoyer les emails
$conf[’mailer’][’type’] = ’smtp’ ;
Note : Si vous préférez sendmail à postfix, installer sendmail et changer la ligne précédente par
$conf[’mailer’][’type’] = ’sendmail’ ;
Remarque : my_passwd est à remplacer par le mot de passe de la base horde mysql choisi au paragraphe Configurer mysql
Modifier le fichier /var/www/html/mail/horde/config/lang.php :
$nls[’defaults’][’language’] = ’fr_FR’ ;
Modifier php.ini
Modifier le fichier /etc/php.ini :
include_path = "/usr/share/php"
Activer l’extension php_xml si ce n’est pas déjà fait en supprimant le ; situé en début de ligne
Redémarrez le service apache :
service httpd restart
Tester Horde
Vous pouvez tester la configuration initiale de Horde en allant avec un navigateur web sur :
http://mail.domaine.qc.ca/horde/test.php
Vous devriez avoir une page ressemblant à ceci
Horde Versions
* Horde : 2.2
* IMP : 3.2 (run IMP tests)
* Turba : 1.1
* Passwd : 2.2
PHP Version
* View phpinfo() screen
* PHP Version : 4.2.3
* PHP Major Version : 4.2
* PHP Minor Version : 3
* PHP Version Classification : release
* You are running a supported version of PHP.
PHP Module Capabilities
* DOM XML Support : Yes
* Gettext Support : Yes
* IMAP Support : Yes
* LDAP Support : Yes
* MCAL Support : No
Ceux-ci ne sont pas important (Les 2 No)
* Mcrypt Support : No
* MySQL Support : Yes
* PostgreSQL Support : Yes
* XML Support : Yes
Miscellaneous PHP Settings
* magic_quotes_runtime disabled : Yes
* file_uploads enabled : Yes
* safe_mode disabled : Yes
* trans_sid disabled : Yes
PHP Sessions
* Session counter : 1
* To unregister the session : click here
PEAR Asserez-vous que tout est à Yes ici
* PEAR - Yes
* Recent PEAR - Yes
* Mail - Yes
* Mail_Mime - Yes
* Log - Yes
* DB - Yes
* Net_Socket - Yes
* Date - Yes
* HTML_Common/HTML_Select - Yes
Valid XHTML 1.0 !
Configurer IMP
Installer IMP
A partir du répertoire où vous avez stocké le paquetage IMP :
tar zxvf imp-3.1.tar.gz -C /var/www/html/mail/horde
cd /var/www/html/mail/horde
mv imp-3.1 imp
Configurer Horde pour IMP
Déclarer IMP dans Horde :
Modifier le fichier /var/www/html/mail/horde/config/registry.php
:
// Décommentez les lignes suivantes
$this->registry[’auth’][’login’] = ’imp’ ;
$this->registry[’auth’][’logout’] = ’imp’ ;
// Décommentez les lignes suivantes
$this->applications[’imp’] = array(
’fileroot’ => dirname(__FILE__) . ’/../imp’,
’webroot’ => $this->applications[’horde’][’webroot’] . ’/imp’,
’icon’ => $this->applications[’horde’][’webroot’] .
’/horde/imp/graphics/imp.gif’,
’name’ => _("Mail"),
’allow_guests’ => false,
’show’ => true
) ;
Configurer les fichiers de config d’IMP
cd /var/www/html/mail/horde/imp/config
Renommer tous les fichiers :
for fichier in *.dist ; do cp -v $fichier $(basename $fichier .dist) ; done
Modifier le fichier
/var/www/html/mail/horde/imp/config/servers.php :
// Modifier ces lignes
$servers[’imap’] = array(
’name’ => ’IMAP Server’,
’server’ => ’localhost’,
’protocol’ => ’imap/notls’,
’port’ => 143,
’folders’ => ’mail/’,
’namespace’ => ’’,
’maildomain’ => ’domaine.qc.ca’,
’smtphost’ => ’mail.domaine.qc.ca’,
’realm’ => ’’,
’preferred’ => ’true’
) ;
Remarque : Il doit être possible à ce niveau de configurer le service sécurisé d’imap (protocol imap/ssl, port 993).
Modifier le fichier /var/www/html/mail/horde/imp/config/pref.php :
// langage de l’utilisateur
// regarder dans /horde/config/lang.php pour les alias de langue
$_prefs[’language’] = array(
’value’ => ’fr_FR’,
’locked’ => false,
’shared’ => true,
’type’ => ’select’,
’desc’ => _("Select your preferred language :")
) ;
// boite postale de l’utilisateur par défaut
// la valeur par défaut INBOX ne peut être changée
$_prefs[’mailbox’] = array(
’value’ => ’INBOX’,
’locked’ => true,
’shared’ => false,
’type’ => ’implicit’
) ;
// Utiliser IMAP
// Montre seulement les répertoires souscrits par IMAP
$_prefs[’subscribe’] = array(
’value’ => 1,
’locked’ => true,
’shared’ => false,
’type’ => ’checkbox’,
’desc’ => _("Use IMAP folder subscriptions")
) ;
// Répertoire des courriers envoyés
// Utilise le même nom que Mozilla, Outlook Express, etc
$_prefs[’sent_mail_folder’] = array(
’value’ => ’Sent’,
’locked’ => false,
’shared’ => true,
’type’ => ’implicit’
) ;
// Répertoire poubelle
// Utilise le même nom que Mozilla, Outlook Express, etc
$_prefs[’trash_folder’] = array(
’value’ => ’Trash’,
’locked’ => false,
’shared’ => false,
’type’ => ’implicit’
) ;
Tester IMP
Vous pouvez tester la configuration initiale de IMP en allant avec un navigateur web sur :
http://mail.domaine.qc.ca/horde/imp/
Se logger avec un utilisateur/passe valide (en l’occurrence un compte pop valide).
Essayer d’envoyer des mails à un autre compte et à vous même.
Utiliser une adresse mail du type utilisateur@mail.domaine.qc.ca
Pour créer un compte sans possibilité de connection sur votre serveur, uniquement destiné à la messagerie :
useradd -c "nom_utilisateur ou commentaire" -s /bin/false -g popusers nom_utilisateur
Puis définir le mot de passe du compte nouvellement créé avec passwd :
passwd nom_utilisateur
Remarque 2 : Vous pouvez aussi modifier le fichier ’trailer.txt’ situé dans /horde/imp/config/. Ce fichier vous permet d’ajouter un texte à la fin de tous les mails qui seront envoyés par IMP. Par défaut, le texte suivant est ajouté à tous les messages : This mail sent through IMP : http://horde.org/imp/. Si vous ne voulez rien ajouter, effacer tout ce qu’il y a dans ce fichier.
Configurer Turba
Maintenant que vous pouvez lancer Horde et IMP, vous avez besoin d’un carnet d’adresses afin de gérer vos contacts.
Installer Turba
A partir du répertoire où vous avez stocké le paquetage IMP :
tar xzf turba-1.1.tar.gz -C /var/www/html/mail/horde
cd /var/www/html/mail/horde
mv turba-1.1 turba
cd /var/www/html/mail/horde/turba/config
Renommer tous les fichiers :
for fichier in *.dist ; do cp -v $fichier $(basename $fichier .dist) ; done
Configurer Horde pour Turba
Déclarer Turba dans Horde :
Modifier le fichier /var/www/html/mail/horde/config/registry.php :
// Décommenter les lignes suivantes
$this->applications[’turba’] = array(
’fileroot’ => dirname(__FILE__) . ’/../turba’,
’webroot’ => $this->applications[’horde’][’webroot’] . ’/turba’,
’icon’ => $this->applications[’horde’][’webroot’]
.’/horde/turba/graphics/turba.gif’,
’name’ => _("Addressbook"),
’allow_guests’ => false,
’show’ => true
) ;
Configurer dans IMP l’icône pour Turba :
Modifier le fichier /var/www/html/mail/horde/imp/config/conf.php :
$conf[’menu’][’apps’] = array(’turba’) ;
Configurer dans Turba l’icône pour IMP :
Modifier le fichier
/var/www/html/mail/horde/turba/config/conf.php :
$conf[’menu’][’apps’] = array(’imp’) ;
Modifier le fichier
/var/www/html/mail/horde/turba/config/prefs.php :
// Language de l’utilisateur
// Règler le même langage par défaut que Horde et IMP
$_prefs[’language’] = array(
’value’ => ’fr_FR’,
’locked’ => false,
’shared’ => true,
’type’ => ’select’,
’desc’ => _("Select your preferred language :")
) ;
Configurer Turba pour utiliser MySQL pour enregistrer les données des contacts :
Modifier le fichier /var/www/html/mail/horde/turba/config/sources.php :
// Compléter cette partie de la configuration avec les données
// de la base de données comme dans /horde/config/horde.php
// Configurer aussi le titre dans votre langue
$cfgSources[’localsql’] = array(
’title’ => ’IMP Address Book’,
’type’ => ’sql’,
’params’ => array(
’phptype’ => ’mysql’,
’hostspec’ => ’localhost’,
’username’ => ’horde’,
’password’ => ’my_passwd’,
’database’ => ’horde’,
’table’ => ’turba_objects’
),
) ;
Remarque : my_passwd est à remplacer par le mot de passe de la base horde mysql choisi au paragraphe Configurer mysql
Configurer MySQL pour Turba
Créer la base dans MySQL que Turba utilisera :
cd /var/www/html/mail/horde/turba/scripts/drivers/
mysql < turba.sql
Tester Turba
Vous pouvez tester la configuration initiale de Turba en allant avec un navigateur web sur :
http://mail.domaine.qc.ca/horde/
Créer une nouvelle entrée dans le carnet d’adresse et aller dans IMP, puis Options et choisissez d’utiliser le carnet d’adresses avec le nom "IMP Address Book".
Configurer poppassd (optionnel : non sécurisé)
Maintenant que vous avez configuré Horde avec IMP et Turba, vous avez besoin de fournir à vos utilisateurs une méthode pour changer leur mot de passe au travers de Horde.
Installer poppassd-ceti
rpm -ivh poppassd-ceti-1.8-3mdk.i586.rpm
Activer le service poppassd :
chkconfig poppassd on
service xinetd restart
Installer passwd pour IMP
A partir du répertoire où vous avez stocké le paquetage IMP :
tar zxvf passwd.tgz -C /var/www/html/mail/horde/
cd /var/www/html/mail/horde/
cd passwd
cd /var/www/html/mail/horde/passwd/config
Renommer tous les fichiers :
for fichier in *.dist ; do cp -v $fichier $(basename $fichier .dist) ; done
Configurer Horde pour Passwd
Modifier le fichier /var/www/html/mail/horde/config/registry.php :
$this->applications[’passwd’] = array(
’fileroot’ => dirname(__FILE__) . ’/../passwd’,
’webroot’ => $this->applications[’horde’][’webroot’] . ’/passwd’,
’icon’ => $this->applications[’horde’][’webroot’] . ’/passwd/graphics/lock.gif’,
’name’ => _("Password"),
’allow_guests’ => false,
’show’ => true
) ;
Configurer IMP pour Passwd
Configurer l’icône pour Passwd dans IMP :
Modifier le fichier /var/www/html/mail/horde/imp/config/conf.php
:
$conf[’menu’][’apps’] = array(’turba’, ’passwd’) ;
Configurer le fichier de config de Passwd
Configurer l’icône pour IMP dans Passwd :
Modifier le fichier /var/www/html/mail/horde/passwd/config/conf.php :
$conf[’menu’][’apps’] = array(’imp’) ;
Tester Passwd
Vous pouvez tester la configuration initiale de Turba en allant avec un navigateur web sur :
http://mail.domaine.qc.ca/horde/imp
Changez votre mot de passe. Attention : n’importe quel mot de passe de n’importe quelle longueur sera accepté car poppassd est lancé sous l’identité root.
Note : Si vous utiliser sendmail et que vous êtes capables d’envoyer du courriel avec l’interface web mais incapable d’en recevoir, assurez-vous que le fichier /etc/mail/local-host-names contient les lignes domaine.qc.ca
domaine.qc.ca



