quarta-feira, 17 de abril de 2013

TUTORIAL - ZIMBRA 8 NO DEBIAN 6 SQUEEZE

TUTORIAL 1 - PRÉ-REQUISITOS E CONFIGURAÇÃO DO SERVIÇO DE DNS


Esse é a primeira parte de uma série de quatro tutoriais que possui como objetivo demonstrar a instalação do mais recente servidor de e-mails Zimbra, a configuração de um backup, e como bônus, a instalação de um chat integrado com o serviço de e-mail.

1 INTRODUÇÃO

 

Zimbra Collaboration Server é um servidor de e-mail Opensource, que integra diversos recursos como por exemplo: agenda, organizador de tarefas e porta arquivos. Através de extensões uma infinidade de outras funcionalidades podem ser implantadas.
Funciona com clientes de e-mails com Thunderbird, Outlook, Evolution, além de possuir um cliente próprio o Zimbra Desktop.
Possui como concorrentes soluções como o Exchange da Microsoft e o GroupWise da Novel. 
Nesse primeiro tutorial iremos prepar o ambiente do sistema operacional e realizar a configuração do serviço de DNS, indispensáveis para a instalação e funcionamento do Zimbra.


2 REQUISITOS DO SERVIDOR DE E-MAIL 



2.1 HARDWARE


Para uma instalação de um servidor de teste é recomendado:

  • Processador Intel ou AMD, 32 ou 64 bits com clock de 1.5 GHz;
  • Memória de 1GB;
  • Espaço livre em disco de 5GB para instalação e logs;
  • Espaço livre em disco para armazenamento das mensagens.

Para uma instalação de um servidor para produção, o mínimo recomendado é:

  • Processador mínimo Intel ou AMD com clock 2.0 GHZ de 32 bits (recomendado processador de 64 bits);
  • Memória ram de 2GB;
  • Espaço livre em disco de 10GB para instalação e logs;
  • Espaço livre em disco para armazenamento das mensagens.


2.2 DOMÍNIO E IP


Um servidor DNS é pré-requisito para a instalação do Zimbra, ele pode estar no mesmo servidor ou em servidor(es) separados. Para nosso tutorial o servidor que irá hospedar o Zimbra é o mesmo que hospeda o servidor de DNS. O servidor de DNS é o responsável por resolver o nome do domínio em um ip.
Todo o domínio precisa ser registrado para poder ser acessível via internet. No Brasil o responsável pelo registro é o Registro.br. Após o registro, é preciso configurar no ambiente do registro.br o endereço do servidor DNS que irá responder pelo seu domínio. Para tanto seu servidor deve possuir um número de ip válido na internet. Na verdade o registro.br exige pelo menos dois servidores DNS que respondam pelo seu domínio. Tal procedimento é adotado para garantir a redundância de forma que se um servidor ficar indisponível, o secundário pode responder em seu lugar. Nem sempre é possível dispor de 2 servidores em um ambiente de testes, dessa forma é possível configurar um único servidor DNS para trabalhar como primário e secundário ao mesmo tempo. Com tal atitude você perde a redundância, mas para um ambiente de teste e estudo é perfeitamente válido. 


2.3 INSTALANDO E CONFIGURANDO O SERVIDOR DNS


Para o nosso tutorial o servidor irá responder pelo dominio teste.com.br e terá como ip o 192.168.0.1 e o 192.168.0.2. Como você pode observar são ips de rede locais, que não são válidos para a internet, no entanto, para uma configuração real basta alterá-los.

a) Execute a instalação do seguinte pacote:

#apt-get install bind9

b) Editar arquivo /etc/hosts e adicionar as seguintes linhas:

192.168.0.1 teste.com.br ns1
192.168.0.2 teste.com.br ns2


O ns1 e ns2 são os nomes de nossos dois servidores DNS que pertencem ao domínio teste.com.br


c) Mudar o nome da máquina para ns1:

#hostname ns1
#echo ns1 > /etc/hostname


