72
Apresentação Professor: Anahuac de Paula Gil Membro da comunidade SL desde 1996 Criador e mantenedor do KyaPanel Autor do livro OpenLDAP Extreme

zimbra-121120045959-phpapp01

Embed Size (px)

DESCRIPTION

Zimbra, apresentação tutorial instalação e configuração

Citation preview

  • Apresentao

    Professor: Anahuac de Paula Gil

    Membro da comunidade SL desde 1996Criador e mantenedor do KyaPanelAutor do livro OpenLDAP Extreme

  • Aulas

    Perodo: de 19 a 30 de novembroHorrio: das 08:30 s 12:30 diariamenteIntervalo: das 10:30 s 10:45

    Mtodo: prticoMeio: on-line em laboratrioMaterial: slides + manuais oficiais em en_US

  • Infra

    Recurso: VirtualBoxSO: Ubuntu Server 10.04 - LTSAplicativo: Zimbra OSE 7.2.0

  • Infra Copiando as VM's

    Cpia comum:

    # cp zimbra.vdi zimbra_mn_ldap.vdi# cp zimbra.vdi zimbra_mn_mailbox.vdi# cp zimbra.vdi zimbra_mn_mta.vdi

    # VBoxManage internalcommands sethduuid zimbra_mn_ldap.vdi# VBoxManage internalcommands sethduuid zimbra_mn_mailbox.vdi# VBoxManage internalcommands sethduuid zimbra_mn_mta.vdi

  • ZM Instalao Distribuda

    Instalar servidor LDAP

    * Instalao normal, selecionando somente o pacote zimbra-ldap na lista de pacotes.

    * Todos os demais pacotes no devem ser instalados

    * Ateno para definir uma senha de admin do LDAP Selecione 1 nas configuraes.

  • Fundamentos

    Servio de correio eletrnico

    SMTP POP/IMAP Base de usurios Anti Vrus Anti Spam Greylist SPF Gotcha

  • Fundamentos

  • DNS

    Resoluo direta de host Resoluo reversa de host Registro MX

    IN MX prioridade host/alias

    Registro TXT

    host IN TXT "v=spf1 a mx ~all"host IN SPF "v=spf1 a mx ~all"

  • DNS

    # apt-get install aptitude# aptitude update# aptitude install bind9 htop nmap loco nail

    Em /etc/bind/named.conf.local

    zone "training.com" IN { type master; notify no; file "/etc/bind/training.com";};

  • DNSEm /etc/bind/training.com

    $ORIGIN training.com.@ 1D IN SOA server.training.com. server.training.com. ( 2010051101 ; serial 10800 ; refresh (3 hours) 3600 ; retry (1 hour) 432000 ; expire (5 days) 38400 ; minimum (10 hours 40 minutes) )

    IN NS server.training.com. IN MX 10 mail

    training.com. IN TXT "v=spf1 a mx ~all"training.com. IN SPF "v=spf1 a mx ~all"

    @ IN A 192.168.0.Xserver IN A 192.168.0.Xmail IN A 192.168.0.Xsmtp IN A 192.168.0.Xpop IN A 192.168.0.Ximap IN A 192.168.0.Xwebmail IN A 192.168.0.Xmuita IN A 192.168.0.Xmailbox IN A 192.168.0.X

  • DNSEm /etc/bind/training.com

    $ORIGIN training.com.@ 1D IN SOA server.training.com. server.training.com. ( 2010051101 ; serial 10800 ; refresh (3 hours) 3600 ; retry (1 hour) 432000 ; expire (5 days) 38400 ; minimum (10 hours 40 minutes) )

    IN NS server.training.com. IN MX 10 mail

    training.com. IN TXT "v=spf1 a mx ~all"training.com. IN SPF "v=spf1 a mx ~all"

    @ IN A 192.168.0.Xserver IN A 192.168.0.Xmail IN A 192.168.0.Xsmtp IN A 192.168.0.Xpop IN A 192.168.0.Ximap IN A 192.168.0.Xwebmail IN A 192.168.0.Xmuita IN A 192.168.0.Xmailbox IN A 192.168.0.X

  • DNS

    Em /etc/resolv.conf

    nameserver ip_do_servidor_dns

  • SMTP x ESMTP

    SMTP ESMTP

    Primeiro comando de conexo:

    HELO

    Primeiro comando de conexo:

    EHLO

    RFC 821 RFC 1869

    SMTP MAIL FROM e RCPT TO permite um tamanho de apenas 512

    caracteres incluindo o .

    ESMTP MAIL FROM and RCPT TO permite um tamanho maior do que 512

    caracteres.

    SMTP puro no pode ser estendido com novos comandos.

    ESMTP um framework que otimiza o SMTP permitindo que se adionem

    novos comandos.

  • Introduo ao Zimbra

    Servio de colaborao

    - Email, agenda, tarefas, arquivos... Foi software proprietrio. Yahoo e VM Ware Feito em Java, compilado. Pacotes prprios de Postfix, OpenLDAP,

    Amavis, MySQL, etc Verses NE e OSE

  • ZM - Componentes

    Jetty Servidor web onde ele executado Postfix Servidor SMTP OpenLDAP Autenticao MySQL Base de dados principal Lucene Servio de textos e pesquisas Antivirus ClamAV, SpamAssassin e Amavis James/Sieve Criao de filtros

  • ZM - Pacotes

    zimbra-apache, zimbra-core, zimbra-ldap,

    zimbra-logger, zimbra-memcached, zimbra-

    mta, zimbra-proxy, zimbra-snmp, zimbra-spell e

    zimbra-store

  • ZM Arquitetura

    Core Ncleo do Zimbra LDAP Autenticao MTA Envio e recebimento de mensagens Store Armazenamento SNMP Anlise e monitoramento Logger Registro de atividades Spell Correo ortogrfica (apache) Proxy Servio POP/IMAP Memcahe Cache e otimizao de memria

  • ZM - Disponibilidade e Escalabilidade

    Disponibilidade Somente disponvel na verso NE Na verso OSE com HeartBeat e DRBD

    Escalabilidade Proveniente do ambiente multi-server

  • ZM Instalao do Zimbra

    1) Download:

    http://www.zimbra.com/downloads/os-downloads.html

    2) Pr-requisitos

    Pacotes extras: libperl5.10, sysstat e sqlite3

    # aptitude install libperl5.10 sysstat sqlite3

    Ao menos 5Gb de espao livre em /opt

  • ZM Instalao do Zimbra

    3) Instalando

    # cd zcs-7.2.0_GA_2669.UBUNTU10_64.20120410002303# ./install.sh

    4) Passos

    - Concorda com a licena?- Seleo dos pacotes a serem instalados: Y para todos- Resoluo de nomes para domnio:

    * Muda hostname?* Muda domnio?

    - Tela de definies: senha admin, portas e outros.- Tecla a confirma- Informar a Zimbra sobre essa instalao?

  • ZM Ps instalao

    Anlise do log de instalao;

    # vi /opt/zimbra/log/zmsetup.*

    Servios e portas iniciadas

    # nmap ip_principal

  • ZM Ps instalao

    Organizao dos diretrios

    # ls /opt/zimbra

    - bin- conf- postfix- store

  • ZM Console Administrativo Endereos

    - Contas- Nomes alternativos- Listas de distribuio- Recursos (locais ou maquinas - agenda)

    Configurao- Classe de servio

    * Informaes gerais* Recursos* Preferncias* Temas* Zimlets* Conjunto de servidores* Avanado

  • ZM Console Administrativo Configurao

    - Domnios

    * Informaes gerais* Lista global de endereos* Autenticao* Hosts virtuais* Avanado* Interoperao livre/ocupado* Zimlets* Temas* Certificado

  • ZM Console Administrativo

    Configurao

    - Configuraes do servidor

    * Informaes gerais* Servios* MTA* IMAP* POP* Volumes

  • ZM Console Administrativo

    Configurao

    - Zimlets

    * http://gallery.zimbra.com/

    * Zimbra Notifier (s para Windows)* Colored E-mails* Downloader* Holiday Calendar* Undo Send

  • ZM Console Administrativo

    Configurao

    - Zimlets

    * Instalando

    Download Zimlets Ditribuir

  • ZM Console Administrativo

    Configurao

    - Extenses administrativas

    * http://gallery.zimbra.com/

    * Domain Signature Disclaimer

  • ZM Console Administrativo Configurao

    - Zimlets

    - Extenses administrativas

    - Configuraes globais* Informaes gerais* Anexos* MTA* IMAP* POP* AS/AV* Interoperao livre/ocupado* Temas* Avanado

  • ZM Console Administrativo

    Monitorando

    - Status do servidor- Estatsticas do servidor

    Ferramentas

    - Filas de e-mail- Atualizaes de software- Certificados- Migrao de conta

    Buscas

  • ZM Linha de comando

    99,9% das vezes, executar como usurio zimbra

    # zmprov help

    Criando domnios e usurios

    # zmprov cd dominio # zmprov ca usuario@dominio senha

  • ZM Linha de comando

    Modificando usurios

    # zmprov ma usuario@dominio zimbraMailQuota cota # zmprov sm usuario@dominio cf /pasta # zmprov sp usuario@dominio senha # zmprov ma usuario@dominio userPassword hash

    Listando domnios e usurios

    # zmprov gad (get all domains) # zmprov -l gaa dominio (get all accounts)

  • ZM Linha de comando Removendo domnios e usurios

    # zmprov da usuario@dominio # zmprov dd dominio

    Automatizando criao

    * criar um arquivo com lista de domnios (/tmp/arq_dom)* criar um arquivo com lista de usurios (/tmp/arq_usu)

    # for each_dom in `cat /tmp/arq_dom` ; do for each_usu in `cat /tmp/arq_usu` ; do zmprov ca $each_usu@$each_dom senha123 ; done ; done

  • ZM Linha de comando

    Automatizando remoo

    * criar um arquivo com lista de domnios# zmprov gad > /tmp/all_doms

    * criar um arquivo com lista de usurios de cada domnio e remov-los e remover o domnio

    # for each_dom in `cat /tmp/all_doms` ; do zmprov -l gaa $each_dom > /tmp/$each_dom ; for each_usu in `cat /tmp/$each_dom` ; do zmprov da $each_usu ; done ; done

  • ZM Linha de comando

    Segredos

    * Remover boto SPAM

    # zmprov mc default zimbraFeatureAntispamEnabled FALSE

    * Confirmao de recebimento

    # zmprov mc default zimbraFeatureReadReceiptsEnabled TRUE# zmprov mc default zimbraPrefMailSendReadReceipts always

  • ZM Linha de comando

    Segredos

    * LDAP tunning

    # zmlocalconfig -e ldap_common_threads=8# zmlocalconfig -e ldap_common_toolthreads=1# zmlocalconfig -e ldap_db_idlcachesize=10000

    * Processo de configurao preso

    # zmlocalconfig -n zmmtaconfig_interval=86400

  • ZM Linha de comando

    Segredos

    * Impedindo modificaes

    /opt/zimbra/conf/zmmta.cf

    * LDAP tunning

    # zmlocalconfig -n zmmtaconfig_interval=86400

    * Fora o uso de autenticao em ambiente SSL

    # zmtlsctl mixed

  • ZM Linha de comando Segredos

    * Definir host virtual

    # zmprov md dominio.foo.bar zimbraVirtualHostname webmail.dominio.foo.bar

    * Mudar URL para interface de alterao de senhas

    # zmprov md dominio.foo.bar zimbraChangePasswordURL https://webmail.dominio.foo.bar:81/kyapanel

    * Limpar cache e forar mudanas mais rapidamente

    # zmprov fc server hostname

  • ZM Linha de comando

    Ilegais: links e logotipos

    * Tentativa de remover o link da tela de login

    # zmtlsctl mixed

    * Mudar link do logotipo

    # zmprov md dominio.foo.bar zimbraSkinLogoURL http://dominio.foo.bar

  • ZM Linha de comando Ilegais: links e logotipos

    * Definir outro logotipo na tela de login (450 x 100)

    # zmprov md dominio.foo.bar zimbraSkinLogoLoginBanner /path/image.png

    * Definir outro logotipo na interface interna (120 x 35)

    # zmprov md dominio.foo.bar zimbraSkinLogoAppBanner /path/image.png

    OBS: No esquecer do permissionamento

  • ZM Testando envio e recebimento Enviando

    * Via interface* Via comando

    # export smtp=endereo_ip# echo teste | nail -v -s Assunto da mensagem -r [email protected] -S smtp-use-starttls -S ssl-verify=ignore -S smtp-auth=login -S [email protected] smtp-auth-password=senha123 [email protected]

  • ZM Instalao Distribuda

    Separar os servios (dividir para conquistar)

    * LDAP Server* Zimbra MailBoxes* MTA ( SMTP + AVAS )

  • ZM Instalao Distribuda

    Benefcios

    * Escalabilidade Pode-se crescer, teoricamente, sem limite

    * Disponibilidade Um server cai, mas os demais continuam funcionando

    * Desempenho Carga distribuda combate gargalos como I/O

    * A busca pelo servidor certo automtica no login

  • ZM Instalao Distribuda

    Instalar servidor LDAP

    * Instalao normal, selecionando somente os pacotes zimbra-ldap e zimbra-snmp na lista de pacotes.

    * Todos os demais pacotes no devem ser instalados

  • ZM Instalao Distribuda

    Instalar servidor LDAP

    * Ateno para a definio da senha de admin do LDAP( Common Configuration 2 )

    * Ateno com o timezone( Timezone = 30 Amrica/So Paulo)

  • ZM Instalao Distribuda

    Instalar servidor LDAP

    * No menu principal selecione 2 zimbra-ldap

    * Defina todas as senhas

  • ZM Instalao Distribuda Instalar servidor Mailbox

    * O pacote zimbra-logger s instalado no primeiro servidor Mailbox

    * Sero instalados os pacotes abaixo:

    * Os pacotes zimbra-memcached, zimbra-proxy e zimbra-snmp tambm

  • ZM Instalao Distribuda

    Instalar servidor Mailbox

    * Configurar o servidor LDAP no menu abaixo (2):

    * Definir senha tambm (4)

    * Definir timezone igual ao do servidor LDAP

  • ZM Instalao Distribuda Instalar servidor Mailbox

    * Admin Password* SMTP Host ainda no foi instalado, mas...

  • ZM Instalao Distribuda

    Instalar servidor Mailbox

    * Definir a senha do nginx 5 7

  • ZM Instalao Distribuda

    Instalar servidor MTA

    * Apenas o pacote zimbra-mta instalado

    * Se for usar SNMP deve instalar em todos os servidores

  • ZM Instalao Distribuda

    Instalar servidor MTA

    * Configurar:

  • ZM Instalao Distribuda

    Instalar servidor MTA

    * Configurar:

    * LDAP 1 2* LDAP Admin password 1 4

    * MTA Auth host 2 2 (Um servidor Mailbox)* Postfix user 2 6* Amavis user 2 7

  • ZM Migrao

    Com mesmo hostname e endereo IP

    Na mquina de Origem

    * Parar o Zimbra

    Na mquina de destino

    * Instalar a mesma verso do Linux* Instalar a mesma verso do Zimbra* Parar o Zimbra* Remover o contedo de /opt/zimbra/* Usar o rsync para copiar tudo:

    # rsync -avHS ip_de_origem:/opt/zimbra/* /opt/zimbra

  • ZM Migrao

    Com endereo IP diferente

    Se for na mesma sub-rede (sub net mask) tudo bem. Nada precisa ser feito alm de ajustar o DNS

    Na mquina de destino

    Se for em outra rede, ser necessrio ajustar o parmetro zimbraMtaMyNetworks com o comando abaixo:

    # zmprov modifyServer hostname_do_servidor zimbraMtaMyNetworks '127.0.0.0/8 novo_endereco_ip'

  • ZM Backup

    Completo

    Implica em copiar todo o /opt/zimbra.

    Prs:

    * Restaurao garantida;* Recuperao de desastres garantida;

    Contras:

    * Muita rea;* Restaurao parcial problemtica

  • ZM Backup

    Somente das caixas

    Implica em copiar os usurios um por um

    Prs:

    * Restaurao parcial facilitada;* Pode-se fazer backup incremental por usurio

    Contras:

    * Restaurao completa mais trabalhosa;* Recuperao de desastres improvvel.

  • ZM Backup

    Misto: completo + caixas postais

    Implica em copiar os usurios um por um

    Prs

    * Todos

    Contras:

    * Muito espao

  • ZM Backup

    Backup completo: How To

    # rsync -avhS --delete origem destino

    Diariamente ou at duas vezes por dia Cuidado com o I/O

  • ZM Backup

    Backup de caixa postal

    Usando SOAP - Protocolo Simples de Acesso a Objetos Usando curl como ferramenta:

    # curl -k -u admin:senha https://serverhost:7071/home/conta/?fmt=tgz> arquivo.tgz

  • ZM Backup

    Backup das informaes LDAP de caixa postal

    Usando ldapsearch

    # ldapsearch -x -H ldapserver -D admin -w senha-b '' -LLL "(zimbraMailDeliveryAddress=caixa_postal)"

    > caixa_postal.ldiff

  • ZM Backup - zmbkpose

    Script pronto

    zmbkpose

    Desenvolvido por um brasileiro; Shell script, usando SOAP e curl; Permite backup e restore de caixas postais individuais e em

    lote Tem que instalar o curl

    # aptitude install curl

  • ZM Backup - zmbkpose

    Configurando zmbkpose

    Criar /etc/zmbkpose e copiar zmbkpose.conf para lDefinir

    # mkdir /etc/zmbkpose ; cp zmbpkose.conf /etc/zmbkpose

    Editar zmbkpose.conf

    ADMINUSERADMINPASSLDAPMASTERSERVERLDAPZIMBRAPASSPARALLEL_SUPPORTMAX_PARALLEL_PROCESS

  • ZM Backup - zmbkpose

    Configurando zmbkpose

    Copiar o script para /usr/bin e definir permissionamento

    # cp zmbkpose /usr/bin# chmod +x /usr/bin/zmbkpose

  • ZM Backup - zmbkpose

    Executando zmbkpose

    # su zimbra# zmbkpose -h # zmbkpose -f# zmbkpose -i

  • ZM Backup - zmbkpose

    Restaurando uma conta

    Corrigir a linha 280 do zmbkpose

    | awk '{print $2}'

    por

    | cut -d: -f1

    # zmbkpose -r conta@dominio data(MM/DD/AA)

  • ZM Recuperao de Desastres

    Restaurar backup completo e ajustar o permissionamento

    Restaurar com cp ou rsync Redefinir os permissionamentos

    # chown -R zimbra:zimbra /opt/zimbra# /opt/zimbra/libexec/zmfixperms

  • ZM Troubleshooting

    Consiste na avaliao dos logs de registro

    /opt/zimbra/log

    mailbox.logaccess_log.*backup.log

  • ZM MySql - Integridade

    Consiste na avaliao dos logs de registro

    /opt/zimbra/libexec/zmdbintegrityreport

    /opt/zimbra/mysql/bin/mysqlcheck --defaults-file=/opt/zimbra/conf/my.cnf -S /opt/zimbra/db/mysql.sock -A -C -s -u root --password=xxxxxxx

  • ZM KyaPanel

    Sistema de gesto de servidores de E-mail

    Permite gesto independente de mltiplos domnios Gesto personalizada por domnio e por usurio Backup e restore integrado Gesto personalizada de spam

    Ainda no gerencia ambientes multi-node

  • ZM KyaPanel Baixando, instalando e configurando

    Baixando de http://www.kyapanel.com Para o Zimbra Instala os pacotes abaixo:

    # aptitude install bc slapd apache2 ldap-utils libapache2-mod-php5 libpam-ldap libdb4.8 phpldapadmin php5-ldap php5-cgi db4.8-util postfix-ldap courier-base courier-imap courier-ldap courier-pop courier-authdaemon libfile-tail-perl librrds-perl librrd4 heirloom-mailx maildrop munin munin-node gettext rrdtool sqlite tcputils xinetd bc maildrop uudeview ytnef

    Basta responder de forma padro qualquer tela de configurao

  • ZM KyaPanel

    Baixando, instalando e configurando

    Apontar o navegador para http://endereoip/kyapanel Basta seguir as orientaes do instalador at finalizar a

    instalao do KyaPanel Remover courier, slapd e postfix da inicializao (rcconf)

    Como o objetivo integrar com Zimbra, antes de configurar os demais servios, vamos fazer a integrao.

    # cd /usr/share/kyapanel/mail/zimbra# ./

    Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31Slide 32Slide 33Slide 34Slide 35Slide 36Slide 37Slide 38Slide 39Slide 40Slide 41Slide 42Slide 43Slide 44Slide 45Slide 46Slide 47Slide 48Slide 49Slide 50Slide 51Slide 52Slide 53Slide 54Slide 55Slide 56Slide 57Slide 58Slide 59Slide 60Slide 61Slide 62Slide 63Slide 64Slide 65Slide 66Slide 67Slide 68Slide 69Slide 70Slide 71Slide 72