Académique Documents
Professionnel Documents
Culture Documents
Page 1 of 17
A Sute Zimbra, um sistema de colaborao e mensagens. Quando se fala em colaborao estamos falando de lista de endereos, calendrio, mensagens instantneas, entre outros aplicativos. Possui um cliente WEB para usurio final bastante intuitiva, mas possvel usar um cliente de email comum. Possui suporte aos seguintes protocolos: SMTP, POP3, IMAP, SOAP,LMTP,XML. Possui um timo recurso de escalabilidade, quanto mais usurios, mais servidores podem ser colocados sem problemas. Neste Post, falaremos um pouco de sua arquitetura, e como no pode faltar, deixar ele funcionando totalmente.
Arquitetura Zimbra
O zimbra composto pelos seguintes pacotes: Zimbra-Core: Onde esto s bibliotecas, utilitrios, ferramentas de monitoramento e arquivos bsicos de configurao. Zimbra-Ldap: onde estaro a base de contas de usurios, incluindo suas senhas. Zimbra-MTA: Este pacote inclui o MTA Postfix, o antivrus, Antispam, e outros. No necessariamente obrigatrio o uso do Postfix para roteamento e entrega de mensagens. Zimbra-Store: onde so armazenadas as caixas postais, escrito em Java, rodando dentro do Jetty. Vrios componentes fazem parte dele como: Data Store : Banco de dados Mysql que armazena os meta-dados, tais como pastas, compromissos, contatos, etc. Message Store : Onde so armazenadas as mensagens e anexos, no formato MIME. Index Store : Atravs destes arquivos de ndice, as busca de contedo de e-mail so otimizados. Zimbra-logger : Utilizado para busca de entrega ou no de mensagens. Muito usado para auditoria. Este pacote opcional, no sendo necessria a instalao do mesmo. Zimbra-Spell : Corretor ortogrfico. Zimbra-Proxy : Proxy para POP/IMAP/HTTP. Utilizado para centralizar e aperfeioar acesso a caixas postais. Zimbra-Archiving : Armazena e permite pesquisar todas as mensagens enviadas e recebidas pelo Zimbra. Zimbra-SNMP : Utilizado para gerar SNMP traps para ferramentas de monitoramento.
Para instalao do Zimbra so necessrios vrios pacotes que fazem parte da sua arquitetura, vejamos abaixo, quais so eles: Postfix : OpenLDAP Mysql : Verity : Lucene : Amavisd-new : ClamAV : SpamAssassin MTA, responsvel pelo roteamento das mensagens. : Autenticao de Usurios e armazenamentos dos atributos de todos objetos Zimbra. Banco de dados onde sero armazenados os meta-dados das mensagens, e outros itens. Mecanismo para converter e exibir em HTML anexos, como doc e pdf. Mecanismo de busca por palavras. Interface entre o Postfix e os filtros utilizados pelo zimbra, para filtro de contedo de email. Antivrus : AntiSpam.
Como podemos ver acima, o Zimbra uma soluo bem completa, que pode atender perfeitamente vrios cenrios. O amigo deve estar se perguntando, mas ele suporta o Microsoft Outlook, com MAPI, tipo Exchange. Sim, suporta. Mas por padro , o Zimbra Open, no vem com recursos para lidar MAPI. necessrio um Conector para fazer esse trabalho. Existem duas possibilidades: Usar o Zimbra Collaboration Suite Network Edition, ao invs da Suite Open Source Edition, que pago, com suporte vrios itens adicionais. Veja mais em http://www.zimbra.com/products/compare_products.html Ou instalar manualmente o conector Funanbol, que ira suportar conexes MAPI. Um processo moroso e complicado, que espero abordar em outro POST.
http://www.stato.blog.br/wordpress/?p=711
03/02/2013
Page 2 of 17
Instalao do Zimbra
Neste ambiente estou usando o Debian 6, para instalao, faremos instalao manual, j que interessante estar atualizado em relao aos pacotes disponvel pelo Zimbra. Vamos precisar de algo em torno de 2 GB de espao, remover o MTA padro que o Exim, e configurao local de DNS. ( Ao final deste texto, esto os arquivos de configurao para este dominio). Mas extremamente necessrio a configurao do servidor DNS tanto a resoluo normal como o reverso. Vamos ento comear removendo o exim.
Vejamos as configuraes do DNS. Estarei utilizando o domnio dominiolinux.net , e o nome da maquina ser mail.dominiolinux.net com endereo IP 192.168.0.180. Edite o arquivo /etc/host e adicione conforme exemplo abaixo:
192.168.0.180
mail.dominiolinux.net mail
No esquea de alterar o hostname, no arquivo /etc/hosts para o nome, no caso do Post mail. Altere via linha de comando o hostname:
O prximo passo instalar o servidor propriamente dito, para isso devemos http://www.zimbra.com/downloads/os-downloads.html, no meu caso estou usando o pacote abaixo:
ento
baixar
pacote,
wget c http://files2.zimbra.com/downloads/7.2.1_GA/zcs7.2.1_GA_2790.DEBIAN5_64.20120815212042.tgz
Antes de comearmos a instalao, pode ser necessrio a instalao de depedencias, e principalmente se tratando do Debian 6. Para o debian 5 so necessrios os seguintes pacotes: NPTL, netcat-traditional-1.10-38, sudo-1.7.4p4-2.squeeze.2, libidn11-1.15-2, libpcre3-8.02-1.1, libgmp3c2-2:4.3.2+dfsg-1, libexpat1-2.0.1-7, libstdc++6-4.4.5-8, libperl5.10-5.10.1-17squeeze3, perl-5.10.1, sysstat e sqlite3.
http://www.stato.blog.br/wordpress/?p=711
03/02/2013
Page 3 of 17
J pro Debian 6 um novo procedimento dever ser feito, pois o Zimbra reconhece o sistema, e o pacote que usamos , ou melhor , disponvel quando escrevo este Post para o Debian 5. Este procedimento foi tirado de http://www.tribosys.com.br/?p=257. Abaixo o procedimento:
apt-get install sudo libpcre3 libgmp3c2 lib32gmp3-dev libgmp3c2 sysstat libexpat1 libidn11 perl-modules wget lzma
#Editar o arquivo util/utilfunc.sh dentro do diretrio do zimbra Substitua: PREREQ_PACKAGES=sudo libidn11 libgmp3 libstdc++6 por: PREREQ_PACKAGES=sudo libidn11 libgmp3c2 libstdc++6
A instalao no padro Debian 5 dever ser feita com o script install.sh, mas para o Debian 6, devemos forar a plataforma , ento deveremos executar o comando abaixo:
./install.sh platform-override
Agora veremos o processo de instalao, onde sero verificadas dependncias entre outros itens, veja abaixo:
Operations logged to /tmp/install.log.7242 Checking for existing installation zimbra-ldapNOT FOUND zimbra-loggerNOT FOUND
http://www.stato.blog.br/wordpress/?p=711
03/02/2013
Page 4 of 17
zimbra-mtaNOT FOUND zimbra-snmpNOT FOUND zimbra-storeNOT FOUND zimbra-apacheNOT FOUND zimbra-spellNOT FOUND zimbra-convertdNOT FOUND zimbra-memcachedNOT FOUND zimbra-proxyNOT FOUND zimbra-archivingNOT FOUND zimbra-clusterNOT FOUND zimbra-coreNOT FOUND
THIS
AGREEMENT CAREFULLY
BEFORE
USING
THE
ZIMBRA, INC. (ZIMBRA) WILL ONLY LICENSE THIS SOFTWARE TO YOU IF YOU FIRST ACCEPT THE TERMS OF THIS AGREEMENT. BY DOWNLOADING OR INSTALLING THE SOFTWARE, OR USING THE PRODUCT, YOU ARE CONSENTING TO BE BOUND BY THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, THEN DO NOT DOWNLOAD, INSTALL OR USE THE PRODUCT.
Do you agree with the terms of the software license agreement? [N] Y
Checking for prerequisites FOUND: NPTL FOUND: netcat-traditional-1.10-38 FOUND: sudo-1.7.4p4-2.squeeze.2 FOUND: libidn11-1.15-2 FOUND: libpcre3-8.02-1.1 FOUND: libgmp3c2-2:4.3.2+dfsg-1 FOUND: libexpat1-2.0.1-7 FOUND: libstdc++6-4.4.5-8 FOUND: libperl5.10-5.10.1-17squeeze3
http://www.stato.blog.br/wordpress/?p=711
03/02/2013
Page 5 of 17
Checking for suggested prerequisites FOUND: perl-5.10.1 FOUND: sysstat FOUND: sqlite3 Prerequisite check complete.
Found zimbra-core Found zimbra-ldap Found zimbra-logger Found zimbra-mta Found zimbra-snmp Found zimbra-store Found zimbra-apache Found zimbra-spell Found zimbra-memcached Found zimbra-proxy
http://www.stato.blog.br/wordpress/?p=711
03/02/2013
Page 6 of 17
Na configurao acima, foram selecionados os pacotes do zimbra que interessam. No farei instalao do spell, memcached e zimbra-proxy. Checking required space for zimbra-core checking space for zimbra-store
You appear to be installing packages on a platform different than the platform for which they were built.
This platform is DEBIAN6_64 Packages found: DEBIAN5_64 This may or may not work.
Using packages for a platform in which they were not designed for may result in an installation that is NOT usable. Your support options may be limited if you choose to continue.
Ele detecta a verso do Debian e informa a respeito, devemos prosseguir conforme acima. Devemos colocar Y para Yes e continuar a instalao.
http://www.stato.blog.br/wordpress/?p=711
03/02/2013
Page 7 of 17
Removing /opt/zimbra Removing zimbra crontab entrydone. Cleaning up zimbra init scriptsdone. Cleaning up /etc/ld.so.confdone. Cleaning up /etc/security/limits.confdone.
Installing packages
zimbra-corezimbra-core_7.2.1_GA_2790.DEBIAN5_64_amd64.debdone zimbra-ldapzimbra-ldap_7.2.1_GA_2790.DEBIAN5_64_amd64.debdone zimbra-loggerzimbra-logger_7.2.1_GA_2790.DEBIAN5_64_amd64.debdone zimbra-mtazimbra-mta_7.2.1_GA_2790.DEBIAN5_64_amd64.debdone zimbra-snmpzimbra-snmp_7.2.1_GA_2790.DEBIAN5_64_amd64.debdone zimbra-storezimbra-store_7.2.1_GA_2790.DEBIAN5_64_amd64.debdone zimbra-apachezimbra-apache_7.2.1_GA_2790.DEBIAN5_64_amd64.deb done Operations logged to /tmp/zmsetup.09102012-204549.log Installing LDAP configuration databasedone. Setting defaults
DNS ERROR resolving MX for mail.dominiolinux.net It is suggested that the domain name have an MX record configured in DNS Change domain name? [Yes] Create domain: [mail.dominiolinux.net] dominiolinux.net MX: mail.dominiolinux.net (192.168.0.180)
Interface: . Interface: 127.0.0.1 Interface: 192.168.0.180 done. Checking for port conflicts
O Zimbra, informar sobre o nome do domnio, que no meu caso estava errado. O zimbra informou que o domnio seria o nome do host, mail.dominiolinux.net, quando na verdade somente dominiolinux.net, desta forma fiz a alterao manualmente. O prximo passo ser realizado a troca de senha do administrador, conforme abaixo.
http://www.stato.blog.br/wordpress/?p=711
03/02/2013
Page 8 of 17
Main menu
1) Common Configuration: 2) zimbra-ldap: 3) zimbra-store: +Create Admin User: +Admin user to create: ******* +Admin Password +Anti-virus quarantine user: +Enable automated spam training: +Spam training user: +Non-spam(Ham) training user: +SMTP host: +Web server HTTP port: +Web server HTTPS port: +Web server mode: +IMAP server port: +IMAP server SSL port: +POP server port: +POP server SSL port: +Use spell check server: Enabled Enabled yes admin@dominiolinux.net UNSET virus-quarantine.avjpo1zcu@dominiolinux.net yes
spam.z178w_zu@dominiolinux.net ham.xuvte0wfow@dominiolinux.net
mail.dominiolinux.net 80 443 http 143 993 110 995 no FALSE FALSE TRUE
+Configure for use with mail proxy: +Configure for use with web proxy: +Enable version update checks:
+Enable version update notifications: TRUE +Version update notification email: +Version update source email: admin@dominiolinux.net admin@dominiolinux.net
7) Default Class of Service Configuration: r) Start servers after configuration s) Save config to file x) Expand menu q) Quit yes
http://www.stato.blog.br/wordpress/?p=711
03/02/2013
Page 9 of 17
Store configuration
1) Status: 2) Create Admin User: 3) Admin user to create: ** 4) Admin Password 5) Anti-virus quarantine user:
Enabled yes admin@dominiolinux.net UNSET virus-quarantine.avjpo1zcu@dominiolinux.net yes spam.z178w_zu@dominiolinux.net ham.xuvte0wfow@dominiolinux.net mail.dominiolinux.net 80 443 http 143 993 110 995 no FALSE FALSE TRUE TRUE admin@dominiolinux.net admin@dominiolinux.net
6) Enable automated spam training: 7) Spam training user: Non-spam(Ham) training user: 9) SMTP host: 10) Web server HTTP port: 11) Web server HTTPS port: 12) Web server mode: 13) IMAP server port: 14) IMAP server SSL port: 15) POP server port: 16) POP server SSL port: 17) Use spell check server: 18) Configure for use with mail proxy: 19) Configure for use with web proxy: 20) Enable version update checks: 21) Enable version update notifications: 22) Version update notification email: 23) Version update source email:
Store configuration
1) Status: 2) Create Admin User: 3) Admin user to create: 4) Admin Password 5) Anti-virus quarantine user:
http://www.stato.blog.br/wordpress/?p=711
03/02/2013
Page 10 of 17
6) Enable automated spam training: 7) Spam training user: Non-spam(Ham) training user: 9) SMTP host: 10) Web server HTTP port: 11) Web server HTTPS port: 12) Web server mode: 13) IMAP server port: 14) IMAP server SSL port: 15) POP server port: 16) POP server SSL port: 17) Use spell check server: 18) Configure for use with mail proxy: 19) Configure for use with web proxy: 20) Enable version update checks: 21) Enable version update notifications: 22) Version update notification email: 23) Version update source email:
mail.dominiolinux.net 80 443 http 143 993 110 995 no FALSE FALSE TRUE TRUE admin@dominiolinux.net admin@dominiolinux.net
Para a troca de senha devemos digitar primeiro o nmero 3 (zimbra-sotre), 4 (Admin password) e ento inserirmos a senha do administrador, que at o momento no estava configurado. Aps digitar a senha podemos digitar r para voltar ao menu anterior. Estamos quase finalizando a instalao. Num prximo momento, deveremos digitar a para aplicar a configurao, Yes para salvar os arquivos de configurao, e Yes para modificao do sistema.
Main menu
1) Common Configuration: 2) zimbra-ldap: 3) zimbra-store: 4) zimbra-mta: 5) zimbra-snmp: 6) zimbra-logger: Enabled Enabled Enabled Enabled Enabled
http://www.stato.blog.br/wordpress/?p=711
03/02/2013
Page 11 of 17
*** CONFIGURATION COMPLETE press a to apply Select from menu, or press a to apply config (? help) a Save configuration data to a file? [Yes] Save config in file: [/opt/zimbra/config.12312] Saving config in /opt/zimbra/config.12312done. The system will be modified continue? [No] yes Operations logged to /tmp/zmsetup.09102012-204549.log Setting local config valuesdone. Setting up CAdone. Deploying CA to /opt/zimbra/conf/ca done. Creating SSL certificatedone. Installing mailboxd SSL certificatesdone. Initializing ldapdone. Setting replication passworddone. Setting Postfix passworddone. Setting amavis passworddone. Setting nginx passworddone. Creating server entry for mail.dominiolinux.netdone. Saving CA in ldap done. Saving SSL Certificate in ldap done. Setting service ports on mail.dominiolinux.netdone. Adding mail.dominiolinux.net to zimbraMailHostPool in default COSdone. Installing webclient skins oasisdone. lavenderdone. sanddone. beachdone. bonesdone. carbondone. smokedone. lakedone. lemongrassdone. skydone. hotroddone. treedone.
http://www.stato.blog.br/wordpress/?p=711
03/02/2013
Page 12 of 17
pebbledone. wavesdone. steeldone. baredone. twilightdone. Finished installing webclient skins. Setting zimbraFeatureTasksEnabled=TRUEdone. Setting zimbraFeatureBriefcasesEnabled=TRUEdone. Setting MTA auth hostdone. Setting TimeZone Preferencedone. Initializing mta configdone. Setting services on mail.dominiolinux.netdone. Creating domain dominiolinux.netdone. Setting default domain namedone. Creating domain dominiolinux.netalready exists. Creating admin account admin@dominiolinux.netdone. Creating root aliasdone. Creating postmaster aliasdone. Creating user spam.z178w_zu@dominiolinux.netdone. Creating user ham.xuvte0wfow@dominiolinux.netdone. Creating user virus-quarantine.avjpo1zcu@dominiolinux.netdone. Setting spam training and Anti-virus quarantine accountsdone. Initializing store sql databasedone. Setting zimbraSmtpHostname for mail.dominiolinux.netdone. Configuring SNMPdone. Checking for default IM conference roomnot present. Initializing default IM conference roomdone. Setting up syslog.confdone.
You have the option of notifying Zimbra of your installation. This helps us to track the uptake of the Zimbra Collaboration Suite. The only information that will be transmitted is: The VERSION of zcs installed (7.2.1_GA_2790_DEBIAN6_64) The ADMIN EMAIL ADDRESS created (admin@dominiolinux.net)
Notify Zimbra of your installation? [Yes] Notifying Zimbra of installation via http://www.zimbra.com/cgi-bin/notify.cgi? VER=7.2.1_GA_2790_DEBIAN6_64&MAIL=admin@dominiolinux.net
Notification complete
http://www.stato.blog.br/wordpress/?p=711
03/02/2013
Page 13 of 17
Starting serversdone. Installing common zimlets com_zimbra_srchhighlighterdone. com_zimbra_socialdone. com_zimbra_attachcontactsdone. com_zimbra_phonedone. com_zimbra_adminversioncheckdone. com_zimbra_cert_managerdone. com_zimbra_bulkprovisiondone. com_zimbra_urldone. com_zimbra_datedone. com_zimbra_linkedindone. com_zimbra_emaildone. com_zimbra_attachmaildone. com_zimbra_webexdone. com_zimbra_dnddone. Finished installing common zimlets. Restarting mailboxddone. Setting up zimbra crontabdone.
Com isso finalizamos a instalao do zimbra. Vamos verificar se os processos esto rodando:
netstat -natup (Nem todos os processos puderam ser identificados, informaes sobre processos de outrem no sero mostrados, voc deve ser root para v-los todos.) Conexes Internet Ativas (servidores e estabelecidas) Proto Recv-Q Send-Q Endereo Local tcp 0 0 127.0.0.1:7306 0.0.0.0:* Endereo Remoto OUA Estado PID/Program name
3738/mysqld
http://www.stato.blog.br/wordpress/?p=711
03/02/2013
Page 14 of 17
tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp6 tcp6 tcp6 tcp6 tcp6 tcp6 tcp6 tcp6 tcp6 udp udp udp udp udp udp udp6 udp6
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 127.0.0.1:3306 0 0.0.0.0:587 0 127.0.0.1:3310 0 0.0.0.0:111 0 0.0.0.0:465 0 192.168.0.180:53 0 127.0.0.1:53 0 0.0.0.0:22 0 127.0.0.1:631 0 0.0.0.0:25 0 127.0.0.1:953 0 127.0.0.1:6010 0 127.0.0.1:6011 0 0.0.0.0:40320 0 192.168.0.180:389 0 127.0.0.1:10663 0 127.0.0.1:10024 0 :::80 0 :::53 0 :::22 0 ::1:631 0 ::1:953 0 ::1:6010 0 ::1:6011 0 127.0.0.1:7171 0 127.0.0.1:7171 0 192.168.0.180:53 0 127.0.0.1:53 0 0.0.0.0:111 0 0.0.0.0:631 0 0.0.0.0:650 0 0.0.0.0:39951 0 :::53 0 :::34956 :::* :::* :::* :::* :::* :::*
0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* OUA OUA OUA
OUA OUA OUA OUA OUA OUA OUA OUA OUA OUA OUA OUA OUA OUA OUA OUA OUA -
3938/clamd
:::* :::*
2935/java TIME_WAIT -
:::*
2935/java
Podemos ver acima vrios processos mysql, zmlooger, avavisd, portas como 25, 7071 ( administrao do Zimbra), entre outras. Neste momento o nosso servidor est pronto. Um detalhe importante que o servidor apache2 no pode estar iniciado, pois o zimbra usa portas do Apache2 para gerenciamento e administrao.
http://www.stato.blog.br/wordpress/?p=711
03/02/2013
Page 15 of 17
Com tudo isso instalado, j podemos acessar o servidor, no endereo de Post seria https://192.168.0.180:7071, a tela abaixo ser exibida:
cadastrada anteriormente. Em contas , possvel criar uma nova conta para podermos testar se o o servidor j est ok. Clicando em nova, ser exibida uma janela, para insero dos dados do usurio, como: Nome da conta, Nome, Sobrenome, etc. Outras opes sero informadas durante o processo de criao, como por exemplo quais itens o usurio poder acessar, quota, entre outros. Para gerar uma nova senha, basta ir ao usurio na lista de usurios, boto direito do mouse, alterar senha. J est pronto para usar o servio de e-mail. Para tirar mais recursos deste, use o http://www.zimbra.com/products/desktop.html. Zimbra Desktop, que poder ser obtido atravs de download em
A configurao sem o uso do Zimbra Desktop, segue padro POP e SMTP j to conhecido, basta informar o nome de usurio e senha, e tambm marcar opo de smtp com autenticao. E j estar pronto para enviar mensagens ( Desde que o DNS esteja configurado corretamente). Note que ainda no falamos de criptografia, por isso a autenticao simples, ainda!!! Abaixo uma imagem do Zimbra Desktop: Com isso,
http://www.stato.blog.br/wordpress/?p=711
03/02/2013
Page 16 of 17
temos a
Abaixo coloco a configurao do Bind9, para funcionamento interno. Nesta configurao de DNS foram criadas uma zona comum e uma reversa. #/etc/bind/named.conf.local zone dominiolinux.net { type master; file /etc/bind/dominiolinux.db; };
Agora os arquivos da base de dados: #/etc/bind/dominiolinux.db ; BIND reverse data file for empty rfc1918 zone ; ; DO NOT EDIT THIS FILE it is used for multiple zones. ; Instead, copy it, edit named.conf, and use that copy. ; $TTL @ 1 86400 IN SOA ns.dominiolinux.net. root.dominiolinux.net. (
NS A
ns.dominiolinux.net. 192.168.0.180
http://www.stato.blog.br/wordpress/?p=711
03/02/2013
Page 17 of 17
IN IN
MX A
10
mail.dominiolinux.net.
192.168.0.180
#/etc/bind/reverso.db ; BIND reverse data file for empty rfc1918 zone ; ; DO NOT EDIT THIS FILE it is used for multiple zones. ; Instead, copy it, edit named.conf, and use that copy. ; $TTL @ 1 86400 IN SOA ns.dominiolinux.net. root.dominiolinux.net. (
NS PTR PTR
Concluso
Por se tratar de um Servidor complexo, neste Post abordamos somente o essencial para o funcionamento. Outros Posts abordaram criptografia, ferramentas de console, Administrao de Servios entre outros. Com certeza assunto para um livro inteiro. O servio principal do zimbra est em /etc/init.d/zimbra e pode ser parado, iniciado e recarregado atravs deste, que controla os outros servios. A instalao no Debian 6 apresentou alguns problemas, mas que foram sanados rapidamente, e ento finalizado de forma fcil e tranquilo. Por se tratar de vrios servios o uso de processador e memria um pouco acima do normal que vemos para servios mais nicos como somente um Apache ou Postfix.
http://www.stato.blog.br/wordpress/?p=711
03/02/2013