Internet Info, s.r.o. Lupa Root Měšec Podnikatel DigiZone Slunečnice Vitalianew Bomba Navrcholu Weblogy Jagg Woko Dobrý web Computer.cz SK: MojeLinky
Root.czBlogyMichalův blog

[CentOS] Dovecot + ManageSieve + SquirrelMail AvelSieve

Michal Jirka, 21. 12. 2009, 10:43 v kategorii Linux, štítky: , ,

Zprovoznit podporu Sieve pro Dovecot v distribuci CentOS není úplně jednoduché. Když nainstalujete balíček dovecot-sieve, tak se sice nainstaluje podpora pro sieve, ale nikoliv jako daemon, takže pro AvelSieve nepoužitelné.

Řešení je přidat podporu ManageSieve, avšak pro Dovecot v CentOS žádný takový balíček neexistuje. Řešení je poměrně jednoduché, i když ne moc systémové :-) Podotýkám, že uvedený postup jsem dělal na CentOS 5.4 64bit a dovecot ve verzi 1.1.20.

Na rpmfind lze najít balíček dovecot-managsieve ve verzi pro Fedoru 10, který lze i na CentOS použít. Instalaci zkusíme s kontrolou závislostí, dostaneme hlášku:

# rpm -Uvh dovecot-managesieve-1.1.20-1.fc10.x86_64.rpm
error: Failed dependencies:
dovecot = 1:1.1.20-1.fc10 is needed by dovecot-managesieve-1.1.20-1.fc10.x86_64
libcrypto.so.7()(64bit) is needed by dovecot-managesieve-1.1.20-1.fc10.x86_64
libssl.so.7()(64bit) is needed by dovecot-managesieve-1.1.20-1.fc10.x86_64

Dovecot-1.1.20 je nainstalovaný (avšak ne ve verzi fc10, ale el5), tudíž tuto závislost můžeme pominout. Ostatní 2 závislosti lze obejít vytvořením novým symlinků:

# ln -s /lib64/libcrypto.so.0.9.8e /usr/lib64/libcrypto.so.7
# ln -s /lib64/libssl.so.0.9.8e /usr/lib64/libssl.so.7

Poté je potřeba nainstalovat dovecot-managesieve bez kontroly závislostí:

# rpm -Uvh --nodeps dovecot-managesieve-1.1.20-1.fc10.x86_64.rpm

Nastavíme příslušně /etc/dovecot.conf (uvedeny jen útržky, co se doplní):

protocols = imap pop3 imaps pop3s managesieve
protocol managesieve {
sieve = /var/mail/virtual/%d/%n/.dovecot.sieve
sieve_storage = /var/mail/virtual/%d/%n/sieve
listen = *:2000
}

Pro cestu k Sieve souboru je potřeba uvádět absolutní cestu, jinak AvelSieve způsobuje chyby u schránek se stejným jménem před zavináčem. Cesta ve tvaru /var/mail/virtual/%d/%n/.dovecot.sieve znaci umisteni napr. nasledovne:

schranka@domena.cz -> /var/mail/virtual/domena.cz/schranka/.dovecot.sieve

Po restartu dovecotu by melo byt videt, ze Sieve posloucha na portu 2000:

# netstat -nat | grep 2000
tcp        0      0 0.0.0.0:2000                0.0.0.0:*                   LISTEN

U SquirrelMail pluginu AvelSieve je potřeba jen jednoduchá změna (zbytek by měl stačit na defaultních hodnotách):

$avelsieve_striproot = 'INBOX.';

Pak už stačí ve SquirrelMailu zapnout plugin AvelSieve a užívat si možnost filtrů ;-)