Instalando Zimbra 7.2 community free no Centos 6.2 x64 bits


O Zimbra, é uma suite colaborativa de e-mail muito poderosa e completamente integrada as redes sociais, cujo foco é ser uma alternativa livre ao Microsoft Exchange com muito mais funcionalidades, como compartilhamento de arquivos que não precisam ser anexado ao receber e-mail, compartilhamento de tarefas com controle de horários em tempo real para não haver conflito na hora de delegar tarefas, dentre uma infinidade de funcionalidades para facilitar a vida de todos.

Preparando o CentOS para receber o ZIMBRA.

Instalar e Configurar o DNS Bind 9.7 com ipv6:
yum install bind bind-libs bind-utils caching-nameserver -y

Configurar o named.conf
vim /etc/named.conf

options {
listen-on port 53 { 127.0.0.1; 10.0.0.200;};
listen-on-v6 port 53 { ::1;fe80::20c:29ff:fe49:efcf; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { localhost; 10.0.0.254;};
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;

/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
};

logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};

zone "." IN {
type hint;
file "named.ca";
};

zone "0.0.127.in-addr.arpa" {
type master;
file "named.localhost";
};

zone "dominio.com.br" IN {
type master;
file "/var/named/dominio.com.br";
};

zone "0.0.10.in-addr.arpa" IN {
type master;
check-names ignore;
file "/var/named/10.0.0.200";
};

include "/etc/named.rfc1912.zones";

Configurar o named.caching-nameserver.conf
vim /etc/named.caching-nameserver.conf

