140 lines
3.6 KiB
Markdown
140 lines
3.6 KiB
Markdown
# Howto Roundcube
|
||
|
||
Sous licence libre GPL, roundcube est un client de messagerie utilisant l'IMAP.
|
||
D'autres alternatives existent tel que rainloop, SOGo, Squirrelmail,...
|
||
|
||
## Installation
|
||
|
||
Rien de plus simple :
|
||
|
||
~~~
|
||
# apt install roundcube
|
||
~~~
|
||
|
||
Le fichier de configuration principale est `/etc/roundcube/defaults.inc.php`
|
||
|
||
## Plugin sieve
|
||
|
||
Celui-ci permet l'usage des filtres.
|
||
|
||
~~~
|
||
# apt install roundcube-plugins-extra
|
||
~~~
|
||
|
||
On pourra l'activer ainsi :
|
||
|
||
~~~
|
||
$config['plugins'] = array('sieverules');
|
||
~~~
|
||
|
||
La configuration des règles se feront dans `/etc/roundcube/plugins/sieverules/config.inc.php`.
|
||
|
||
## Plugin vacation
|
||
|
||
Il est utilisé lorsque l'utilisateur du compte mail est en vacances par exemple.
|
||
|
||
<https://github.com/bukowski12/roundcube-vacation-plugin>
|
||
|
||
On utilise généralement ce plugin avec le driver FTP lorsque l'on est dans un setup avec les utilisateurs en compte Unix.
|
||
Il faut donc préalablement avoir installé Proftpd, avec le module ldap `proftpd-mod-ldap` et bien charger le module dans la configuration de proftpd.
|
||
|
||
Au niveau de proftpd on utilise la configuration ldap suivante, dans `/etc/proftpd/ldap.conf` :
|
||
|
||
~~~
|
||
<IfModule mod_ldap.c>
|
||
LDAPServer ldap://localhost/??sub
|
||
LDAPBindDN "cn=admin,dc=example,dc=com" "PASSWORD"
|
||
LDAPUsers "ou=people,dc=smsmode,dc=com" (uid=%u) (uidNumber=%u)
|
||
|
||
LDAPAuthBinds on
|
||
</IfModule>
|
||
~~~
|
||
|
||
Au niveau de la configuration du plugin vacation, on utilise la configuration suivante dans `/etc/roundcube/plugins/vacation/config.ini` :
|
||
|
||
~~~
|
||
[default]
|
||
driver = "ftp"
|
||
;server = "localhost"
|
||
subject = "Absence / Out of office"
|
||
body = "default.txt"
|
||
;disable_forward = true
|
||
|
||
|
||
[dotforward]
|
||
binary = "/usr/bin/vacation"
|
||
flags = ""
|
||
message = ".vacation.msg"
|
||
database = ".vacation.db"
|
||
alias_identities = true
|
||
set_envelop_sender = false
|
||
always_keep_message = true
|
||
~~~
|
||
|
||
Il ne faut pas oublier également d'installer le paquet *vacation*.
|
||
|
||
|
||
## Plugin password
|
||
|
||
Son utilisé résulte sur la possibilité de changer son propre mot de passe avec de nombreux connecteurs tel que dovecot, LDAP, etc.
|
||
|
||
On pourra l'activer ainsi :
|
||
|
||
~~~
|
||
$config['plugins'] = array('password');
|
||
~~~
|
||
|
||
Pour les comptes mails stockés dans LDAP il faudra installer `php7.3-ldap` et mettre en place le fichier `/etc/roundcube/plugins/password/config.inc.php` suivant :
|
||
|
||
~~~
|
||
<?php
|
||
$config=array();
|
||
$config['password_driver'] = 'ldap_simple';
|
||
$config['password_confirm_current'] = true;
|
||
$config['password_ldap_host'] = '127.0.0.1';
|
||
$config['password_ldap_userDN_mask'] = 'uid=%login,ou=people,dc=example,dc=com';
|
||
$config['password_ldap_encodage'] = 'ssha';
|
||
?>
|
||
~~~
|
||
|
||
## Mailbox doesn’t exist
|
||
|
||
Si nous avons par exemple l'erreur suivante : "UID MOVE : Mailbox doesn’t exist : Trash"
|
||
|
||
On devra activer cette option :
|
||
|
||
~~~
|
||
$config['create_default_folders'] = true;
|
||
~~~
|
||
|
||
## Mode debug
|
||
|
||
Activer la directive suivante :
|
||
|
||
~~~
|
||
$config['imap_debug'] = true;
|
||
~~~
|
||
|
||
Les messages d'erreurs seronts dans le log /var/log/syslog
|
||
|
||
## Import de contacts en CSV
|
||
|
||
<https://www.pokorra.de/2017/01/import-contacts-via-csv-into-roundcube/>
|
||
|
||
## FAQ
|
||
|
||
### Après une upgrade
|
||
|
||
#### Problème d’envoi de pièce jointe
|
||
|
||
On a des erreurs de ce genre dans les logs de Roundcube `/var/log/roundcube/errors` lorsqu’on essaye d’envoyer une pièce jointe dans un e-mail.
|
||
|
||
```
|
||
[01-Jan-2020 00:00:00 +0200]: <abcd1234> PHP Error: compte@domaine.com can't read /tmp/rcmAttmntQ2clsS (not in temp_dir) in /usr/share/roundcube/plugins/filesystem_attachments/filesystem_attachments.php on line 216 (POST /?_task=mail&_unlock=loading1599225495530&_lang=undefined&_framed=1&_action=send)
|
||
```
|
||
|
||
C’est probablement le `tempdir` qui a changé de propriétaire au moment de l’upgrade.
|
||
|
||
```
|
||
# chown www-roundcube:roundcube /var/lib/roundcube/temp
|
||
``` |