Atualização do Zimbra para a versão 6
A alguns dias atrás, foi lançada a versão 6 do Zimbra, para atualizar da versão 5 para a 6, o processo é relativamente simples.
Dando continuidade ao howto que escrevi anteriormente, vou descrever os passos necessários para atualizar o zimbra.
Dependências:
O “Zimbra 6″ requer a instalação um pacote novo: sysstat
# yum install sysstat
Download:
Entre em http://www.zimbra.com/community/downloads.html e baixe versão mais atual do zimbra.
Atualização:
# tar xvfz zcs-6
# cd zcs-6
(No CentOS 5.x ou outra distro não listada)
# ./install --plataform-override
(Outra distro suportada oficialmente)
# ./install
Responda as perguntas que aparecem na tela, caso encontre algum erro, corrija-o antes de prosseguir.
HOWTO: ISPConfig 3.x no CentOS 5.x
O ISPConfig é uma ótima ferramenta Open Source para gerenciamento completo de um servidor de Web Hosting. Ele possui ferramentas que abrangem todos os itens indispensáveis para este tipo de serviço, como emails, web, ftp, dns, mysql, revendedores (reseller), painel administrativo para o usuário gerenciar o seu domínio, etc.. é sem dúvidas, uma ótima alternativa ao cPanel WHM.
Instale o repositório rpmforge de acordo com este guia: Adicionando o repositório rpmforge no CentOS 5.X
Pré ajustes
Ambos podem ser desabilitados através do menu “setup” – no item “firewall”.
Preparando o servidor e instalando as dependências:
# yum remove sendmail
# yum update
# yum install amavisd-new bzip2 clamav clamav-data clamav-server clamav-update clamd curl curl-devel cyrus-sasl-devel expect gamin-devel gcc gcc-c++ gdbm-devel getmail httpd imagemagick libtool libtool-ltdl-devel libxml2 libxml2-devel mysql-devel mysql-server ntp openldap-devel openldap-servers openssl-devel pam-devel pcre-devel perl-datetime-format-builder perl-datetime-format-http perl-dbd-mysql perl-libwww-perl php php-bcmath php-common php-devel php-eaccelerator php-gd php-imap php-ldap php-magickwand php-magpierss php-mapserver php-mbstring php-mcrypt php-mhash php-mssql phpmyadmin php-mysql php-odbc php-pear php-shout php-snmp php-soap php-tidy php-xml php-xmlrpc pkgconfig postfix postgresql-devel pure-ftpd quota redhat-rpm-config rpm-build spamassassin squirrelmail subversion unrar unzip webalizer zlib-devel -y
Para facilitar a sua vida, reuni a instalação de todos os pacotes necessários em apenas um “yum install”, assim você pode ir tomar um café e fumar um cigarro tranquilamente enquanto o yum trabalha
Instalando serviços que não estão disponíveis nos repositórios:
# cd /usr/src
mydns:
# wget http://mydns.bboy.net/download/mydns-mysql-1.1.0-1.i386.rpm
# rpm -ivh mydns-mysql-1.1.0-1.i386.rpm
vlogger:
# wget http://n0rp.chemlab.org/vlogger/vlogger-1.3.tar.gz
# tar xvfz vlogger-1.3.tar.gz
# mv vlogger-1.3/vlogger /usr/sbin/
Courier
Por uma exigência do courier-imap, este não pode ser compilado utilizando o usuário root, portanto, iremos criar um usuário apenas para criar os pacotes rpm, não esqueça de remove-lo no final.
# useradd -m -s /bin/bash rpmbuilduser
# passwd rpmbuilduser
Edite o arquivo /etc/sudoers e adicione na última linha:
rpmbuilduser ALL=(ALL) ALL
Faça o download dos pacotes do courier:
# wget http://sourceforge.net/projects/courier/files/courier-authlib/courier-authlib-0.62.4.tar.bz2
# wget http://sourceforge.net/projects/courier/files/courier-imap/courier-imap-4.5.1.tar.bz2
# wget http://prdownloads.sourceforge.net/courier/maildrop-2.0.4.tar.bz2
Alterne para o usuário “rpmbuilder” e prepare o ambiente para gerar os arquivos rpm
# su rpmbuilduser
# mkdir $HOME/rpm
# mkdir $HOME/rpm/SOURCES
# mkdir $HOME/rpm/SPECS
# mkdir $HOME/rpm/BUILD
# mkdir $HOME/rpm/SRPMS
# mkdir $HOME/rpm/RPMS
# mkdir $HOME/rpm/RPMS/i386
# mkdir $HOME/rpm/RPMS/x86_64
# echo "%_topdir $HOME/rpm" >> $HOME/.rpmmacros
Crie os rpms do courier-authlib e instale os pacotes requeridos pelo ISPConfig
# rpmbuild -ta courier-authlib-0.62.4.tar.bz2
# sudo rpm -ivh /home/rpmbuilduser/rpm/RPMS/i386/courier-authlib-0.62.4-1.i386.rpm
# sudo rpm -ivh /home/rpmbuilduser/rpm/RPMS/i386/courier-authlib-mysql-0.62.4-1.i386.rpm
# sudo rpm -ivh /home/rpmbuilduser/rpm/RPMS/i386/courier-authlib-devel-0.62.4-1.i386.rpm
Mesmo procedimento com o courier-imap
# rpmbuild -ta courier-imap-4.5.1.tar.bz2
# sudo rpm -ivh /home/rpmbuilduser/rpm/RPMS/i386/courier-imap-4.5.1-1.i386.rpm
E finalmente o maildrop…
# rpmbuild -ta maildrop-2.0.4.tar.bz2
# sudo rpm -ivh /home/rpmbuilduser/rpm/RPMS/i386/maildrop-2.0.4-1.i386.rpm
Opcionalmente, volte para o usuário root, copie os rpms para /usr/src e delete o usuário rpmbuilder
# exit
# mv /home/rpmbuilduser/rpm/ /usr/src/
# userdel -r rpmbuilduser
Edite novamente o arquivo /etc/sudoers e remova a linha adicionada anteriormente.
Atualize o clam
/usr/bin/freshclam
Ative o sistema de quotas
Edite o arquivo /etc/fstab e na linha referente a partição em que as quotas devem ser acionadas, adicione as opções “,usrquota,grpquota“:
Exemplo:
/dev/sda3 / ext3 defaults,usrquota,grpquota 1 1
Para ativar o sistema de quota (assumindo que você está utilizando quota na /)
# touch /aquota.user /aquota.group
# chmod 600 /aquota*
# mount -o remount /
# quotacheck -avugm
# quotaon -avug
Agora que todos os serviços estão instalados, inicialize eles e verifique se todos subiram corretamente.
# service amavisd start
# service clamd start
# service courier-authlib start
# service courier-imap restart
# service httpd start
# service mydns start
# service mysqld start
# service postfix start
# service pure-ftpd start
# service saslauthd start
Altere o runlevel dos serviços utilizados para que estes inicializem durante o boot:
# chkconfig --level 345 amavisd on
# chkconfig --level 345 clamd on
# chkconfig --level 345 courier-authlib on
# chkconfig --level 345 courier-imap on
# chkconfig --level 345 httpd on
# chkconfig --level 345 mydns on
# chkconfig --level 345 mysqld on
# chkconfig --level 345 postfix on
# chkconfig --level 345 pure-ftpd on
# chkconfig --level 345 saslauthd on
Defina uma senha de root para o banco mysql:
# mysqladmin -u root password senhacomplexa (mas é complexa mesmo viu?)
Nesta altura, todas as dependências e serviços que o ISPConfig estão instalados e rodando corretamente, então podemos inicializar a instalação.
Download do ISPConfig
# cd /usr/src
# wget http://www.ispconfig.org/downloads/ISPConfig-3.0.1.x.tar.gz
Descompacte e rode o script de instalação
# tar xvfz ISPConfig-3.0.1.x.tar.gz
# cd ispconfig3_install/install/
# php -q install.php
Quando você executar o install.php, você precisará responder algumas perguntas específicas do seu servidor, para a maioria delas, uma resposta satisfatória já vem definida.
Durante a execução deste script, todos os serviços serão configurados automagicamente de acordo com as especificações do ISPConfig. Não será necessário editar nenhum arquivo manualmente.
Após rodar o script de instalação, acesse o painel do ISPConfig em http://ipdoservidor:8080 e entre com o usuário admin senha admin (mude imediatamente esta senha)
Observação: Durante o yum inicial, você realizou a instalação do squirrel e este encontra-se disponível em http://ipdoservidor/webmail
Pronto, seu ISPConfig deve estar completamente instalado, agora basta dedicar um pouco de tempo para configurar de acordo com as suas necessidades.
Se você chegou neste post procurando uma alternativa para o cPanel e por algum motivo não gostou do ISPConfig, cito algumas outras opções que podem agradar:
Domain Technologie Control
ispCPOmega – (Fork do VHCS) – Demo – admin / admin123
RavenCore – Demo – Login: admin / ravencore
GNUPanel
Virtualmin GPL
Howto: Filtro de emails usando Spamassassin + Postfix + ClamAV + MailScanner + MailWatch
O MailWatch é uma interface Web para o gerenciamento do MailScanner + ClamAV + SpamAssassin + Postfix, existem diversas formas de implementar uma solução para filtragem de emails, mas a minha preferência é configurar um servidor (virtual ou não) separado para esta função, principalmente devido ao fato do processo de filtragem consumir uma boa parte de recursos do hardware em servidores mais movimentados. Outra grande vantagem deste método, é que ele é compatível com qualquer serviço de email (zimbra, exchange, groupwise, etc….).
Neste post vou explicar como montar um servidor para filtrar todo o seu tráfego de emails, realizando a remoção do “lixo eletrônico” antes de entregar as mensagens para o seu servidor principal de emails.
Partindo de uma instalação mínima do CentOS 5.3, remova o “sendmail”
# yum remove sendmail
Instale o postfix + serviços necessários
# yum install postfix mysql-server php-mysql php-gd httpd gcc spamassassin patch rpm-build
Instalando o clamAV:
Baixe os pacotes RPM do clamav em: http://packages.sw.be/clamav/ e instale com o comando:
# rpm -ivh clam*
Preparing... ############ [100%]
1:clamav-db ############ [100%]
2:clamav ############ [100%]
3:clamav-devel ############ [100%]
4:clamd ############ [100%]
Instalando o Mailscanner:
Faça o download do tar.gz contendo os pacotes RPM
# wget http://www.mailscanner.info/files/4/rpm/MailScanner-4.XX.XX-X.rpm.tar.gz
# tar xvfz MailScanner-4.XX.XX-X.rpm.tar.gz
# cd MailScanner-4.XX.XX-X
# ./install.sh
Agora edite o arquivo /etc/MailScanner/MailScanner.conf
%org-name% = Nome da Empresa
%org-long-name% = Nome completo da empresa
Run As User = postfix
Run As Group = postfix
Incoming Queue Dir = /var/spool/postfix/hold
Outgoing Queue Dir = /var/spool/postfix/incoming
MTA = postfix
Virus Scanners = clamd
Clamd Socket = /tmp/clamd.socket
Use SpamAssassin = yes
SpamAssassin User State Dir = /var/spool/MailScanner/spamassassin
Instalando o Mailwatch:
Faça o download da última versão “stable” do mailwatch em http://mailwatch.sourceforge.net
Descompacte o pacote de instalação e entre no diretório mailwatch-1.0.X
# mysql -u root < create.sql
Crie o usuário mailwatch no mysql com permissões completas na base mailscanner
# mysql -u root
> GRANT ALL ON mailscanner.* TO mailwatch@localhost IDENTIFIED BY 'minhasupersenha';
> GRANT FILE ON *.* TO mailwatch@localhost IDENTIFIED BY 'minhasupersenha';
Edite o arquivo MailWatch.pm e ajuste os parâmetros db_user e db_pass de acordo com o usuário e senha criados.
my($db_user) = 'mailwatch';
my($db_pass) = 'minhasupersenha';
Agora copie o arquivo MailWatch.pm para o CustomFunctions do MailScanner
# cp MailWatch.pm /usr/lib/MailScanner/MailScanner/CustomFunctions
Criando um usuário para o MailWatch (este é o usuário com permissões de administrador, após criar este usuário, os outros podem ser geridos através da interface Web):
# mysql mailscanner -u mailwatch -p
Enter password: ******
> INSERT INTO users (username, password, fullname, type) VALUES ('admin',md5('senhasegura'),'Administrator','A');
Movendo a interface web do Mailwatch para o root dir do apache:
# mv mailscanner/ /var/www/html/
Ajustando permissões:
# cd /var/www/html/mailscanner/
# chown root:apache images
# chmod ug+rwx images
# chown root:apache images/cache
# chmod ug+rwx images/cache
Crie o arquivo conf.php com base no conf.php.example
# cp conf.php.example conf.php
Agora edite o conf.php e ajuste os campos: DB_USER e DB_PASS.
Integrando o MailScanner e o Mailwatch
Pare o MailScanner
# service MailScanner stop
Edite o arquivo /etc/MailScanner/MailScanner.conf e verifique se estas opções estão ajustadas
Always Looked Up Last = &MailWatchLogging
Detailed Spam Report = yes
Quarantine Whole Message = yes
Quarantine Whole Message As Queue Files = no
Include Scores In SpamAssassin Report = yes
Quarantine User = root
Quarantine Group = apache (this should be the same group as your web server)
Quarantine Permissions = 0660
Opcionalmente (para facilitar o debug)
Always Include SpamAssassin Report = yes
Para integrar Whitelist/Blacklist ao mailwatch:
Edite o arquivo SQLBlackWhiteList.pm
Procure pela função “CreateList” e nela defina as informações da sua base de dados.
my($db_name) = 'mailscanner';
my($db_host) = 'localhost';
my($db_user) = 'mailwatch';
my($db_pass) = 'minhasupersenha';
# cp SQLBlackWhiteList.pm /usr/lib/MailScanner/MailScanner/CustomFunctions
Agora vamos configurar o postfix para fazer relay das mensagens do domínio:
Edite o arquivo /etc/postfix/main.cf
relay_domains = exemplo.com.br
Agora edite /etc/postfix/transport e insira
exemplo.com.br smtp:172.22.10.93
Execute:
# postmap /etc/postfix/transport
Estas duas últimas configurações farão com que o postfix permita o relay de mensagens do domínio exemplo.com.br
Já o Transport, irá informar para o postfix que as entregas para o domínio exemplo.com.br devem ser no ip 172.22.10.93
Após realizar testes (muito importante para um ambiente de produção), edite a zona de DNS do seu domínio, e altere a sua entrada MX de forma que aponte para o filtro de emails (e não para o seu mailserver). Desta forma todas as mensagens enviadas para exemplo.com.br cairão no sistema de filtragem e se estiverem limpas serão encaminhadas para o seu servidor de emails.
Para acessar o Mailwatch: http://ip_do_mailwatch/mailscanner
Howto: Instalação e configuração do Zimbra no CentOS 5.X
Documento atualizado em 22/10/2009 para refletir a instalação do Zimbra 6.
Os passos de instalação do Zimbra 5 e do Zimbra 6 são praticamente iguais
O que é o Zimbra?
O Zimbra é uma ferramenta muito completa de emails e colaboração. Ele tem incorporado um rico webmail, calendário corporativo, instant messenger, gerenciador de tarefas(todo list), porta-arquivos, editor de documentos e planilhas em um sistema parecido com Wiki, permitindo contole de versões, entre outros recursos.
Um dos pontos altos desta ferramenta, é que ela permite que os usuários compartilhem itens de sua conta entre si. Desta forma um utilizador, pode compartilhar com um gerente, um documento, a sua lista de tarefas ou até mesmo seu calendário e caixa de emails.
Caso você não conheça o Zimbra, recomendo que assista o seu video-tour de 2 ou 3 minutos que faz um overview completo de todos os seus recursos. Este tour pode ser encontrado aqui.
Sobre este tutorial
O objetivo deste artigo, é orientar o leitor durante o processo de instalação do Zimbra 6 em um CentOS 5, mas sempre lembrando, que para outras distribuições, a maioria das dicas contidas aqui, podem ser reaproveitadas mediante pequenos ajustes.
Passo 1: Preparando o sistema operacional
O Zimbra tem builds específicas para algumas distribuições de Linux, são elas:
* Red Hat Enterprise Linux 4 e 5
* Fedora 7
* Debian 4
* MacOS 10.4 Tiger
* MacOS 10.5 Leopard
* openSUSE Linux 10.2
* SUSE Linux Enterprise Server 10
* Ubuntu 6.06 LTS
* Ubuntu 8.04 LTS
Download do Zimbra Community Edition
Como o CentOS é derivado do Red Hat Enterprise Linux, apenas com o nome e os logotipos trocados, significa que podemos utilizar o Build do Zimbra para Red Hat 5 no CentOS 5. Caso o estejas utilizando outro sistema operacional, pode sempre compilar o Zimbra a partir do código fonte que também está disponível no site. As informações para compilar o zimbra, encontram-se aqui.
Realize a instalação do CentOS 5 normalmente, prestando atenção em dois detalhes:
* O Servidor que está sendo configurado, deve ter um FQDN (Full qualified domain name) configurado, quando o instalador solicitar um hostname, informe algo como zimbra.exemplo.com.br
Observar que na sua zona DNS, zimbra.exemplo.com.br deve apontar para o endereço IP de seu servidor.
* Durante a seleção de pacotes, desmarque o Gnome – Desktop, é totalmente desnecessário para o seu servidor, usando espaço em disco e desperdiçando recursos valiosos.
Após a instalação do Sistema Operacional, edite o arquivo /etc/hosts da seguinte forma:
127.0.0.1 localhost.localdomain localhost
xx.xx.xx.x zimbra.exemplo.com.br zimbra
Onde xx.xx.xx.x é o ip da interface de rede do servidor.
Observar que o formato IP FQDN host deve ser mantido.
Faça as atualizações do CentOS e instale os requisitos do zimbra.
# yum update -y
# yum install compat-db gmp compat-libstdc++-296 compat-libstdc++-33 libtool-ltdl sysstat
Agora remova o sendmail e para evitar conflitos com o MTA do zimbra e instale o fetchmail.
# yum remove sendmail
# yum install fetchmail
Ao instalar o fetchmail, uma de suas dependências será o Exim (que irá conflitar com o MTA do zimbra(postfix)), desabilite a inicialização deste com o comando:
# chkconfig --level 0123456 exim off
Edite o arquivo /etc/sudoers e comente a linha “defaults requiretty”
Edite o arquivo /etc/sysconfig/i18n e deletar a linha LANG=”en_US.UTF-8”.
Passo 2: Instalação do Zimbra 6.x.x
Vá para /usr/src e descompacte o pacote do Zimbra
# tar xvfz zcs-6.0.1_GA_1816.RHEL5.20090911181524.tgz
# cd zcs-6.0.1_GA_1816.RHEL5.20090911181524
Execute o script de instalação:
# ./install.sh --platform-override
O parâmetro –platform-override serve para dizer ao Zimbra que ele deve ignorar o fato de estar sendo instalado em um CentOS ao invés de RedHat.
Uma outra alternativa (que eu não recomendo, apenas cito) é modificar o conteúdo do arquivo /etc/redhat-release
de
CentOS release 5 (Final)
para
Red Hat Enterprise Linux ES release 5
Desta forma não é necessário utilizar o parâmetro –platform-override, entretanto, eu não tenho certeza de quais impactos esta alteração pode trazer para o sistema operacional e/ou para pacotes instalados no futuro.
Durante a execução do script de instalação, ele fará uma série de verificações, se você instalou um CentOS5 e preparou o sistema operacional conforme eu sugeri, a princípio todas as verificações deverão ocorrer sem problemas, caso apareça algum problema, aborte a instalação, resolva e comece novamente o processo.
Para uma instalação “StandAlone” do Zimbra, as configurações indicadas por default já servem para a maioria dos casos.
Ao final da instalação, se você fez tudo correto, o zimbra apresentará uma mensagem de erro informando que zimbra.exemplo.com.br não possuí uma entrada MX válida. Neste momento você irá criar o domínio exemplo.com.br
DNS ERROR resolving MX for zimbra.exemplo.com.br
It is suggested that the domain name have an MX record configured in DNS
Change domain name? [Yes]
Create domain: [zimbra.exemplo.com.br] exemplo.com.br
MX: mail.exemplo.com.br (xx.xx.xx.x)
Interface: xx.xx.xx.x
Interface: 127.0.0.1
DNS ERROR - none of the MX records for exemplo.com.br
resolve to this host
It is suggested that the MX record resolve to this host
Re-Enter domain name? [Yes] no
done.
Após ajustar o o domain, será apresentado um menu com várias configurações do zimbra, sugiro em um primeiro momento alterar algumas delas:
No menu 3) Zimbra Store Recomendo alterar:
4) Admin Password
12) Web server mode – De http para redirect, assim todo o acesso http é automagicamente redirecionado para https, adicionando um pouco mais de segurança para o usuário final.
No menu 1) Common configuration, ajustar o 6) TimeZone
Recomendo passar nos outros menus para verificar se as outras configurações refletem o seu ambiente. Observar também se os endereços mostrados correspondem ao seu hostname e domínio.
Após o término da configuração, use a opção “a” para salvar e aplicar as novas configurações. O instalador passará por mais alguns pontos e com sorte, o processo estará finalizado em alguns minutos.
Passo 3: Configurando o Zimbra
Agora que o Zimbra está instalado e rodando corretamente, acesse o painel administrativo do seu servidor de emails em https://zimbra.exemplo.com.br:7071 com o usuário admin e a senha que você criou durante a instalação.
Antes de começar a criar as contas de email, sugiro criar, duplicar ou editar um “class of service” para os seus usuários.
O “Class Of Service” é como um template de configurações, ao criar um novo usuário e associar ele a um COS, todas as configurações da nova conta, serão realizadas mediante os itens pré-definidos aqui. Se alterar um item no Class Of Service, este também será replicado para todas as contas associadas a ele. Em resumo, uma maneira simples de gerenciar as configurações dos usuários.
De imediato, eu sugiro alguns itens a serem configurados no COS, como por exemplo:
- Features, habilitar o Instant Messenger
- Preferences – habilitar “Automatically login to instant messaging services”
- Preferences – habilitar “Use the GAL when autocompleting addresses”
- Advanced – Definir Quotas para os usuários
- Advanced – Definir uma boa política de senhas, sempre lembrando que usuários tem mania de utilizar senhas espertas como “12345″ e este tipo de atitude pode trazer problemas em um servidor de emails. (Não esqueça de definir os itens mais interessantes como Max Password Age (obrigando o user a trocar sua senha) e Unique Password history (impedindo que ele fique repetindo senhas)
Agora em Global Settings:
Attachments – Proíba principalmente arquivos potencialmente perigosos como .bat .com .exe .scr etc…
Agora você está pronto para começar a criar usuários, grupos e explorar todos os recursos Zimbra.
Críticas, dúvidas, sugestões e comentários são sempre bem vindos e normalmente respondidos. Sinta-se a vontade para usar o formulário abaixo.
Comentários