options {
listen-on port 53 { 10.0.0.200, 127.0.0.1; };
listen-on-v6 port 53 { ::1;fe80::20c:29ff:fe49:efcf; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { localhost; };
allow-query-cache { localhost; };
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view localhost_resolver {
match-clients { localhost; };
match-destinations { localhost; };
recursion yes;
include "/etc/named.rfc1912.zones";
};

Criar o arquivo 10.0.0.200: como o reverso
vim /var/named/10.0.0.200

$ORIGIN 0.0.10.in-addr.arpa.

$TTL 3D

@ SOA dominio.com.br. root.dominio.com.br. (14 4h 1h 1w 1h)

@ IN NS dominio.com.br.
IN AAAA fe80::20c:29ff:fe49:efcf
211 IN PTR dominio.com.br.
IN MX 10 dominio.com.br.

dominio.com.br. IN A 10.0.0.200
mail.dominio.com.br. IN A 10.0.0.200

pop3 IN A 10.0.0.200
pop IN A 10.0.0.200
dominio.com.br. IN MX 0 10.0.0.200
smtp IN A 10.0.0.200
mail IN A 10.0.0.200
mail2 IN A 10.0.0.200

Criar o arquivo: dominio.com.br
vim /var/named/dominio.com.br

$ORIGIN dominio.com.br.

$TTL 3D

@ SOA dominio.com.br. root.dominio.com.br. (15 4h 1h 1w 1h)

@ IN NS dominio.com.br.
IN AAAA fe80::20c:29ff:fe49:efcf
dominio.com.br. IN A 10.0.0.200
mail.dominio.com.br. IN A 10.0.0.200

smtp IN A 10.0.0.200
pop3 IN A 10.0.0.200
pop IN A 10.0.0.200
mail IN A 10.0.0.200
mail2 IN A 10.0.0.200
dominio.com.br. IN MX 10 10.0.0.200

Iniciar o serviço:
service named start

Editar o arquivo hosts
vim /etc/hosts
#
10.0.0.200 dominio.com.br mail
127.0.0.1 localhost.localdomain localhost
## IpV6
::1 localhost6.localdomain6 localhost6
#

Verificar em network se o nome esta ok.
vim /etc/sysconfig/network

Removendo pacotes conflitantes
yum remove sendmail, exim

Desabilitando o firewall
chkconfig ip6tables off && chkconfig iptables off

Instalando Dependencia.
yum install -y sudo curl file gmp sysstat perl libxml -y

Baixando o ZIMBRA
cd /opt/
&&
wget http://files2.zimbra.com/downloads/7.2.0_GA/zcs-7.2.0_GA_2669.RHEL6_64.20120410002025.tgz
&&
tar -zxvf zcs-7.2.0_GA_2669.RHEL6_64.20120410002025.tgz
&&
cd zcs-7.2.0_GA_2669.RHEL6_64.20120410002025
&&
chmod +x install.sh

Instalando
./install.sh --platform-override

Aceitar a licença.
Do you agree with the terms of the software license agreement? [N] – Y

Selecione os pacotes a ser intalados - Y

Install zimbra-ldap [Y]
Install zimbra-logger [Y]
Install zimbra-mta [Y]
Install zimbra-snmp [Y]
Install zimbra-store [Y]
Install zimbra-apache [Y]
Install zimbra-spell [Y]
Install zimbra-proxy [N]
Install zimbra-mcache [N]

Install anyway? [N] Y
The system will be modified. Continue? [N] Y

Então irar continuar a instalação:

Durante a configuração básica, você deve setar APENAS a senha do administrador. Para isto, selecione a opção 3 do menu, e depois no próximo menu, a opção 4, para efetuar a troca da senha do usuário “Admin”.

Efetuado o cadastro da senha, pressione “r” até voltar a tela inicial (menu listado anteriormente).

Pronto, precisávamos setar apenas esta senha para que tudo possa funcionar. Para aplicar a configuração, pressione “a”.

Em seguida, o instalador irá solicitar-lhe que salve a configuração, basta seguir a instrução na tela que não tem erro🙂

Após salvar a configuração, ele irá perguntar se você deseja iniciar o servidor Zimbra, então selecione sim (“Y”)

service zimbra start

Zimbra já esta funcionando!🙂
Para acessar…
Coloque o browser o ip do servidor zimbra, o usuário: admin e a senha que vc definiu na instalação! e pronto!

Scripts de Backup adicionar ao cron

Cria o Backup completo todo dia 1 de cada mês.

crontab -e
59 23 1 * * sh /root/backupfullzimbra.sh&

vim /root/backupfullzimbra.sh

#!/bin/bash
####################################################
#Backup completo de todo zimbra. (uma vez por mês) #
####################################################
service zimbra stop
mkdir -p /var/backupfullzimbra/`date +%d-%m-%y`
cp -rp /opt/zimbra /var/backupfullzimbra/`date +%d-%m-%y`/
service zimbra start

Cria o backup de todas as contas diariamente a 1 da manhã.

crontab -e
10 05 * * * sh /root/backupdiariocontas.sh&

vim /root/backupdiariocontas.sh
#!/bin/bash
###########################################
#Backup da contas de usuarios. (Todo Dia) #
###########################################
#Gera lista de todos usuarios
su - zimbra -c "zmprov -l gaa dominio.com.br" > lista.txt

#cria diretorio com a data do dia e da permissão para o usuario zimbra.
mkdir -p /backup/`date +%d-%m-%y`
chown zimbra.zimbra /backup/`date +%d-%m-%y`

for i in `cat lista.txt`; do

#cria o backup no diretorio escolhido
su - zimbra -c "/opt/zimbra/bin/zmmailbox -z -m $i getRestURL "//?fmt=tgz" > /backup/`date +%d-%m-%y`/$i.tgz"

done
echo "Backup de todas as contas foram feito com sucesso!"

Segue o Script para Restore.

vim /root/restore.sh

!#/bin/bash
#####################################
#Restore de conta pela data. #
#####################################

echo "Digite o Nome do usuario@dominio.com.br"
read user

echo "Digite a data de restore Dia/Mes/Ano ex: 01-07-12"
read data

/opt/zimbra/bin/zmmailbox -z -m $user postRestURL "//?fmt=tgz&resolve=modify" /backup/$data/$user.tgz

#
Caso cometa algum erro e precise remover o ZIMBRA por completo😦
Parando o serviço
service zimbra stop
#
Removendo
cd /opt/zcs-7.2.0_GA_2669.RHEL6_64.20120410002025/
#
./install.sh -u
#
Removendo diretórios
rm -rf /opt/zimbra && rm -rf /var/log/*zimbra* && rm -rf /tmp/*zimbra* && rm -rf /tmp/hsperfdata* && rm -rf /tmp/install.* && rm -rf /tmp/*swatch* && rm -rf /tmp/log*
#
Pronto tudo clean🙂

Firewall se o servidor ZIMBRA estiver atrás de NAT:

#####################################################################
# Regras para redirecionamento pop3 110 e smtp 25 para o Servidor de Email 10.0.0.200 #
#####################################################################
iptables -t nat -A PREROUTING --dst 200.200.200.200 -p TCP --dport 25 -j DNAT --to-destination 10.0.0.200:25
iptables -t nat -A POSTROUTING -p TCP --dst 10.0.0.200 --dport 25 -j SNAT --to-source 200.200.200.200
iptables -t nat -A OUTPUT --dst 200.200.200.200 -p TCP --dport 25 -j DNAT --to-destination 10.0.0.200:25

iptables -A FORWARD -p tcp -d 10.0.0.200 --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -i ppp0 -p tcp -d 200.200.200.200/32 --dport 80 -j DNAT --to 10.0.0.200:80
iptables -t nat -I POSTROUTING -o ppp0 -p tcp -s 10.0.0.200/32 --sport 80 -j SNAT --to-source 200.200.200.200
iptables -t nat -A PREROUTING -p tcp -i ppp0 --dport 80 -j DNAT --to 10.0.0.200:80

iptables -A FORWARD -p tcp -d 10.0.0.200 --dport 25 -j ACCEPT
iptables -t nat -A PREROUTING -i ppp0 -p tcp -d 200.200.200.200/32 --dport 25 -j DNAT --to 10.0.0.200:25
iptables -t nat -I POSTROUTING -o ppp0 -p tcp -s 10.0.0.200/32 --sport 25 -j SNAT --to-source 200.200.200.200
iptables -t nat -A PREROUTING -p tcp -i ppp0 --dport 25 -j DNAT --to 10.0.0.200:25

iptables -A FORWARD -p tcp -d 10.0.0.200 --dport 110 -j ACCEPT
iptables -t nat -A PREROUTING -i ppp0 -p tcp -d 200.200.200.200/32 --dport 110 -j DNAT --to 10.0.0.200:110
iptables -t nat -I POSTROUTING -o ppp0 -p tcp -s 10.0.0.200/32 --sport 110 -j SNAT --to-source 200.200.200.200
iptables -t nat -A PREROUTING -p tcp -i ppp0 --dport 110 -j DNAT --to 10.0.0.200:110

iptables -A FORWARD -p tcp -d 10.0.0.200 --dport 7071 -j ACCEPT
iptables -t nat -A PREROUTING -i ppp0 -p tcp -d 200.200.200.200/32 --dport 7071 -j DNAT --to 10.0.0.200:7071
iptables -t nat -I POSTROUTING -o ppp0 -p tcp -s 10.0.0.200/32 --sport 7071 -j SNAT --to-source 200.200.200.200
iptables -t nat -A PREROUTING -p tcp -i ppp0 --dport 7071 -j DNAT --to 10.0.0.200:7071

iptables -A FORWARD -p tcp -d 10.0.0.200 --dport 7072 -j ACCEPT
iptables -t nat -A PREROUTING -i ppp0 -p tcp -d 200.200.200.200/32 --dport 7072 -j DNAT --to 10.0.0.200:7072
iptables -t nat -I POSTROUTING -o ppp0 -p tcp -s 10.0.0.200/32 --sport 7072 -j SNAT --to-source 200.200.200.200
iptables -t nat -A PREROUTING -p tcp -i ppp0 --dport 7072 -j DNAT --to 10.0.0.200:7072

iptables -A FORWARD -p tcp -d 10.0.0.200 --dport 143 -j ACCEPT
iptables -t nat -A PREROUTING -i ppp0 -p tcp -d 200.200.200.200/32 --dport 143 -j DNAT --to 10.0.0.200:143
iptables -t nat -I POSTROUTING -o ppp0 -p tcp -s 10.0.0.200/32 --sport 143 -j SNAT --to-source 200.200.200.200
iptables -t nat -A PREROUTING -p tcp -i ppp0 --dport 143 -j DNAT --to 10.0.0.200:143

iptables -A FORWARD -p tcp -d 10.0.0.200 --dport 7025 -j ACCEPT
iptables -t nat -A PREROUTING -i ppp0 -p tcp -d 200.200.200.200/32 --dport 7025 -j DNAT --to 10.0.0.200:7025
iptables -t nat -I POSTROUTING -o ppp0 -p tcp -s 10.0.0.200/32 --sport 7025 -j SNAT --to-source 200.200.200.200
iptables -t nat -A PREROUTING -p tcp -i ppp0 --dport 7025 -j DNAT --to 10.0.0.200:7025

iptables -t nat -A PREROUTING --dst 200.200.200.200 -p TCP --dport 7025 -j DNAT --to-destination 10.0.0.200
iptables -t nat -A POSTROUTING -p TCP --dst 10.0.0.200 --dport 7025 -j SNAT --to-source 200.200.200.200
iptables -t nat -A OUTPUT --dst 200.200.200.200 -p TCP --dport 7025 -j DNAT --to-destination 10.0.0.200