d) Editar o arquivo /etc/resolv.conf e deixar com a estrutura abaixo:

domain teste.com.br
search teste.com.br
nameserver 192.168.0.1
nameserver 192.168.0.2


e) Configurar as interfaces de rede editando o arquivo /etc/network/interfaces da seguinte forma:

auto lo eth0 eth0:1
iface lo inet loopback

iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
gateway 192.168.0.254

iface eth0:1 inet static
address 192.168.0.2
netmask 255.255.255.0



Note que o ip 192.168.0.254 diz respeito ao dispositivo responsável por disponibilizar a internet para o servidor. Este dispositivo pode ser um modem adsl, por exemplo.

f) Reiniciar a interface de rede.

#/etc/init.d/networking restart

2.3.1 Configurar o serviço de DNS

a) Adicionar no arquivo /etc/bind/named.conf.local as seguintes linhas:
Dica: Procure digitar e não copiar essa configuração, o Bind é sensível a formatações inseridas por alguns editores ao copiar e colar.

zone "teste.com.br"{
type master;
file "/etc/bind/db.teste.com";
allow-transfer { 192.168.0.2; };
};

b) Criar o arquivo /etc/bind/db.teste.com com o conteúdo abaixo:

$TTL    604800
@    IN    SOA    ns1.teste.com.br. irineu.teste.com.br. (
201303251513  ; Serial
604800        ; Refresh
86400         ; Retry
2419200       ; Expire
604800 )      ; Negative Cache TTL

@    IN    NS    ns1.teste.com.br.
@    IN    A    192.168.0.1

@    IN    NS    ns2.teste.com.br.

@    IN    MX    10    ns1.teste.com.br.
@    IN    A    192.168.0.1

www        A    192.168.0.2


webmail    A    192.168.0.1
mail       A    192.168.0.1
ns1        A    192.168.0.1
ns2        A    192.168.0.2


c) Testes sua configuração do DNS:

#named-checkzone teste.com.br /etc/bind/db.teste.com

Resultado esperado do comando:
zone teste.com.br/IN: loaded serial 3734755897
OK



#/etc/init.d/bind9 restart

#nslookup ns1

Resultado esperado do comando:
Server: 192.168.0.1
Address: 192.168.0.1#53

Name: ns1.teste.com.br
Address: 192.168.0.1



#nslookup ns2
Server: 192.168.0.1
Address: 192.168.0.1#53

Name: ns2.teste.com.br
Address: 192.168.0.2


2.3.2 DNS Reverso

Apenas com a configuração do servidor de DNS que executamos até agora já é possível fazer a instalação do Zimbra. No entanto, para uso em produção é necessário ainda a configuração do DNS Reverso. O DNS Reverso é uma das formas que um servidor utiliza para saber se a mensagem enviada do endereço de ip de seu servidor de e-mail responde ao domínio encontrado no cabeçalho. Vejamos com o exemplo de configuração.


a) Adicionar no arquivo /etc/bind/named.conf.local as seguintes linhas:

zone "0.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.teste.com-rev";
};


b) Criar o arquivo /etc/bind/db.teste.com-rev

$TTL    604800
@    IN    SOA    ns1.teste.com.br. irineu.teste.com.br. (
201303261613    ; Serial
604800        ; Refresh
86400        ; Retry
2419200        ; Expire
604800 )    ; Negative Cache TTL

@    IN    NS    ns1.teste.com.br.
1    IN    PTR   ns1.teste.com.br.
@    IN    NS    ns2.teste.com.br.
2    IN    PTR   ns2.teste.com.br.



h) Testes sua configuração do DNS Reverso:

#named-checkzone 0.168.192.in-addr.arpa /etc/bind/db.teste.com-rev

Resultado esperado:
zone 0.168.192.in-addr.arpa/IN: loaded serial 3734765997
OK



#/etc/init.d/bind9 restart

#dig teste.com.br

Resultado esperado:

