Outils personnels

Roundcube sur BO5.5 + PHP5.3

De wikiGite

Installation des dépendances

yum install --enablerepo=remi php-pear 

Ajouter /usr/share/pear à open_basedir à la fin de /etc/php.ini

yum install --enablerepo=remi php-pear-Mail php-pear-Mail-Mime php-pear-MDB2 php-pear-MDB2-Driver-mysql php-mcrypt

Chargement Roundcube

Vérifier la version de la GPL dependent (sans les librairies non-libres) sur http://roundcube.net/download (0.4.2 à la publication)

wget http://downloads.sourceforge.net/project/roundcubemail/roundcubemail-dependent/0.4.2/roundcubemail-0.4.2-dep.tar.gz
tar -xvzf roundcubemail-0.4.2-dep.tar.gz
mv roundcubemail-0.4.2-dep /usr/share/roundcubemail
chown -R apache.apache /usr/share/roundcubemail/temp
chown -R apache.apache /usr/share/roundcubemail/logs/

Configuration Apache - PHP

Copier la configuration de Squirrelmail pour faire une configuration Roundcube

cd /etc/httpd/conf.d
cp squirrelmail.conf roundcube.conf
mv squirrelmail.conf /root

Supprimer le second bloc <Directory ...> inutile pour Roundcube
Remplacer squirrelmail par roundcubemail dans le fichier
dans l'open_basedir, enlever tout ce qu'il y a après /usr/share/roundcubemail/, et rajouter à la place :/usr/share/pear/, ce qui donne :

php_admin_value open_basedir /home/:/tmp/:/var/lib/php/session/:/usr/share/roundcubemail/:/usr/share/pear/

Dans /etc/php.ini :

date.timezone = Europe/Paris

MDB2 n'étant pas 100% compatible avec PHP 5.3, enlever les erreur "Deprecated"

error_reporting  =  E_ALL & ~E_NOTICE & ~E_DEPRECATED

Et enfin :

/etc/init.d/httpd restart

Hostname

La fonction mail() de PHP (utilisée par Roundcube pour envoyer les mails) prend par défaut le nom du serveur et l'ajoute au nom de l'utilisateur qui envoie un mail. On peut donc avoir des mails avec un Return-Path (le "retour en cas d'erreur", pas l'adresse de réponse qui, elle, reprend bien le mail de l'expéditeur) de type

user@www.domain.com

Or, de plus en plus de serveurs mails (à commencer par BlueOnyx !) testent ce Return-Path pour savoir si le domaine existe : avec le www devant, la réponse est négative et le mail refusé.

Solution simple :

Dans le fichier /etc/hosts du serveur, juste entre son adresse IP et "www.domain.com .......", insérer "domain.com". PHP et Sendmail prendront alors ça pour le nom du serveur et forgeront un adresse mail en user@domain.com valide.

Configuration Roundcube

(Rappel - DOC INSTALL : http://trac.roundcube.net/wiki/Howto_Install)

Créer dans mysql une base roundcubemail et un utilisateur roundcube

CREATE DATABASE roundcubemail;
GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost IDENTIFIED BY '<MOT DE PASSE ROUNDCUBE>';

Lancer dans un navigateur

http://<URL VERS LE SERVEUR WEB>/webmail/installer

Et suivre les écrans, seloon la doc indiquée plus haut. Sur l'écran 3, tout doit apparaitre OK.

Dans main.inc.php, $rcmail_config['default_host'] doit être égal à '%n' pour se connecter au serveur IMAP,
et $rcmail_config['mail_domain'] doit être égal à '%d' pour que les nouveaux utilisateurs soient créés avec une adresse par défaut de type user@domain.tld.

NOTE : Attention avec BlueOnyx, le login au webmail se fait avec le nom de l'utilisateur, pas l'adresse mail complète. Par conséquent, quelque soit le domaine virtuel donné en URL, si le login/mot de passe existent sur le serveur même dans un autre domaine, la connexion est accepté !
L'URL de la première connexion (qui crée l'identité par défaut dans Roundcube) est donc très importante !