====== CASsification de dovecot par PAM ====== ===== Introduction ===== Si vous avez bien suivi cette documentation, vous avez normalement [[braveo:docinstall:cas:proxying:presentation|compris pourquoi il était nécessaire de CASsifier le serveur imap]] et vous [[braveo:docinstall:cas:pam|avez aussi conçu une pile PAM]]. Nous allons maintenant configurer dovecot pour utiliser cette pile PAM et par conséquent relier d'identification de dovecot au serveur CAS tout en gardant l'identification LDAP. \\ \\ ===== Configuration de Dovecot ===== C'est relativement simple, vous avez juste à changer le block 'passdb' en : passdb pam { args = dovecot } Ceci pour indiquer à dovecot d'utiliser la pile PAM **/etc/pam.d/dovecot**. Vous avez donc deviné la suite ? \\ \\ ===== Placer la pile PAM ===== Bah il ne reste plus qu'à placer la pile PAM dans **/etc/pam.d/dovecot** Qui par exemple pour maison du libre est comme ceci : auth sufficient /lib/security/pam_ccreds.so action=validate service_specific auth [success=1 new_authtok_reqd=done default=ignore] /lib/security/pam_cas.so -simap://mail.mdl29.net -f/etc/pam_cas.conf auth [success=ok new_authtok_reqd=done default=die] /lib/security/pam_ldap.so auth optional /lib/security/pam_ccreds.so action=store timeout=300 service_specific account required /lib/security/pam_ldap.so @include common-auth @include common-account @include common-session Puis on relance dovecot, histoire que tous ces changements soient pris en compte : service dovecot restart \\ \\ ===== Test à l'aide d'un petit script PHP ===== Maintenant que tout devient plus concret on va faire des petits tests, à l'aide de ce {{:braveo:docinstall:cas:casimap.php.zip|script php (à dé-zipper )}}. Vous aurez besoin de la libraire phpCas pour l'utiliser. ==== Adaptations de la librairie phpCas ==== La librairie phpCas a évolué depuis la mise au point du script casimap.php, il est nécessaire de faire quelques petites adaptations essentiellement changer des méthodes privées pour les rendre publiques. Vous devez donc changer les méthodes suivantes (remplacer **private** par **public**) : public function getServerBaseURL() [......] public function getPGT() [......] public function hasPGT() [......] public function retrievePT($target_service,&$err_code,&$err_msg) [......] public function getURL() ==== Configuration de casimap.php ==== Vous devez aussi configurer certaines variables de casimap.php, pour les tests de maison du libre nous avions : $cas_hostname="cas.mdl29.net"; $cas_port=443; $cas_uri=''; $imap_server="192.168.10.143"; //Serveur mail de test $imap_port=143; $imap_box="INBOX"; $imap_service="imap://$imap_server"; include_once('CAS.php'); //Adaptez le chemin ==== On passe aux tests ==== Plus qu'a vous rendre à l'adresse du fichier (doit être sur un hôte sécurisé **https**). Vous pourrez ainsi tester l'authentification classique et celle via le CAS. Si vous ne comprenez pas le fonctionnement de ce script référez vous aux [[braveo:docinstall:cas:proxying:presentation|explications théoriques]]. \\ \\ Voilà votre serveur imap est CASsifié !! Bon plus qu'a CASsifier l'interface roundcube. \\ \\ \\ \\ \\ \\ Prêts a poursuivre ? CASsifier roundcube [[braveo:docinstall:cas:roundcube| CASsification de l’interface roundcube]] ---- Rédigé par Benjamin Bernard \\ Source : [[http://wiki.dovecot.org/PasswordDatabase/PAM|PasswordDatabase/PAM - Dovecot Wiki]]