;; QUESTION SECTION:
;teste.com.br.            IN    A

;; ANSWER SECTION:
teste.com.br.        604800    IN    A    192.168.0.1

;; AUTHORITY SECTION:
teste.com.br.        604800    IN    NS    ns1.teste.com.br.
teste.com.br.        604800    IN    NS    ns2.teste.com.br.

;; ADDITIONAL SECTION:
ns1.teste.com.br.    604800    IN    A    192.168.0.1
ns2.teste.com.br.    604800    IN    A    192.168.0.2


#dig -x 192.168.0.1


Resultado esperado:

;; QUESTION SECTION:
;1.0.168.192.in-addr.arpa.    IN    PTR

;; ANSWER SECTION:
1.0.168.192.in-addr.arpa. 604800 IN    PTR    ns1.teste.com.br.

;; AUTHORITY SECTION:
0.168.192.in-addr.arpa.    604800    IN    NS    ns1.teste.com.br.
0.168.192.in-addr.arpa.    604800    IN    NS    ns2.teste.com.br.

;; ADDITIONAL SECTION:
ns1.teste.com.br.    604800    IN    A    192.168.0.1
ns2.teste.com.br.    604800    IN    A    192.168.0.2


2.4 DEPÊNDENCIAS


O zimbra exige a instalação de alguns pacotes que podem ser instalados com o comando abaixo:

#apt-get install sysstat sqlite3 sudo nscd libperl5.10

E necessário também remover o pacote exim4 que é um serviço de e-mail nativo do Debian.

#apt-get purge exim4-daemon-light exim4 exim4-daemon-heavy


3 CONCLUSÃO

Neste ponto chegamos ao ambiente do sistema operacional pronto para receber o serviço de e-mail Zimbra. A instalação e configuração é parte do tutorial 2.


REFERÊNCIAS

ZIMBRA, OpenSource Edition + Bind9 (DNS). Disponível em: <http://ensinalinux.blogspot.com.br/2012/04/zimbra-opensource-edition-bind9-dns.html>

6 comentários:

  1. Olá Irineu, primeiramente gostaria de parabenizar pelo ótimo artigo.

    é possível ter um NS1 e NS2 no mesmo servidor utilizando uma única placa de rede?

    ResponderExcluir
  2. Olá. obrigado pela visita.
    Esse tutorial se apoia exatamente no conceito de se utilizar um único servidor com uma única placa de rede física.
    Veja que na configuração da interface foi utilizado iface eth0:1, que nada mais é que um alias para a placa de rede física eth0.

    ResponderExcluir
  3. Excelente artigo. Só uma dúvida...

    O que devo ter cuidado ao tentar colocar o zimbra em produção? é estável? não tenho conhecimento de correio eletronico, mas depois desses ótimos tutoriais, estou pensando em colocar em uma empresa na qual presto serviço. Abraço!

    ResponderExcluir
    Respostas
    1. Olá bom dia,
      diversos fatores devem ser levados em consideração para evitar problemas de entrega e recebimento de mensagens. Na minha opinião o Zimbra é a melhor escolha, em questão de preço/benefício.
      Se desejar presto serviços de Infraestrutura e poderei lhe auxiliar:
      Visite nosso site:
      www.idinf.com.br

      Excluir
  4. Irineu Bom dia, parabéns pelo tutorial instalei o Zimbra como MTA interno recebendo as msg do meu provedor externo e enviando via relay, tenho o dominio interno (.qualquercoisa) e para envio de mensagens externas o zimbra usa o relay com meu dominio .com.br porém as vezes ao responder uma msg ele envia com a extensão do dominio interno (.qualquercoisa) e as vezes com o externo (.com.br). você saberia me dizer o que está acontecendo?

    Abraços

    ResponderExcluir
    Respostas
    1. Diversas configurações podem estar causando esse problema, conseguiria te dizer algo apenas com acesso ao servidor.
      Grato por visitar o blog.

      Excluir