Changes between Version 25 and Version 26 of Servicos/Cyrus


Ignore:
Timestamp:
07/03/11 14:51:56 (13 years ago)
Author:
lucas.carraro
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Servicos/Cyrus

    v25 v26  
    11= Cyrus IMAP = 
    22 
    3 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 [http://pt.wikipedia.org/wiki/Internet_Message_Access_Protocol endereço]. O servidor Cyrus IMAP é compatível com praticamente todos os clientes IMAP disponíveis no mercado(Apple Mail,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 por padrão com o Cyrus 2.2 ou 2.3 
     3O servidor Cyrus IMAP é o responsável em fornecer as mailboxes dos usuários. Ele é um servidor IMAP[[BR]] 
     4de alta performance que permite que vários usuários trabalhem simultanemanete na mesma mailbox, além de[[BR]] 
     5possuir funções de pesquisa, indice e compartilhamento muito avançadas. Para maiores informações sobre o[[BR]] protocolo IMAP e suas funções consulte o seguinte [http://pt.wikipedia.org/wiki/Internet_Message_Access_Protocol endereço]. 
     6[[BR]][[BR]]O servidor Cyrus IMAP é compatível com os principais clientes IMAP disponíveis no mercado[[BR]] 
     7(Apple Mail,Android,Thunderbird,Outlook,Evolution,KMail). Atualmente a versão considerada estável pelo[[BR]] 
     8projeto é a 2.4.9. As distribuições de Linux costumam vir por padrão com o Cyrus 2.2 ou 2.3 
    49  
    510 
     
    813 * Indices: Suporta indices nos formato BerkleyDB ou no formato skiplist( padrão a partir das versões 2.4)  
    914 * Autenticação: Utiliza da estrutura SASL. 
    10  * Controle: Possui implementado as RFCs (5593,4551,5464,5551) que normatizam administração de servidores IMAP. Possui nativamente suporte há: 
     15 * Controle: Possui implementado as RFCs (5593,4551,5464,5551) que normatizam administração de servidores IMAP.[[BR]] Possui nativamente suporte há: 
    1116  * Hierarquia; 
    1217  * Autorização; 
     
    2530== Como configurar o Cyrus IMAP para funcionamento com o Expresso ==  
    2631 
    27 Esta configuração é específica para uma configuração apenas com um servidor IMAP. 
     32Esta configuração é específica para uma configuração apenas com um servidor IMAP.[[BR]] 
    2833O servidor também pode ser configurado de forma distribuída ( Cyrus Aggregation (Murder) ). 
    2934 
    3035 
    31 Edite o arquivo /etc/imapd.conf e certifique-se que este arquivo contém as seguintes linhas: 
     36Edite o arquivo '''/etc/imapd.conf''' e certifique-se que este arquivo contém as seguintes linhas: 
    3237{{{ 
    3338 unixhierarchysep: yes 
     
    4550 
    4651 
    47 Edite o arquivo /etc/cyrus.conf e certifique-se que este arquivo contém as seguintes linhas: 
     52Edite o arquivo '''/etc/cyrus.conf''' e certifique-se que este arquivo contém as seguintes linhas: 
    4853{{{ 
    4954START { 
     
    7883== Administrando as Contas no Servidor Cyrus IMAP == 
    7984 
    80 A administração de cotas e compartilhamentos de caixa é feita pelo módulo Expresso Admin do Expresso. 
    81 Quando você cria ou deleta uma conta de correio no Expresso Admin a operação é executada no Servidor IMAP. 
    82  
    83 As contas de e-mail podem ser administradas pela linha de comando através do comando "cyradm" ou via scripts em perl, python e etc .... 
     85A administração de cotas e compartilhamentos de caixa é feita pelo módulo Expresso Admin do Expresso.[[BR]] 
     86Quando você cria ou deleta uma conta de correio no Expresso Admin a operação é executada no Servidor IMAP.[[BR]] 
     87[[BR]] 
     88As contas de e-mail podem ser administradas pela linha de comando através do comando "cyradm" ou via scripts[[BR]] 
     89em perl, python e etc .... 
    8490 
    8591A ferramenta cyradm é um shell interativo para administração do cyrus.  
     
    120126== Criando scripts para Administração em lote das contas == 
    121127   
    122  O cyrus possui uma API em perl que permite a criação de scripts 
    123 para tarefas rotineiras como criação de contas em massa, configuração de cotas, 
     128 O cyrus possui uma API em perl que permite a criação de scripts[[BR]] 
     129para tarefas rotineiras como criação de contas em massa, configuração de cotas,[[BR]] 
    124130definir compartilhamentos e etc . 
    125131  
    126  Neste manual este assunto não vai ser abordado com detalhes. 
    127 Uma biblioteca que facilita bastante o trabalho é a "[http://python-cyrus.sourceforge.net/ python-cyrus]" 
     132 Neste manual este assunto não vai ser abordado com detalhes.[[BR]] 
     133Uma biblioteca que facilita bastante o trabalho é a "[http://python-cyrus.sourceforge.net/ python-cyrus]"[[BR]] 
    128134criada pelo Reinaldo Carvalho um dos colaboradores da comunidade Expresso. 
    129135 
    130136 
    131  
    132137== Configurando o Expresso para utilizar um servidor Cyrus em uma máquina remota == 
    133138 
    134 A aplicação Expresso já prevê a distribuição dos seus serviços em outros servidores. Para o Cyrus,  proceda da seguinte forma: 
     139A aplicação Expresso já prevê a distribuição dos seus serviços em outros servidores. Para o Cyrus,[[BR]] 
     140proceda da seguinte forma: 
    135141 
    136142{{{ 
     
    148154 
    149155=== delay expunge: === 
    150 A função delay expunge habilita um recurso parecido com a tradicional "Lixeira" dos Desktops. 
    151 Ao deletar uma mensagem ou pasta as mensagens não são removidas imediatamente do disco. 
    152 Na realidade apenas o indice da caixa é atualizado ( ou seja o usuário não enxerga mais a mensagem em sua caixa ) 
    153 mas a mensagem permanece no disco, até  que se rode a rotina "cyr_expire" para realizar o expurgo. 
    154  
    155 O administrador do sistema pode retornar a mensagem com o comando "unexpunge" ou no caso de uma pasta removida simplesmente renomea-lá ao contexto do usuário. Isto facilita bastante já que você não tem que recorrer ao backup para restaurar as mensagens apagadas acidentalmente por um usuário. 
     156A função delay expunge habilita um recurso parecido com a tradicional "Lixeira" dos Desktops.[[BR]] 
     157Ao deletar uma mensagem ou pasta as mensagens não são removidas imediatamente do disco.[[BR]] 
     158Na realidade apenas o indice da caixa é atualizado ( ou seja o usuário não enxerga mais a mensagem em sua caixa )[[BR]] 
     159mas a mensagem permanece no disco, até  que se rode a rotina "cyr_expire" para realizar o expurgo.[[BR]] 
     160 
     161O administrador do sistema pode retornar a mensagem com o comando "unexpunge" ou no caso de uma pasta[[BR]] 
     162removida simplesmente renomea-lá ao contexto do usuário. Isto facilita bastante já que você não tem[[BR]] 
     163que recorrer ao backup para restaurar as mensagens apagadas acidentalmente por um usuário. 
    156164 
    157165==== Ativando o delay expunge: ==== 
     
    164172 delete_mode: delayed 
    165173 expunge_mode: delayed 
    166  expunge_days: 90    <-- Este parametro define o número de dias que você quer manter na Quarentena antes de remover 
     174 expunge_days: 90    <-- Este parametro define o número de dias que você quer manter 
     175                         na Quarentena antes de remover 
    167176}}} 
    168177 
     
    192201    Remove previously deleted mailboxes older than delete-days (when using the "delayed" delete mode). 
    193202 −E expire-days 
    194    Prune the duplicate database of entries older than expire-days. This value is only used for entries which do not have a corresponding /vendor/cmu/cyrus-imapd/expire mailbox annotation. 
     203   Prune the duplicate database of entries older than expire-days. This value is only used for entries 
     204   which do not have a corresponding /vendor/cmu/cyrus-imapd/expire mailbox annotation. 
    195205 −X expunge-days 
    196206   Expunge previously deleted messages older than expunge-days (when using the "delayed" expunge mode). 
     
    203213==== Restaurando as mensagens excluidas: ==== 
    204214 
    205 Para restaurar as mensagens excluídas de uma pasta você precisa ter acesso ao shell do servidor aonde está localizado a caixa. 
    206 Como o usuário '''root''' ou '''cyrus''' use o comando '''unexpunge'''. 
     215Para restaurar as mensagens excluídas de uma pasta você precisa ter acesso ao shell do servidor[[BR]] 
     216aonde está localizado a caixa.[[BR]] 
     217Como o usuário '''root''' ou '''cyrus''' use o comando '''unexpunge'''.[[BR]] 
    207218{{{ 
    208219   unexpunge -l user/joe -> Para listar as mensagens removidas mas não expiradas 
     
    215226 
    216227==== Restaurando uma pasta removida: ==== 
    217 Para restaurar uma pasta removida basta usar o cyradm e renomear a pasta para dentro do usuário 
     228Para restaurar uma pasta removida basta usar o cyradm e renomear a pasta para dentro do usuário[[BR]] 
    218229{{{ 
    219230cyradm -u admin imap_server 
     
    226237 
    227238=== singleinstance store: === 
    228 Este recurso ativa um tipo de compactação no Cyrus IMAP. Quando uma mensagem chega para 20 pessoas ele cria apenas 1 arquivo no disco e os demais são apenas "'''hard links'''" para este arquivo. 
     239Este recurso ativa um tipo de compactação no Cyrus IMAP. Quando uma mensagem chega para[[BR]] 
     24020 pessoas ele cria apenas 1 arquivo no disco e os demais são apenas "'''hard links'''" [[BR]] 
     241para este arquivo.[[BR]] 
    229242 
    230243Para ativar edite o seguinte arquivo '''/etc/imapd.conf''' e habilite o parâmetro: 
     
    236249Depois reinicie o serviço do cyrus. 
    237250 
    238 Para verificar se funcionou mande uma mensagem para 10 usuários, depois vá na pasta spool de um destes usuários e execute o '''"ls -li"''': 
     251Para verificar se funcionou mande uma mensagem para 10 usuários, depois vá na pasta spool[[BR]] 
     252de um destes usuários e execute o comando '''"ls -li"''': 
    239253{{{ 
    240254cd /var/spool/imap/j/user/joe 
     
    245259}}} 
    246260 
    247 Isto significa que existem 10 hardlinks apontando para o INODE 63063562. O recurso de '''singleinstancestore''' reduz bastante a IO nos discos ( já que só é gravado um arquivo efetivamente e os demais são hard links) e economiza bastante espaço em disco. 
    248  
    249  
    250 '''Obs:  Este recurso funciona legal apenas se as mensagens estiverem sendo entregas via lmtp ou lmtpproxyd, não funciona se a entrega for via cyr_deliver.''' 
    251  
    252 '''Obs2: Como o mailman manda 1 mensagem para cada recipiente ele também não se aproveita deste recurso.'''   
     261Isto significa que existem 10 hardlinks apontando para o INODE 63063562.[[BR]] 
     262O recurso de '''singleinstancestore''' reduz bastante a IO nos discos[[BR]] 
     263(já que só é gravado um arquivo efetivamente e os demais são hard links)[[BR]] 
     264e economiza bastante espaço em disco. 
     265 
     266 
     267'''Obs:  Este recurso funciona legal apenas se as mensagens estiverem sendo entregas[[BR]] 
     268via lmtp ou lmtpproxyd, não funciona se a entrega for via cyr_deliver.''' 
     269 
     270'''Obs2: Como o mailman manda 1 mensagem para cada recipiente ele também não se aproveita[[BR]] 
     271deste recurso.'''   
    253272 
    254273=== Expirar mensagens de uma pasta automaticamente === 
    255274 
    256 Via comando de administração IMAP é possível definir um prazo de expiração para mensagens em uma pasta. 
     275Via comando de administração IMAP é possível definir um prazo de expiração para mensagens[[BR]] 
     276em uma pasta. 
    257277{{{ 
    258278cyradm -u admin imap_server 
     
    265285== FAQs: == 
    266286 
    267 * Qual a versão do Cyrus IMAP devo utilizar ? 
    268  
    269  
    270 * Quais as versões do Cyrus IMAP testadas com o Expresso ? 
     287'''* Qual a versão do Cyrus IMAP devo utilizar ?''' 
     288 
     289Recomendação dos desenvolvedores é usar a versão 2.4.X mais recente.[[BR]] 
     290Mas a versão que vem como estável nas distribuições já atende muito bem.[[BR]] 
     291 
     292'''* Quais as versões do Cyrus IMAP testadas com o Expresso ?''' 
     293 
    271294O Expresso foi testado com Cyrus 2.2, 2.3.X e 2.4.X 
    272295 
    273 * Porque o "restart" do serviço está demorando muito ? 
    274 Ainda não escrito. Confira em breve .... 
    275  
    276 * Qual o limite de mailboxes que posso ter no cyrus imap ? 
    277 Ainda não escrito. Confira em breve .... 
    278  
    279 * Qual o limite máximo de cota para uma  mailbox no cyrus imap ? 
    280 Ainda não escrito. Confira em breve .... 
    281  
    282 * Quais os arquivos importantes em um backup do cyrus imap ? 
    283 Ainda não escrito. Confira em breve .... 
     296'''* Porque o "restart" do serviço está demorando muito ?''' 
     297 
     298Geralmente o arquivo '''deliver.db''' está muito grande.[[BR]] 
     299Este arquivo é usado para controle de entrega de mensagem não duplicadas[[BR]] 
     300e não há problemas em removê-lo.[[BR]] 
     301 
     302'''* Qual o limite de mailboxes que posso ter no cyrus imap ?''' 
     303 
     304Depende se você usa distribuições de 32 bits ou 64 bits.[[BR]] 
     305Para 32 bits é na casa de 4 milhões.[[BR]]  
     306 
     307'''* Qual o limite máximo de cota para uma  mailbox no cyrus imap ?''' 
     308 
     309É o limite do tamanho máximo de arquivo do filesystem que você utiliza.[[BR]] 
     310 
     311''''* Quais os arquivos importantes em um backup do cyrus imap ?'''' 
     312 
     313Os mais importantes são o '''mailboxes.db''' e o '''annotations.db'''[[BR]] 
     314O backup deve englobar as pastas '''/var/lib/imap, /var/spool/imap'''' e os arquivos[[BR]] 
     315'''/etc/cyrus.conf''' e '''/etc/imapd.conf'''.[[BR]] 
     316 
    284317 
    285318* Como restaurar uma instalação do cyrus imap ?