Changes between Version 25 and Version 26 of Servicos/Cyrus
- Timestamp:
- 07/03/11 14:51:56 (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Servicos/Cyrus
v25 v26 1 1 = Cyrus IMAP = 2 2 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 3 O servidor Cyrus IMAP é o responsável em fornecer as mailboxes dos usuários. Ele é um servidor IMAP[[BR]] 4 de alta performance que permite que vários usuários trabalhem simultanemanete na mesma mailbox, além de[[BR]] 5 possuir 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]] 8 projeto é a 2.4.9. As distribuições de Linux costumam vir por padrão com o Cyrus 2.2 ou 2.3 4 9 5 10 … … 8 13 * Indices: Suporta indices nos formato BerkleyDB ou no formato skiplist( padrão a partir das versões 2.4) 9 14 * 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á: 11 16 * Hierarquia; 12 17 * Autorização; … … 25 30 == Como configurar o Cyrus IMAP para funcionamento com o Expresso == 26 31 27 Esta configuração é específica para uma configuração apenas com um servidor IMAP. 32 Esta configuração é específica para uma configuração apenas com um servidor IMAP.[[BR]] 28 33 O servidor também pode ser configurado de forma distribuída ( Cyrus Aggregation (Murder) ). 29 34 30 35 31 Edite o arquivo /etc/imapd.confe certifique-se que este arquivo contém as seguintes linhas:36 Edite o arquivo '''/etc/imapd.conf''' e certifique-se que este arquivo contém as seguintes linhas: 32 37 {{{ 33 38 unixhierarchysep: yes … … 45 50 46 51 47 Edite o arquivo /etc/cyrus.confe certifique-se que este arquivo contém as seguintes linhas:52 Edite o arquivo '''/etc/cyrus.conf''' e certifique-se que este arquivo contém as seguintes linhas: 48 53 {{{ 49 54 START { … … 78 83 == Administrando as Contas no Servidor Cyrus IMAP == 79 84 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 .... 85 A administração de cotas e compartilhamentos de caixa é feita pelo módulo Expresso Admin do Expresso.[[BR]] 86 Quando você cria ou deleta uma conta de correio no Expresso Admin a operação é executada no Servidor IMAP.[[BR]] 87 [[BR]] 88 As contas de e-mail podem ser administradas pela linha de comando através do comando "cyradm" ou via scripts[[BR]] 89 em perl, python e etc .... 84 90 85 91 A ferramenta cyradm é um shell interativo para administração do cyrus. … … 120 126 == Criando scripts para Administração em lote das contas == 121 127 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]] 129 para tarefas rotineiras como criação de contas em massa, configuração de cotas,[[BR]] 124 130 definir compartilhamentos e etc . 125 131 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]] 133 Uma biblioteca que facilita bastante o trabalho é a "[http://python-cyrus.sourceforge.net/ python-cyrus]"[[BR]] 128 134 criada pelo Reinaldo Carvalho um dos colaboradores da comunidade Expresso. 129 135 130 136 131 132 137 == Configurando o Expresso para utilizar um servidor Cyrus em uma máquina remota == 133 138 134 A aplicação Expresso já prevê a distribuição dos seus serviços em outros servidores. Para o Cyrus, proceda da seguinte forma: 139 A aplicação Expresso já prevê a distribuição dos seus serviços em outros servidores. Para o Cyrus,[[BR]] 140 proceda da seguinte forma: 135 141 136 142 {{{ … … 148 154 149 155 === 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. 156 A função delay expunge habilita um recurso parecido com a tradicional "Lixeira" dos Desktops.[[BR]] 157 Ao deletar uma mensagem ou pasta as mensagens não são removidas imediatamente do disco.[[BR]] 158 Na realidade apenas o indice da caixa é atualizado ( ou seja o usuário não enxerga mais a mensagem em sua caixa )[[BR]] 159 mas a mensagem permanece no disco, até que se rode a rotina "cyr_expire" para realizar o expurgo.[[BR]] 160 161 O administrador do sistema pode retornar a mensagem com o comando "unexpunge" ou no caso de uma pasta[[BR]] 162 removida simplesmente renomea-lá ao contexto do usuário. Isto facilita bastante já que você não tem[[BR]] 163 que recorrer ao backup para restaurar as mensagens apagadas acidentalmente por um usuário. 156 164 157 165 ==== Ativando o delay expunge: ==== … … 164 172 delete_mode: delayed 165 173 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 167 176 }}} 168 177 … … 192 201 Remove previously deleted mailboxes older than delete-days (when using the "delayed" delete mode). 193 202 −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. 195 205 −X expunge-days 196 206 Expunge previously deleted messages older than expunge-days (when using the "delayed" expunge mode). … … 203 213 ==== Restaurando as mensagens excluidas: ==== 204 214 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'''. 215 Para restaurar as mensagens excluídas de uma pasta você precisa ter acesso ao shell do servidor[[BR]] 216 aonde está localizado a caixa.[[BR]] 217 Como o usuário '''root''' ou '''cyrus''' use o comando '''unexpunge'''.[[BR]] 207 218 {{{ 208 219 unexpunge -l user/joe -> Para listar as mensagens removidas mas não expiradas … … 215 226 216 227 ==== Restaurando uma pasta removida: ==== 217 Para restaurar uma pasta removida basta usar o cyradm e renomear a pasta para dentro do usuário 228 Para restaurar uma pasta removida basta usar o cyradm e renomear a pasta para dentro do usuário[[BR]] 218 229 {{{ 219 230 cyradm -u admin imap_server … … 226 237 227 238 === 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. 239 Este recurso ativa um tipo de compactação no Cyrus IMAP. Quando uma mensagem chega para[[BR]] 240 20 pessoas ele cria apenas 1 arquivo no disco e os demais são apenas "'''hard links'''" [[BR]] 241 para este arquivo.[[BR]] 229 242 230 243 Para ativar edite o seguinte arquivo '''/etc/imapd.conf''' e habilite o parâmetro: … … 236 249 Depois reinicie o serviço do cyrus. 237 250 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"''': 251 Para verificar se funcionou mande uma mensagem para 10 usuários, depois vá na pasta spool[[BR]] 252 de um destes usuários e execute o comando '''"ls -li"''': 239 253 {{{ 240 254 cd /var/spool/imap/j/user/joe … … 245 259 }}} 246 260 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.''' 261 Isto significa que existem 10 hardlinks apontando para o INODE 63063562.[[BR]] 262 O 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]] 264 e economiza bastante espaço em disco. 265 266 267 '''Obs: Este recurso funciona legal apenas se as mensagens estiverem sendo entregas[[BR]] 268 via 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]] 271 deste recurso.''' 253 272 254 273 === Expirar mensagens de uma pasta automaticamente === 255 274 256 Via comando de administração IMAP é possível definir um prazo de expiração para mensagens em uma pasta. 275 Via comando de administração IMAP é possível definir um prazo de expiração para mensagens[[BR]] 276 em uma pasta. 257 277 {{{ 258 278 cyradm -u admin imap_server … … 265 285 == FAQs: == 266 286 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 289 Recomendação dos desenvolvedores é usar a versão 2.4.X mais recente.[[BR]] 290 Mas 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 271 294 O Expresso foi testado com Cyrus 2.2, 2.3.X e 2.4.X 272 295 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 298 Geralmente o arquivo '''deliver.db''' está muito grande.[[BR]] 299 Este arquivo é usado para controle de entrega de mensagem não duplicadas[[BR]] 300 e não há problemas em removê-lo.[[BR]] 301 302 '''* Qual o limite de mailboxes que posso ter no cyrus imap ?''' 303 304 Depende se você usa distribuições de 32 bits ou 64 bits.[[BR]] 305 Para 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 313 Os mais importantes são o '''mailboxes.db''' e o '''annotations.db'''[[BR]] 314 O 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 284 317 285 318 * Como restaurar uma instalação do cyrus imap ?