Zimbra + Funtoo (Instalação)

De Wiki Hackstore

Prepare o ambiente Ubuntu

Atenção!!! Este artigo se aplica fielmente ao Gentoo Linux. Para essa instalação, utilizamos:

Requisitos para instalação:

  • Linux Funtoo
  • Zimbra - ZCS Open Source Edition 8.0.4


Instale o ebuild debootstrap

emerge debootstrap


Crie o diretório do ambiente Ubuntu

mkdir -p /ubuntu


Faça o download do ambiente Ubuntu

debootstrap --arch amd64 precise /ubuntu http://archive.ubuntu.com/ubuntu


Monte os diretórios necessários para o sistema

mount -o bind /dev /ubuntu/dev
mount -t proc none /ubuntu/proc
mount -t sysfs sys /ubuntu/sys
mount -o bind /dev/pts /ubuntu/dev/pts

Automatize a montagem dos diretórios /proc /sys e /dev via chroot

Adicione as seguintes linhas do seu fstab (fora do chroot):

# Ambiente chroot Zimbra Ubuntu
/dev /ubuntu/dev none bind 0 0
/dev/pts /ubuntu/dev/pts none bind 0 0
proc /ubuntu/proc proc defaults 0 0
sys /ubuntu/sys sysfs defaults 0 0

Copie os arquivos necessários para correta configuração

cp /etc/resolv.conf /ubuntu/etc
cp /etc/hosts /ubuntu/etc
cp /etc/mtab


Faça CHROOT para o ambiente Ubuntu

chroot /ubuntu/ /bin/bash

Configure os locales

echo -e "export PS1=\"(zimbra) \$PS1\"\nexport LANG=\"en_US\"\n#export LC_ALL=\"en_US\"" >> /etc/profile
echo -e "LC_ALL=\"en_US\"\nLANG=\"en_US\"\nLC_MESSAGES=\"en_US\"\nLANGUAGE=\"en_US\"" >> /etc/environment

Instale os locales do sistema

apt-get install locales

Gere os locales:

echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen
echo 'en_US ISO-8859-1' >> /etc/locale.gen
echo 'pt_BR.UTF-8 UTF-8' >> /etc/locale.gen
echo 'pt_BR ISO-8859-1' >> /etc/locale.gen
locale-gen en_US && locale-gen en_US.UTF-8 && locale-gen pt_BR && locale-gen pt_BR.UTF-8 && locale-gen

Atualize os repositórios

Edite o arquivo /etc/apt/sources.list e adicione o conteúdo abaixo:

deb http://archive.ubuntu.com/ubuntu precise main
deb http://security.ubuntu.com/ubuntu precise main restricted
deb http://security.ubuntu.com/ubuntu precise universe
deb http://us.archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu precise-security main restricted
deb http://security.ubuntu.com/ubuntu precise-security universe
deb http://security.ubuntu.com/ubuntu precise-security multiverse


Instale os requisitos

Instale o aptitude:

apt-get install aptitude


Atualize os repositórios:

aptitude update


Adicione o grupo hackstore:

echo "hackstore:x:11:" >> /etc/groups


Configure o .bashrc:

echo 'export LANG="en_US"' >> /root/.bashrc
echo 'export LC_ALL="en_US"' >> /root/.bashrc
echo "alias vi='vim'" >> /root/.bashrc
echo 'export PS1="(zimbra) $PS1"' >> /root/.bashrc
echo 'source /etc/profile' >> /root/.bashrc

Instale alguns utilitários

aptitude install  pax sysstat sqlite3 dialog rcconf vim htop less lsof telnet snmp snmpd rpm wget ssh sudo curl fetchmail libidn11 libgmp3c2 libxml2 libstdc++6 openssl file perl libexpat1 postgrey libperl5.14 psmisc libpcre3 libltdl3-dev -y

Remova pacotes conflitantes com Zimbra

aptitude remove postfix

Atualize a senha de root

passwd


Atualize o DNS

Durante o processo de instalação, na parte em que é configurado o domínio, o zimbra faz uma verificação de DNS ao dominio o qual está sendo configurado. No entanto, o IP da interface de rede, deve responder ao um host válido na zona de DNS do seu dominio. Se o seu servidor de e-mail possui um IP público, provavelmente não terá problemas, se o servidor já estiver configurado com o IP correspondente ao MX da zona de DNS. Mas caso o seu servidor esteja atrás de um NAT, será necessário fazer uma configuração de zona local, para o zimbra entender que o IP privado da interface corresponde à uma configuração de MX válida. Logicamente que com isso, ocorrerá um problema de "relay access denied", quando o servidor receber e-mails. Para resolver isso, basta adicionar seu IP público à configuração de relay nas configurações globais do administrador do zimbra ou apenas rodar o seguinte comando como usuário 'zimbra': (onde zimbra.dominio.com.br é o nome do host.dominio, 192.168.0.0/24 a rede local e xxx.xxx.xxx.xxx o IP público do servidor de e-mail)

zmprov modifyServer zimbra.dominio.com.br zimbraMtaMyNetworks '127.0.0.0/8 192.168.0.0/24 xxx.xxx.xxx.xxx/32'


