Roundcube sur BO5.5 + PHP5.3 : Différence entre versions
De wikiGite
(→Configuration Apache - PHP) |
|||
(22 révisions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
− | yum install --enablerepo=remi php-pear | + | === 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 | Ajouter /usr/share/pear à open_basedir à la fin de /etc/php.ini | ||
− | |||
− | Vérifier la version de la GPL dependent (sans les librairies non-libres) sur http://roundcube.net/download | + | === Chargement Roundcube === |
− | wget http:// | + | 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) : |
− | tar -xvzf roundcubemail- | + | export RCVERS=0.9.5 |
− | mv roundcubemail- | + | wget http://sourceforge.net/projects/roundcubemail/files/roundcubemail-dependent/$RCVERS/roundcubemail-$RCVERS-dep.tar.gz |
+ | tar -xvzf roundcubemail-$RCVERS-dep.tar.gz | ||
+ | mv roundcubemail-$RCVERS-dep /usr/share/roundcubemail | ||
chown -R apache.apache /usr/share/roundcubemail/temp | chown -R apache.apache /usr/share/roundcubemail/temp | ||
chown -R apache.apache /usr/share/roundcubemail/logs/ | chown -R apache.apache /usr/share/roundcubemail/logs/ | ||
− | + | === Configuration Apache - PHP === | |
− | + | Si squirrelmail.conf existe, il peut être en conflit avec roundcube : penser à supprimer squirrelmail.conf dans ce cas. | |
− | + | ||
− | + | <!-- Archive : modification de squirrelmail.conf existant : | |
+ | mv squirrelmail.conf roundcube.conf | ||
Supprimer le second bloc <Directory ...> inutile pour Roundcube<br> | Supprimer le second bloc <Directory ...> inutile pour Roundcube<br> | ||
Remplacer squirrelmail par roundcubemail dans le fichier<br> | Remplacer squirrelmail par roundcubemail dans le fichier<br> | ||
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 : | 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/ | php_admin_value open_basedir /home/:/tmp/:/var/lib/php/session/:/usr/share/roundcubemail/:/usr/share/pear/ | ||
+ | --> | ||
+ | Créer un fichier /etc/httpd/conf.d/roundcube.conf : | ||
+ | # | ||
+ | # Roundcube is a webmail package written in PHP. | ||
+ | # | ||
+ | Alias /webmail /usr/share/roundcubemail | ||
+ | |||
+ | <Directory /usr/share/roundcubemail/> | ||
+ | php_admin_value safe_mode off | ||
+ | php_admin_value open_basedir /home/:/tmp/:/usr/sausalito/configs/php/:/var/lib/php/session/:/usr/share/roundcubemail/:/usr/share/pear/ | ||
+ | Options FollowSymLinks | ||
+ | AllowOverride All | ||
+ | </Directory> | ||
+ | |||
Dans /etc/php.ini : | Dans /etc/php.ini : | ||
date.timezone = Europe/Paris | date.timezone = Europe/Paris | ||
Ligne 26 : | Ligne 43 : | ||
/etc/init.d/httpd restart | /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) | (Rappel - DOC INSTALL : http://trac.roundcube.net/wiki/Howto_Install) | ||
Créer dans mysql une base roundcubemail et un utilisateur roundcube | Créer dans mysql une base roundcubemail et un utilisateur roundcube | ||
CREATE DATABASE roundcubemail; | CREATE DATABASE roundcubemail; | ||
− | GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost IDENTIFIED BY ' | + | GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost IDENTIFIED BY <nowiki>'</nowiki>''<MOT DE PASSE ROUNDCUBE>''<nowiki>'</nowiki>; |
+ | |||
+ | 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 <span style="color:green">'''OK'''</span>. | ||
− | + | Dans main.inc.php, $rcmail_config['default_host'] doit être égal à '%n' pour se connecter au serveur IMAP,<br> | |
− | + | 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é !<br> | |
+ | L'URL de la première connexion (qui crée l'identité par défaut dans Roundcube) est donc très importante ! |
Version actuelle datée du 15 janvier 2014 à 14:38
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) :
export RCVERS=0.9.5 wget http://sourceforge.net/projects/roundcubemail/files/roundcubemail-dependent/$RCVERS/roundcubemail-$RCVERS-dep.tar.gz tar -xvzf roundcubemail-$RCVERS-dep.tar.gz mv roundcubemail-$RCVERS-dep /usr/share/roundcubemail chown -R apache.apache /usr/share/roundcubemail/temp chown -R apache.apache /usr/share/roundcubemail/logs/
Configuration Apache - PHP
Si squirrelmail.conf existe, il peut être en conflit avec roundcube : penser à supprimer squirrelmail.conf dans ce cas.
Créer un fichier /etc/httpd/conf.d/roundcube.conf :
# # Roundcube is a webmail package written in PHP. # Alias /webmail /usr/share/roundcubemail <Directory /usr/share/roundcubemail/> php_admin_value safe_mode off php_admin_value open_basedir /home/:/tmp/:/usr/sausalito/configs/php/:/var/lib/php/session/:/usr/share/roundcubemail/:/usr/share/pear/ Options FollowSymLinks AllowOverride All </Directory>
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 !