wiki:Servicos/Cyrus

Version 8 (modified by lucas.carraro, 9 years ago) (diff)

--

Cyrus IMAP

O servidor Cyrus IMAP é o responsável em fornecer as mailboxes dos usuários. Ele é um servidor IMAP de alta performance que permite que vários usuários trabalhem simultanemanete na mesma mailbox, além de possuir funções de pesquisa, indice e compartilhamento muito avançadas. Para maiores informações sobre o protocolo IMAP e suas funções consulte o seguinte  endereço. O servidor Cyrus IMAP é compatível com praticamente todos os clientes IMAP disponíveis no mercado( AppleMail?, Android, Thunderbird, Outlook, Evolution, KMail ). Atualmente a versão considerada estável pelo projeto é a 2.4.6. As distribuições de Linux costumam vir com padrão com o cyrus 2.2 ou 2.3

Funcionalidades

  • Armazenamento: Utiliza um formato próprio para armazenar as mensagens parecido com o formato Maildir.
  • Indices: Suporta indices nos formato BerkleyDB ou no formato skiplist( padrão a partir das versões 2.4)
  • Autenticação: Utiliza da estrutura SASL.
  • Controle: Possui implementado as RFCs (5593,4551,5464,5551) que normatizam administração de servidores IMAP: Suporta:
    • Hierarquia;
    • Autorização;
    • Quota.
    • Compartilhamentos
  • Suporta administração por mail de interface própria ( cyradm ) e várias linguagens como perl, python e java.
  • Conectividade: Possui suporte e módulos para diversas aplicações como:
    • Exim (MTA)
    • Postfix
    • SpamAssassin
    • Clamav
    • Amavis
  • Filtros: Suporte built-in para filtros no lado do servidor(SIEVE).

Como configurar o Cyrus para o Expresso

Esta configuração é específica para o módulo com apenas um servidor IMAP. O servidor também pode ser configurado de forma distribuída ( Cyrus Aggregation (Murder) ).

Edite o arquivo /etc/imapd.conf e certifique-se que este arquivo contém as seguintes linhas:

 unixhierarchysep: yes
 admins: expresso-admin
 sasl_mech_list: PLAIN
 sasl_pwcheck_method: saslauthd
 allowusermoves: yes
 duplicatesupression: 0
 lmtp_over_quota_perm_failure: 1

Edite o arquivo /etc/cyrus.conf e certifique-se que este arquivo contém as seguintes linhas:

START {
	# do not delete this entry!
	recover		cmd="/usr/cyrus/bin/ctl_cyrusdb -r"
}

SERVICES {
        imap            cmd="imapd -U 30" listen="imap" prefork=1
	imaps		cmd="imapd -s -U 30" listen="imaps" prefork=1
	lmtpd		cmd="lmtpd" listen="lmtp" prefork=11
  	sieve		cmd="timsieved" listen="sieve" prefork=1
}

EVENTS {
  # this is required
  checkpoint	cmd="/usr/cyrus/bin/ctl_cyrusdb -c" period=5

  # this is only necessary if using duplicate delivery suppression
  delprune        cmd="/usr/cyrus/bin/cyr_expire -E 3" at=0401

  ## Expirar mensagens do delay Expunge
  delprune        cmd="/usr/cyrus/bin/cyr_expire -X 14" at=0200
 
  ## Expirar pastas deletadas a mais de 14 dias
  delprune        cmd="/usr/cyrus/bin/cyr_expire -D 14" at=0400

  # this is only necessary if caching TLS sessions
  tlsprune	cmd="/usr/cyrus/bin/tls_prune" at=0400

  # SQUATTER indexa as caixas postais para pesquisa.
  squatter        cmd="/usr/cyrus/bin/squatter -s -r user" at=2300
}

}


Ferramenta de administração

A ferramenta cyradm é um shell interativo para administração do cyrus. Para ver as caixas:

cyradm --server localhost --user expresso-admin
cm INBOX
cm INBOX/Enviados
cm INBOX/Lixeira
cm INBOX/Rascunhos

lm (lista as caixas)

Isto cria pastas para o usuário expresso-admin. Existem outros comandos que podem ser vistos no help do cyradm

Configurando o Expresso para outro servidor Cyrus

A aplicação Expresso já prevê a distribuição dos seus serviços em outros servidores. Para o Cyrus, proceda da seguinte forma:

- Se logue no expresso como expresso-admin;

- Vá no módulo Administrador e procure pelo módulo Admin do Email (EmailAdmin);

- Clique em "Configurações do Servidor";

- Edite o perfil e configure os novos parâmetros na aba POP3/IMAP;

Como testar/administrar

O banco de dados do Cyrus é mapeado em /var/spool/cyrus. Desta forma o administrador consegue ver, remover, adicionar, alterar os emails das caixas postais. Por exemplo na pasta "/var/spool/cyrus/mail/e/user/expresso-admin" encontra-se as caixas do usuário expresso-admin. Por exemplo listando o conteúdo desta pasta:

10740.  10751.  cyrus.cache   cyrus.index  Enviados
10749.  95431.  cyrus.header  Drafts       Lixeira

Os arquivos regulares 10740., 10749., 10751. e 95431. são mensagens em formato texto. Os diretórios Lixeira, Enviados, Drafts são pastas das caixas postais.

Os arquivos cyrus.index, cyrus.cache e cyrus.header são arquivos de controle do cyrus para otimizar buscas em conteúdos e cabeçalhos dos emails. Quando as caixas apresentarem problema, como por exemplo lentidão, estes podem ser refeitos. A forma de refaze-los é usando a ferramenta /usr/sbin/cyrreconstruct.

Para administrar caixas (como por exemplo remoção e criação) o administrador deve usar a ferramenta cyradm.

Mais informações

 Documentação do cyrus