Atualize o Hostname

Adicione a seguinte configuração ao arquivo /etc/hosts: (supondo que o IP do seu host seja 192.168.0.100)

192.168.0.100        zimbra.dominio.com.br       zimbra


Instale o Zimbra ZCS

Efetue o Download. Acesse http://www.zimbra.com/downloads/os-downloads.html:

wget http://files2.zimbra.com/downloads/8.0.4_GA/zcs-8.0.4_GA_5737.UBUNTU12_64.20130524120036.tgz
tar -xvzf zcs-8.0.4_GA_5737.UBUNTU12_64.20130524120036.tgz
cd zcs-8.0.4_GA_5737.UBUNTU12_64.20130524120036
./install.sh


Instalação dos pacotes

- Instalar todos os pacotes com excessão do 'zimbra-memcached' e 'zimbra-proxy', conforme o padrão:

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-memcached [N] 
Install zimbra-proxy [N] 
  
Checking required space for zimbra-core
checking space for zimbra-store

Installing:
	    zimbra-core
	    zimbra-ldap
	    zimbra-logger
	    zimbra-mta
	    zimbra-snmp
	    zimbra-store
	    zimbra-apache
	    zimbra-spell

- OBS.: Só instale o 'zimbra-memcached' e 'zimbra-proxy' se souber o que está fazendo.

- Após a instalação dos pacotes, apresentará o seguinte erro, não se preocupe:

	DNS ERROR resolving MX for zimbra.dominio.com.br
	It is suggested that the domain name have an MX record configured in DNS
	Change domain name? [Yes] '''Yes'''

Isso ocorre porque o Zimbra tenta utilizar o host.dominio como seu dominio e obviamente, ele não consegue resolver o MX, dê 'ENTER' e digite apenas o dominio, sem o host:

	Create domain: [zimbra.dominio.com.br] '''dominio.com.br'''

- Se tudo der certo, ele aparecerá a seguinte mensagem e já saltará para a tela de configurações:

	MX: zimbra.dominio.com.br (192.168.0.100)

        Interface: 192.168.0.100
        Interface: 127.0.0.1
	 done.


Finalizando a instalação

- Nesse ponto, a única configuração obrigatória é a de senha. Mas aconselho antes seguir os passos abaixo:

Altere o TimeZone

1- Acesse a opção 1 (Common Configuration)

2- Escolha a opção 6 (TimeZone), no meu caso, "America/Sao_Paulo", opção 30:

3- Pressione [r] para retornar ao menu principal


Altere a porta HTTP e HTTPS (opcional)

Esta alteração só é recomendada caso ocorra o seguinte erro:

Checking for port conflicts
Port conflict detected: 80 (zimbra-store)

Port conflict detected: 443 (zimbra-store)

1- Acesse a opção 3 (zimbra-store):

2- Escolha a opção 10 (Web server HTTP port), defina a porta 8888 e pressione ENTER

3- Escolha a opção 11 (Web server HTTPS port), defina a porta 8889 e pressione ENTER

4- Pressione [r] para retornar ao menu principal


Altere a senha do Administrador Global Zimbra

1- Acesse a opção 3 (zimbra-store):

2- Escolha a opção 4 (Admin Password) e defina a senha desejada, e pressione ENTER

3- Pressione [r] para retornar ao menu principal


Salve as alterações

1- Virá a informação de que a configuração está completa, basta digitar [a], pressionar 'ENTER' e responder YES para as perguntas finais:

*** CONFIGURATION COMPLETE - press 'a' to apply

Save configuration data to a file? [Yes]

Save config in file: [/opt/zimbra/config.12595]

Saving config in /opt/zimbra/config.12595...done.

The system will be modified - continue? [No] Yes

Após algum tempo será apresentada a saída padrão do sucesso da instalação:

