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