segunda-feira, 6 de junho de 2016

TUTORIAL - ZIMBRA 8 NO UBUNTU SERVER 14.04

PALAVRA DO AUTOR

Três anos se passaram desde que escrevi a série de 4 tutoriais explicando na época os detalhes de como instalar o Zimbra em um sistema Debian. 
Devido ao grande sucesso, venho atualizar os tutoriais anteriores, com novas informações, no entanto, agora instalando o Zimbra no Ubuntu 14.04, sistema operacional que possui versão homologada pelo fabricante o qual irá facilitar muito a configuração.

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-mail 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 preparar o sistema operacional para receber o Zimbra e realizar a configuração do serviço de DNS.


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 4 GB;
  • Espaço livre em disco de 5 GB para instalação e logs;
  • Espaço livre em disco para armazenamento das mensagens.

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

  • Processador mínimo Intel ou AMD com clock 2.0 GHZ e de 64 bits;
  • Memória de 8 GB;
  • 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.

Atualização: É possível instalar o Zimbra sem configurar um servidor DNS e utilizar o registro.br para adicionar as entradas DNS necessárias. Apesar de funcionar, a configuração das entradas no registro.br são limitadas, e encontraremos problemas ao tentar implementarmos algumas entradas. Uma dificuldade que enfrentei por exemplo, foi não conseguir adicionar uma entrada DKIM devido ao uso restrito do entre aspas.
Observação: Estarei escrevendo futuramente um tutorial explicando com detalhes do que se trata o DKIM e como utilizá-lo com Zimbra.


2.3 INSTALANDO E CONFIGURANDO O SERVIDOR DNS


Para o nosso tutorial o servidor irá responder pelo domínio 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 LAN, 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 ns1.teste.com.br ns1
192.168.0.2 ns2.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/resolvconf/resolv.conf.d/head 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.

# ifdown eth0 && ifup eth0 && ifup eth0:1

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. (
2016060615    ; 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

ns1        A      192.168.0.1
webmail    CNAME  ns1
pop        CNAME  ns1
smtp       CNAME  ns1
imap       CNAME  ns1   
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 no mínimo 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. (
2016060615    ; 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 2016060615
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.

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


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 libperl5.18 libgmp10 libaio1 pax


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


TUTORIAL, Zimbra 8 no Debian 6 Squeeze. Disponível em: <http://itnproducoes.blogspot.com.br/2013/04/tutorial-zimbra-8-no-debian-6-squeeze.html>



2 comentários:

  1. Boa tarde, estou tentando instalar, mas apresentou o seguinte erro:

    adjusted limit on open files from 4096 to 1048576
    found 1 CPU, using 1 worker thread
    using 1 UDP listener per interface
    using up to 4096 sockets
    loading configuration from '/etc/bind/named.conf'
    /etc/bind/named.conf:10: unknown option '$TTL'
    /etc/bind/named.conf:12: unknown option 'Serial'
    /etc/bind/named.conf:13: unknown option 'Refresh'
    /etc/bind/named.conf:14: unknown option 'Retry'
    /etc/bind/named.conf:15: unknown option 'Expire'
    /etc/bind/named.conf:16: unknown option 'Negative'
    /etc/bind/named.conf:29: unexpected token near end of file
    loading configuration: unexpected token
    exiting (due to fatal error)


    E não consigo prosseguir, tentei achar uma solução, mas sem sucesso.

    ResponderExcluir
    Respostas
    1. Sugiro refazer a instalação do sistema operacional, e iniciar novamente o tutorial.

      Excluir