Operations logged to /tmp/zmsetup.06302013-085612.log
Setting local config values...done.
Initializing core config...Setting up CA...done.
Deploying CA to /opt/zimbra/conf/ca ...done.
Creating SSL zimbra-store certificate...done.
Creating new zimbra-ldap SSL certificate...done.
Creating new zimbra-mta SSL certificate...done.
Installing mailboxd SSL certificates...done.
Installing MTA SSL certificates...done.
Installing LDAP SSL certificate...done.
Initializing ldap...done.
Setting replication password...done.
Setting Postfix password...done.
Setting amavis password...done.
Setting nginx password...done.
Creating server entry for zimbra.dominio.com.br...done.
Setting Zimbra IP Mode...done.
Saving CA in ldap ...done.
Saving SSL Certificate in ldap ...done.
Setting spell check URL...done.
Setting service ports on zimbra.dominio.com.br...done.
Adding zimbra.dominio.com.br to zimbraMailHostPool in default COS...done.
Setting zimbraFeatureTasksEnabled=TRUE...done.
Setting zimbraFeatureBriefcasesEnabled=FALSE...done.
Setting MTA auth host...done.
Setting TimeZone Preference...done.
Initializing mta config...done.
Setting services on zimbra.dominio.com.br...done.
Creating domain zimbra.dominio.com.br...done.
Setting default domain name...done.
Creating domain zimbra.dominio.com.br...already exists.
Creating admin account admin@zimbra.dominio.com.br...done.
Creating root alias...done.
Creating postmaster alias...done.
Creating user spam.lwwww1ey@zimbra.dominio.com.br...done.
Creating user ham.qhbjgv58l@zimbra.dominio.com.br...done.
Creating user virus-quarantine.wwddc7xoy@zimbra.dominio.com.br...done.
Setting spam training and Anti-virus quarantine accounts...done.
Initializing store sql database...done.
Setting zimbraSmtpHostname for zimbra.dominio.com.br...done.
Configuring SNMP...done.
Setting up syslog.conf...done.
Starting servers...done.
Installing common zimlets...
        com_zimbra_email...done.
        com_zimbra_attachcontacts...done.
        com_zimbra_url...done.
        com_zimbra_date...done.
        com_zimbra_bulkprovision...done.
        com_zimbra_clientuploader...done.
        com_zimbra_attachmail...done.
        com_zimbra_cert_manager...done.
        com_zimbra_phone...done.
        com_zimbra_webex...done.
        com_zimbra_proxy_config...done.
        com_zimbra_viewmail...done.
        com_zimbra_ymemoticons...done.
        com_zimbra_adminversioncheck...done.
        com_zimbra_tooltip...done.
        com_zimbra_srchhighlighter...done.
Finished installing common zimlets.
Restarting mailboxd...done.
Creating galsync account for default domain...failed.

You have the option of notifying Zimbra of your installation.
This helps us to track the uptake of the Zimbra Collaboration Server.
The only information that will be transmitted is:
        The VERSION of zcs installed (8.0.4_GA_5737_UBUNTU12_64)
        The ADMIN EMAIL ADDRESS created (admin@zimbra.dominio.com.br)

Notify Zimbra of your installation? [Yes] no

Notification skipped
Setting up zimbra crontab...done.

Moving /tmp/zmsetup.06302013-085612.log to /opt/zimbra/log

Configuration complete - press return to exit

Pós Instalação

Inicie o Zimbra:

/etc/init.d/zimbra start


Configure o SSH do Zimbra para uma porta diferente da 22

Acesse o CHROOT do Zimbra, e edite o arquivo /etc/ssh/sshd_config para alterar a porta padrão para 60022, ou:

sed -i s,'Port 22','Port 60022',g /etc/ssh/sshd_config
/etc/init.d/ssh start

Configure o Zimbra para utilizar o sshd na porta 60022 (como usuário Zimbra):

su - zimbra
zmprov ms ZIMBRA.DOMINIO.COM.BR zimbraRemoteManagementPort 60022

substitua ZIMBRA.DOMINIO.COM.BR com o seu domínio configurado na instalação.

Reinicie o Zimbra (como root):

/etc/init.d/zimbra restart


Ative o Webmail via http ao invés de https (como usuário zimbra)

zmtlsctl http
zmcontrol stop
zmcontrol start

Caso não funcione (geralmente em versões anteriores):

zmprov ms zimbra.dominio.com.br  zimbraMailPort 80
zmprov ms zimbra.dominio.com.br zimbraMtaAuthHost zimbra.dominio.com.br
zmcontrol stop
zmcontrol start

Melhore o sistema anti-SPAM

Ative algumas RBLs no Zimbra

1- Vá ao Zimbra Admin ==> Configurar ==> Configurações Globais ==> MTA

2- Em "Verificações de DNS" (fim da página), configure as opções:

* Endereço IP do cliente (reject_unknown_client_hostname)
* Domínio do remetente (reject_unknown_sender_domain)

3- Ative as RBLs abaixo (Lista de RBLs):

zen.spamhaus.org
sbl.spamhaus.org
dsn.rfc-ignorant.org
bl.spamcop.net


4- Edite o arquivo /opt/zimbra/conf/spamassassin/local.cf e adicione as seguintes linhas:

trusted_networks 127. 10.70. 192.168.
use_bayes 1
bayes_auto_learn
skip_rbl_checks 0

## Optional Score Increases 
#### Choose your preferred values...
score DCC_CHECK 2.500
score SPF_FAIL 10.000
score SPF_HELO_FAIL 10.000
score BAYES_99 6.300
score BAYES_90 3.200
score BAYES_80 2.800

Whitelists e Blacklists

Edite o arquivo /opt/zimbra/conf/salocal.cf.in para configurar as listas:

blacklist_from sales@traveloforange.com
whitelist_from bill@yahoo.net
blacklist_from *@emn-mysavingsnow.net
whitelist_from *@gmail.com

Caso queira aplicar as alterações sem reiniciar o Zimbra, execute o comando abaixo (como usuário zimbra):

$ zmmtactl restart && zmamavisdctl restart


Após esse processo, abrir seu navegador preferido e digitar: https://zimbra.dominio.com.br:7071. Abrirá o console de administração, usuário admin e senha que foi configurada na instalação.

Referências: http://wiki.zimbra.com/wiki/Building_Zimbra_on_Gentoo