Roundcube sur BO5.5 + PHP5.3
De wikiGite
Sommaire
Installation des dépendances
yum install --enablerepo=remi php-pear php-pear-Mail php-pear-Mail-Mime php-pear-MDB2 php-pear-MDB2-Driver-mysql php-pear-Net-IDNA2 php-mcrypt php-intl
Ajouter /usr/share/pear à open_basedir à la fin de /etc/php.ini
Chargement Roundcube
Vérifier la version de la GPL dependent (sans les librairies non-libres) sur http://roundcube.net/download (0.9.5 à la publication). Si les paquets ci-dessus ont été préalablement installés, on peut prendre la version "dependent" (sans paquets non GPL) :
VERS=0.9.5 wget http://sourceforge.net/projects/roundcubemail/files/roundcubemail-dependent/$VERS/roundcubemail-$VERS-dep.tar.gz tar -xvzf roundcubemail-$VERS-dep.tar.gz mv roundcubemail-$VERS-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 mv squirrelmail.conf roundcube.conf
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 dans /etc/hosts et l'ajoute au nom de l'utilisateur qui envoie un mail pour former le champ Return-Path (le "retour en cas d'erreur", pas l'adresse de réponse qui, elle, reprend bien le mail de l'expéditeur). On peut donc avoir des mails avec un Return-Path 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, selon 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 !