Installation Horde
Transcription
Installation Horde
Installation Horde Support de TP Objet Installer un horde-webmail, inclus les fonctionnalités CAS se basant sur cyrus-imapd, saslauthd et postfix Référence TP-Installation Horde Utilisation et diffusion de ce document Il est de la responsabilité de chacun des destinataires de ce document de ne pas le rediffuser en dehors du cadre pour lequel il a été écrit. http://www.esup-portail.org 1/11 Support de TP – installation Horde A. Installation horde-webmail .............................................................................................................. 3 B. Configuration Apache...................................................................................................................... 4 C. Création Mysql ................................................................................................................................. 5 D. Script d’installation.......................................................................................................................... 6 E. Install de la casification esup.......................................................................................................... 7 F. Installation et configuration pam_cas ............................................................................................ 8 G. Configuration de base ..................................................................................................................... 9 H. Configuration avancée .................................................................................................................. 10 n°1. Cas ........................................................................................................................................... 10 n°2. Récupération de nom et adresse mail dans LDAP .................................................................... 10 n°3. Carnet d’adresse LDAP dans turba ........................................................................................... 10 n°4. Application initiale ..................................................................................................................... 11 n°5. Ne pas afficher la date de dernière connexion .......................................................................... 11 Utilisation et diffusion de ce document Il est de la responsabilité de chacun des destinataires de ce document de ne pas le rediffuser en dehors du cadre pour lequel il a été écrit. http://www.esup-portail.org 2/11 Support de TP – installation Horde A. Installation horde-webmail Nous avons besoin décompresser l’archive fournit par horde.org et de créer les dossiers afférant au fonctionnement du Webmail. cd ~esup/ mkdir webmail cd webmail tar -zxf ~esup/INSTALLATION/partage/horde/horde-webmail-1.2.5.tar.gz mv horde-webmail-1.2.5 horde mkdir sessions tmp logs sudo chown esup:www-data sessions sudo chown esup:www-data tmp sudo chown esup:www-data logs sudo chmod 774 sessions sudo chmod 774 tmp sudo chmod 774 logs Control : ls /home/esup/webmail/horde/ admin COPYING docs index.php js lib login.php mnemo notconfigured.html po rpc scripts signup.php test.php turba config dimp imp ingo kronolith locale mimp nag pear README rpc.php services templates themes util Utilisation et diffusion de ce document Il est de la responsabilité de chacun des destinataires de ce document de ne pas le rediffuser en dehors du cadre pour lequel il a été écrit. http://www.esup-portail.org 3/11 Support de TP – installation Horde B. Configuration Apache Définition de horde au niveau apache : sudo cp ~esup/INSTALLATION/partage/horde/webmail.conf /etc/apache2/conf.d/webmail.conf sudo /etc/init.d/apache2 restart Fichier de configuration : Alias /horde /home/esup/webmail/horde <Directory /home/esup/webmail/horde> AcceptPathInfo On Options +FollowSymLinks php_flag engine on php_admin_flag safe_mode off php_flag register_globals off php_flag magic_quotes_gpc off php_flag magic_quotes_runtime off php_admin_flag register_argc_argv off php_admin_flag allow_url_fopen on php_value include_path "/home/esup/webmail/horde/pear" php_admin_value open_basedir "/home/esup/webmail/" php_admin_flag register_argc_argv off php_admin_value memory_limit -1 php_admin_value session.save_path "/home/esup/webmail/sessions" php_admin_flag file_uploads on php_admin_value upload_tmp_dir "/home/esup/webmail/tmp" php_value upload_max_filesize 10M php_flag log_errors on php_admin_value error_reporting E_ERROR php_admin_value error_log /home/esup/webmail/logs/php_err.log php_admin_value display_errors 0 </Directory> <DirectoryMatch "^/home/esup/webmail/horde/(.*/)?(config|lib|locale|po|scripts|templates)/(.*)?"> Order Deny,Allow Deny from all </DirectoryMatch> <LocationMatch "^/(.*/)?test.php"> Order Deny,Allow Deny from all Allow from 127.0.0.1 localhost </LocationMatch> Utilisation et diffusion de ce document Il est de la responsabilité de chacun des destinataires de ce document de ne pas le rediffuser en dehors du cadre pour lequel il a été écrit. http://www.esup-portail.org 4/11 Support de TP – installation Horde C. Création Mysql Horde doit disposer d’une base pour stocker les préférences utilisateurs. mysql -u root --password="esup" < ~esup/INSTALLATION/partage/horde/create.sql Contrôle : mysql -u webmail --password="webmail" -e "SHOW DATABASES" +--------------------+ | Database | +--------------------+ | information_schema | | webmail | +--------------------+ Utilisation et diffusion de ce document Il est de la responsabilité de chacun des destinataires de ce document de ne pas le rediffuser en dehors du cadre pour lequel il a été écrit. http://www.esup-portail.org 5/11 Support de TP – installation Horde D. Script d’installation Horde fournit un script permettant de préconfigurer le logiciel : cd /home/esup/webmail/horde/scripts ./setup.php Utilisation et diffusion de ce document Il est de la responsabilité de chacun des destinataires de ce document de ne pas le rediffuser en dehors du cadre pour lequel il a été écrit. http://www.esup-portail.org 6/11 Support de TP – installation Horde E. Install de la casification esup cd ~esup/webmail/ tar -zxf ~esup/INSTALLATION/partage/horde/esup-horde-1.2.x-cas-1.2.tar.gz cp esup-horde-1.2.x-cas-1.2/libs/casProxy.php ~esup/webmail/horde/ cp esup-horde-1.2.x-cas-1.2/libs/cas.php ~esup/webmail/horde/lib/Horde/Auth/ patch -p 0 < esup-horde-1.2.x-cas-1.2/patches/conf.xml.patch patch -p 0 < esup-horde-1.2.x-cas-1.2/patches/IMAP.php.patch patch -p 0 < esup-horde-1.2.x-cas-1.2/patches/timsieved.php.patch cd ~esup/webmail/horde/pear/php tar -zxf ~esup/INSTALLATION/partage/php-cas/CAS-1.0.1.tgz mv CAS-1.0.1 CAS cp ~esup/INSTALLATION/partage/horde/php_CAS_client.php \ ~esup/webmail/horde/pear/php/CAS/CAS/client.php Utilisation et diffusion de ce document Il est de la responsabilité de chacun des destinataires de ce document de ne pas le rediffuser en dehors du cadre pour lequel il a été écrit. http://www.esup-portail.org 7/11 Support de TP – installation Horde F. Installation et configuration pam_cas Pam_cas va être nécessaire pour faire le lien entre le serveur de messagerie et le serveur CAS. Installation : cd /tmp tar -zxvf ~esup/INSTALLATION/partage/cyrus/Pam_cas-2.0.11-esup-2.0.5.tar.gz cd Pam_cas-2.0.11-esup-2.0.5/sources/ cp Makefile.redhat Makefile make make test sudo cp pam_cas.so /lib/security/ Configuration : sudo cp ~esup/INSTALLATION/partage/cyrus/pam_cas.conf /etc/pam_cas.conf host localhost uriValidate /cas/proxyValidate ssl debug off off sudo cp ~esup/INSTALLATION/partage/cyrus/pam_imap.conf /etc/pam.d/imap auth sufficient /lib/security/pam_cas.so -simap://localhost -f/etc/pam_cas.conf @include common-auth @include common-account sudo cp ~esup/INSTALLATION/partage/cyrus/pam_imap.conf /etc/pam.d/sieve Test : /tmp/Pam_cas-2.0.11-esup-2.0.5/sources/castest … invalid ticket : bad CAS ticket Utilisation et diffusion de ce document Il est de la responsabilité de chacun des destinataires de ce document de ne pas le rediffuser en dehors du cadre pour lequel il a été écrit. http://www.esup-portail.org 8/11 Support de TP – installation Horde G. Configuration de base De base horde est prêt a fonctionner sur le serveur de messagerie en localhost. Dans le cas de notre machine virtuel l’accès http se fait en http://localhost pour fonctionner nous devons modifier le domaine utilisé pour les cookies : Dans ~esup/webmail/horde/config/conf.php : $conf['cookie']['domain'] = $_SERVER['SERVER_NAME']; $conf['cookie']['domain'] = ''; Utilisation et diffusion de ce document Il est de la responsabilité de chacun des destinataires de ce document de ne pas le rediffuser en dehors du cadre pour lequel il a été écrit. http://www.esup-portail.org 9/11 Support de TP – installation Horde H. Configuration avancée n°1. Cas Dans ~esup/webmail/horde/config/conf.php : $conf['auth']['driver'] = 'cas'; $conf['auth']['params']['hostspec'] = 'localhost'; $conf['auth']['params']['hostport'] = 443;$conf['auth']['params']['hostpath'] = '/cas'; $conf['auth']['params']['proxyback'] = 'https://localhost/horde/casProxy.php'; $conf['auth']['params']['tmpdir'] = '/home/esup/webmail/tmp'; $conf['auth']['params']['authorisation'] = false; $conf['auth']['params']['logout'] = true; $conf['auth']['params']['debug'] = false; $conf['auth']['params']['debug_file'] = '/home/esup/webmail/logs/phpCAS.log'; $conf['auth']['params']['handleLogout'] = true; $conf['auth']['params']['handleLogoutHost'] = array('localhost'); Dasn ~esup/horde/imp/confif/conf/php : 'hordeauth' => true, n°2. Récupération de nom et adresse mail dans LDAP Dans ~esup/webmail/horde/config/prefs.php : $_prefs['fullname'] = array( 'value' => '', 'locked' => false, 'shared' => true, 'type' => 'text', 'desc' => _("Your full name:"), 'hook' => true ); $_prefs['from_addr'] = array( 'value' => '', 'locked' => false, 'shared' => true, 'type' => 'text', 'desc' => _("Your From: address:"), 'hook' => true ); Dans ~esup/webmail/horde/config/hooks.php cp ~esup/INSTALLATION/partage/horde/conf/horde/config/hooks.php \ ~esup/webmail/horde/config/hooks.php n°3. Carnet d’adresse LDAP dans turba Dans ~esup/webmail/horde/turba/config/sources.php : Utilisation et diffusion de ce document Il est de la responsabilité de chacun des destinataires de ce document de ne pas le rediffuser en dehors du cadre pour lequel il a été écrit. http://www.esup-portail.org 10/11 Support de TP – installation Horde cp ~esup/INSTALLATION/partage/horde/conf/horde/turba/config/sources.php \ ~esup/webmail/horde/turba/config/sources.php n°4. Application initiale Dans ~esup/webmail/horde/config/prefs.php : $_prefs['initial_application'] = array( 'value' => 'dimp', 'locked' => true, 'shared' => true, 'type' => 'select', 'desc' => sprintf(_("What application should %s display after login?"), $GLOBALS['registry']->get('name')) ); $_prefs['sidebar_width'] = array( 'value' => 0, 'locked' => true, 'shared' => false, 'type' => 'number', 'desc' => sprintf(_("Width of the %s menu on the left:"), $GLOBALS['registry']>get('name', 'horde')) ); n°5. Ne pas afficher la date de dernière connexion $_prefs['show_last_login'] = array( 'value' => false, 'locked' => false, 'shared' => true, 'type' => 'checkbox', 'desc' => _("Show last login time when logging in?") ); Utilisation et diffusion de ce document Il est de la responsabilité de chacun des destinataires de ce document de ne pas le rediffuser en dehors du cadre pour lequel il a été écrit. http://www.esup-portail.org 11/11