Com a necessidade de instalar um servidor de e-mail parrudo autenticando no Windows 2003 e sem a vontade de instalar um E(ca)xchange, necessitava de ser o Zimbra. Como não existe quase documentação na Internet de como fazer isso, muito menos em português, criei este arquivo a fim de ajudar os administradores de ambiente Win/Linux.
É importante elencar que o apesar de autenticar no Active Directory, é necessário criar as contas na base LDAP do Zimbra. Para isso foi garimpado na net um script em python que fizesse tal tarefa. Este foi encontrado na http://www.edugeek.net com alguns problemas.
# apt-get install python-ldap
Foi necessário criar uma conta no Active Directory para criar os usuários lá.
zimbra_cs / activezimbra
Corrigido, segue este abaixo:
#!/usr/bin/python
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; GPLv3
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# To obtain a copy of the GNU General Public License, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
# Variables can be changed here:
banned = 'CN=users,DC=exemplo,DC=com, DC=br'
# an OU for banned users
scope = 'CN=users,DC=exemplo,DC=com, DC=br'
#the search scope
domain = "exemplo.com.br" # "example.com"
ldapserver="dc"
#ldap server
port="389"
#ldap port (389 default)
emaildomain="exemplo.com.br"
#the email domain
ldapbinddomain="exemplo.com.br"
#the domain of the ldap bind account
ldapbind="zimbra_cs"
#the account name of the account to bind to ldap
ldappassword="activezimbra"
#the ldap password
pathtozmprov="/opt/zimbra/bin/zmprov"
#--------------------------------------------------
import ldap, string, os, time, sys
#output the list of all accounts from zmprov gaa (get all accounts)
f = os.popen(pathtozmprov +' gaa')
zmprovgaa= []
zmprovgaa = f.readlines()
l=ldap.initialize("ldap://"+ldapserver+"."+domain+":"+port)
l.simple_bind_s('cn=Zimbra Suite,cn=Users,dc=campusi,dc=unig,dc=br',ldappassword) #bind to the ldap server using name/password
try:
res = l.search_s(scope,
ldap.SCOPE_SUBTREE, "(&(ObjectCategory=user) (userAccountControl=512))", [ 'sAMAccountName','givenName','sn','memberOf','displayName'])
#userAccountControl 512 = normal , 514 = disabled account
for (dn, vals) in res:
accountname = vals['sAMAccountName'][0].lower()
displayname = vals['displayName'][0]
displayname = displayname.replace("'",'' )
displayname = displayname.replace('[','' )
displayname = displayname.replace(']','' )
try:
sirname = vals['sn'][0].lower()
except:
sirname = vals['sAMAccountName'][0].lower()
try:
givenname = vals['givenName'][0]
except:
givenname = vals['sAMAccountName'][0].lower()
try:
groups = vals['memberOf']
except:
groups = 'none'
initial = givenname[:1].upper()
name = initial + "." + sirname
accountname = accountname + "@" + emaildomain
password = " \'\' "
sys.stdout.flush()
# if the account doesn't exist in the output of zmprov gaa create the account
if accountname +"\n" not in zmprovgaa:
print accountname," exists in active directory but not in zimbra, the account is being created ", displayname, "\n"
os.system(pathtozmprov +' ca %s %s displayName \"%s \"' % (accountname,password,displayname))
# if the account is in the group 'banned' check to see if account already locked
if banned in groups:
zmprovga = os.popen(pathtozmprov + ' ga %s' % (accountname))
ga= []
ga = zmprovga.readlines()
locked = "zimbraAccountStatus: locked\n"
if locked not in ga: #if account not locked then lock it
print accountname, " has been BANNED from the internet. The email account has been locked "
os.system(pathtozmprov + ' ma %s zimbraAccountStatus locked' % (accountname))
# time.sleep(1)
else:
print accountname, " has a locked email account because they are in the 'banned' group"
#set any accounts to 'active' if they are not in the banned group and the account is currently locked
else:
zmprovga = os.popen(pathtozmprov + ' ga %s' % (accountname))
ga= []
ga = zmprovga.readlines()
locked = "zimbraAccountStatus: locked\n"
if locked in ga:
os.system(pathtozmprov + ' ma %s zimbraAccountStatus active' % (accountname))
time.sleep(1)
print accountname, " is no longer in the 'banned' group, therefore the account has been activated"
except ldap.LDAPError, error_message:
print error_message
l.unbind_s()
Eu o gravei com o nome de /usr/local/sbin/zimbra.py e o coloquei no crontab para ser executado a cada hora.
Terminado de rodar o script, verifique na opção de Contas do Console de Administração se as contas estão criadas corretamente.
[3] Comentário enviado por removido em 16/06/2008 - 17:05h
Humberto, parabéns
Tenho o Zimbra rodando em vários clientes e todos estão satisfeito com esta solução. Pode se utilizar à base do AD como você mencionou, mas também existe a possibilidade de utilizar a própia base LDAP do Zimbra ou uma externa. As funcionalidades tanto do painel administrativo quando da interface dos usuários são fantásticas, sem menor sombra de dúvida o Zimbra no dia de hoje é o melhor ferramenta colaborativa OpenSource do mercado.
Sem falar as funcionalidades do Antivirus e AntiSPAM integradas (-:
Abraços
[5] Comentário enviado por leandromoreirati em 20/06/2008 - 10:49h
Caros,
É possível importar uma base de dados já existente, tenho um servidor de email com postfix + LDAP, funcionando perfeitamente gostaria de usar a base dele no zimbra, ou que o zimbra buscasse essa minha base externa.
[9] Comentário enviado por hlbomfim em 26/06/2008 - 18:26h
leo_jfa, nas configurações avançadas (item 4), na 8a. figura em vez de "Diretorio Ativo Externo", coloque "LDAP Externo" e continue conforme o resto dos passos
[10] Comentário enviado por leandromoreirati em 07/07/2008 - 11:26h
Caros,
Estou tendo dificuldade em enviar e receber email, estou com o zimbra instalado e funcionaod, a unica diferença pro artigo acima é que estou usando a autenticação interna dele.
Agradeço a todos pela ajuda.
[11] Comentário enviado por removido em 08/07/2008 - 20:40h
?comentario=Estou instalando essa Suíte na empresa, agora uma dúvida:
Vi que o console de administração é em https, e para o acesso do usuário pelo webmail com https como deve proceder?
[12] Comentário enviado por denis.vieira em 11/07/2008 - 17:05h
Preciso de um tutorial para fazer backup no zimbra, todos que pego não estão dando serto, a versão que uso não me deixa fazer backup de usuario por usuario ele faz um backup geral misturando todos não me da a opção de saber de quem é o determinado e-mail.
A minha versão do zimbra é a 5.4, é uma versão free.
Faço um apelo a todos pois ja estou desisperado com este problema muito obrigado caros colegas.
[14] Comentário enviado por hlbomfim em 16/08/2008 - 21:37h
Pessoal, uma coisa muito importante.
Várias pessoas tem me mandado e-mail falando que não conseguem enviar. O problema que percebí é que vários o serviço de mta não está iniciando.
Isso acontece porque antes de iniciar a instalação não pode ter nenhum programa escutando a porta 25.
Antes de iniciar a instalação, tente executar um nmap, netstat e/ou telnet na porta 25 para ver se ela está livre mesmo. Caso não, procure o processo que está utilizando essa porta (netstat -p), desinstale o pacote e mate a aplicação também.
[16] Comentário enviado por hlbomfim em 20/08/2008 - 19:03h
Caramba!! que vacilo!! eu não corrigí isso!
Bom, vamos lá: isso é a referência do seu AD.
substitui dc=campusi,dc=unig,dc=br por dc=exemplo,dc=com,dc=br
[17] Comentário enviado por stognete em 20/08/2008 - 19:31h
Cara vou te encher a paciência mais um pouco fiz todas alterações no script para apontar para o meu AD e quando fui executar o script (./zimbra.py) tive os erros abaixo:
Traceback (most recent call last):
File "./zimbra.py", line 42, in ?
l.simple_bind_s('cn=Zimbra Suite,cn=Users,dc=scwww,dc=com,dc=br',ldappassword) #bind to the ldap server using name/password
File "/usr/lib/python2.4/site-packages/ldap/ldapobject.py", line 175, in simple_bind_s
msgid = self.simple_bind(who,cred,serverctrls,clientctrls)
File "/usr/lib/python2.4/site-packages/ldap/ldapobject.py", line 169, in simple_bind
return self._ldap_call(self._l.simple_bind,who,cred,EncodeControlTuples(serverctrls),EncodeControlTuples(clientctrls))
File "/usr/lib/python2.4/site-packages/ldap/ldapobject.py", line 94, in _ldap_call
result = func(*args,**kwargs)
ldap.SERVER_DOWN: {'desc': "Can't contact LDAP server"}
[19] Comentário enviado por stognete em 20/08/2008 - 22:18h
Este domínio eu coloquei num AD de testes (VMWARE) pois estou montando duas máquinas virtuais para demonstrar a solução do Zimbra e do Exchange para clientes.
[21] Comentário enviado por stognete em 21/08/2008 - 07:47h
Cara já tentei através do nome da máquina do AD (scwinsrv.scwww.com.br) e pelo IP dela, mas apresenta o mesmo erro, ontém fiz um teste, troquei a linha "l=ldap.initialize("ldap://"+ldapserver+"."+domain+":"+port)" para "ldap://scwinsrv.scwww.com.br:389" e o script não apresentou erro mas por outro lado não importou nada.
Preciso ter algum conponente específico instalado no Linux além do python-ldap????
você pode escolher como vai mudar a linha 41.
# se pingar para scwinsrv.scwww.com.br e não tiver resposta, essas linhas não vão funcionar
l=ldap.initialize("ldap://"+ldapserver+"."+domain+":"+port) ou
l=ldap.initialize("ldap://scwinsrv.scwww.com.br:389")
# nesse caso, use essa
l=ldap.initialize("ldap://<ip de scwinsrv.scwww.com.br>:389")
qualquer uma delas deve funcionar pois é para efeito de conexão
[23] Comentário enviado por stognete em 21/08/2008 - 12:16h
Cara conseguir resolver, mas agora não estou no escritório, mas lembro que estava tendo um problema nos IDs internos do AD.
Ex.: no script tá 512 e dentro do meu ad tava 66078, já consegui importar, vou postar aqui depois o script completo que funcionou.
[28] Comentário enviado por cristyangiovane em 04/09/2008 - 18:41h
Olá Amigo,
Tenho uma duvida referente ao zimbra que talvez possa me ajudar.
Gostaria que todos usuários da minha rede possuisem uma conta do zimbra e pudessem trocar mensagem entre elas, e apenas alguns usuário pudessem enviar e-mails externos.
Tentei criar um outro dominio "dominio.local" porém ele continua enviando e-mail externo apenas não retorna por causo do DNS.
Saberia me informar se existe algum meio de realizar isso?
[29] Comentário enviado por stognete em 14/09/2008 - 11:15h
Caros amigos conforme havia prometido antes abaixo estou postando o Script para importação dos usuários do AD para o Zimbra, lembro apenas para verificarem o atributo useraccountcontrol em seu AD e alterar no script para importação completa:
#!/usr/bin/python
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; GPLv3
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# To obtain a copy of the GNU General Public License, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
#--------------------------------------------------------------------------------------------------
# Notes:
# This script automatically creates zimbra accounts from active directory, the actrive directory account must have
# the employeeType=STUDENT attributed set. If accounts are in the 'banned' active directory group then the
# account will automatically be locked when the script is run, and unlocked if they are no longer in the AD
# banned group
#--------------------------------------------------------------------------------------------------
# Variables can be changed here:
banned = 'CN=Banidos,DC=scwww,DC=com,DC=br'
# an OU for banned users
scope = 'CN=Users,DC=scwww,DC=com,DC=br'
#the search scope
domain = "scwww.com.br" # "example.com"
ldapserver="scwinsrv1"
#ldap server
port="3268"
#ldap port (389 default)
emaildomain="scwww.com.br"
#the email domain
ldapbinddomain="scwww"
#the domain of the ldap bind account
ldapbind="administrador"
#the account name of the account to bind to ldap
ldappassword="cris1704"
#the ldap password
pathtozmprov="/opt/zimbra/bin/zmprov"
#--------------------------------------------------------------------------------------------------
import ldap, string, os, time, sys
#output the list of all accounts from zmprov gaa (get all accounts)
f = os.popen(pathtozmprov +' gaa')
zmprovgaa= []
zmprovgaa = f.readlines()
l=ldap.initialize("ldap://"+ldapserver+"."+domain+":"+port)
l.simple_bind_s(ldapbinddomain+"\\"+ldapbind,ldappassword) #bind to the ldap server using name/password
try:
res = l.search_s(scope,
ldap.SCOPE_SUBTREE, "(&(ObjectCategory=user) (userAccountControl=512))", ['sAMAccountName','givenName','sn','displayName','memberOf'])
#userAccountControl 512 = normal , 514 = disabled account
for (dn, vals) in res:
accountname = vals['sAMAccountName'][0].lower()
try:
displayname = vals['displayName'][0].lower()
except:
displayname = vals['sAMAccountName'][0].lower()
try:
sirname = vals['sn'][0].lower()
except:
sirname = vals['sAMAccountName'][0].lower()
try:
givenname = vals['givenName'][0]
except:
givenname = vals['sAMAccountName'][0].lower()
try:
groups = vals['memberOf']
except:
groups = 'none'
initial = givenname[:1].upper()
name = initial + "." + sirname
accountname = accountname + "@" + emaildomain
password = " \'\' "
sys.stdout.flush()
# if the account doesn't exist in the output of zmprov gaa create the account
if accountname +"\n" not in zmprovgaa:
print accountname," exists in active directory but not in zimbra, the account is being created\n"
time.sleep(1)
os.system(pathtozmprov +' ca %s %s displayName %s' % (accountname,password,name))
# if the account is in the group 'banned' check to see if account already locked
if banned in groups:
zmprovga = os.popen(pathtozmprov + ' ga %s' % (accountname))
ga= []
ga = zmprovga.readlines()
locked = "zimbraAccountStatus: locked\n"
if locked not in ga: #if account not locked then lock it
print accountname, " has been BANNED from the internet. The email account has been locked "
os.system(pathtozmprov + ' ma %s zimbraAccountStatus locked' % (accountname))
time.sleep(1)
else:
print accountname, " has a locked email account because they are in the 'banned' group"
#set any accounts to 'active' if they are not in the banned group and the account is currently locked
else:
zmprovga = os.popen(pathtozmprov + ' ga %s' % (accountname))
ga= []
ga = zmprovga.readlines()
locked = "zimbraAccountStatus: locked\n"
if locked in ga:
os.system(pathtozmprov + ' ma %s zimbraAccountStatus active' % (accountname))
time.sleep(1)
print accountname, " is no longer in the 'banned' group, therefore the account has been activated"
except ldap.LDAPError, error_message:
print error_message
l.unbind_s()
[37] Comentário enviado por henrique_1502 em 27/09/2008 - 13:54h
Olá, estou com o seguinte problema, fiz toda a instalação não deu nenhum erro, mas quando digito o endereço do servidor zimbra, só aparece a pagina do Apache "It Works" e também não consigo visualizar a paginha de Administração do Zimbra, alguém poderia me ajudar....
[41] Comentário enviado por henrique_1502 em 28/09/2008 - 00:30h
fiz isso, continua o mesmo "erro", tava dando uma olhada no conf do apache do zimbra, ta apontando (DocumentRoot "/opt/zimbra/httpd-2.2.8/htdocs"),na pasta do Zimbra dentro do htdocs só tem um arquivo(ServerResponse.php)... está certo ??? agradeço a atenção......
[45] Comentário enviado por jmaluceli em 28/09/2008 - 13:58h
henrique tambm passei por esse problema mas reinstalei td com o CENTOS5 instalando somente os pacotes básico na parte de servers por exemplo nao marquei nenhum pacote e ai instalei o zimbra e bomboo!! tenta fazer isso!!!
[46] Comentário enviado por jmaluceli em 28/09/2008 - 14:20h
Olá amigo,
tche sei q pode ser uma coisa mto simples pra vc mas ta dando o seguinte erro aqui pra mim:
Traceback (most recent call last):
File "zimbra.py", line 47, in ?
l.simple_bind_s(ldapbinddomain+"\\"+ldapbind,ldappassword) #bind to the ldap server using name/password
File "/usr/lib/python2.4/site-packages/ldap/ldapobject.py", line 176, in simple_bind_s
return self.result(msgid,all=1,timeout=self.timeout)
File "/usr/lib/python2.4/site-packages/ldap/ldapobject.py", line 405, in result
res_type,res_data,res_msgid = self.result2(msgid,all,timeout)
File "/usr/lib/python2.4/site-packages/ldap/ldapobject.py", line 409, in result2
res_type, res_data, res_msgid, srv_ctrls = self.result3(msgid,all,timeout)
File "/usr/lib/python2.4/site-packages/ldap/ldapobject.py", line 415, in result3
rtype, rdata, rmsgid, serverctrls = self._ldap_call(self._l.result3,msgid,all,timeout)
File "/usr/lib/python2.4/site-packages/ldap/ldapobject.py", line 94, in _ldap_call
result = func(*args,**kwargs)
ldap.INVALID_CREDENTIALS: {'info': '80090308: LdapErr: DSID-0C090334, comment: AcceptSecurityContext error, data 525, vece', 'desc': 'Invalid credentials'}
pelo q entendi da mensagem ta dizendo q meu user e senha estao errados mas isso tenho certeza q naum estao ja testei outros usuarios adms do ad e naum foi tmbm. tenho q configurar o kerberos o winbind ou o nsswitch?? (pergunto isso pq no meu freebsd q tenho integrado com o ad tive q configurar), mas pela propaganda com o zimbra e bm mais "fácil".
[50] Comentário enviado por henrique_1502 em 29/09/2008 - 12:33h
acabei de instalar o CentOS5 e o Zimbra, deu o seguinte erro:
"Initializing Documents...failed to initialize documents...see logfile for details."
outra coisa é :
zmcontrol status:
[zimbra@mail ~]$ zmcontrol status
Host mail.florestaviva.com.br
antispam Stopped
zmamavisdctl is not running
antivirus Stopped
zmamavisdctl is not running
zmclamdctl is not running
ldap Running
logger Stopped
logmysql.server is not running
mailbox Stopped
mysql.server is not running
zmmailboxdctl is not running
mta Stopped
postfix is not running
saslauthd is running with pid 10719
snmp Running
spell Running
stats Running
dei um reboot no servidor:
[zimbra@mail ~]$ zmcontrol status
Host mail.florestaviva.com.br
antispam Running
antivirus Running
ldap Running
logger Stopped
logmysql.server is not running
mailbox Stopped
mysql.server is not running
zmmailboxdctl is not running
mta Running
snmp Running
spell Running
stats Stopped
[55] Comentário enviado por rndcasper em 01/10/2008 - 18:32h
Tutorial muito legal
Tenho o zimbra rodando aqui na empresa.
Como faço para o servidor exigir autenticação para enviar email. Me refiro à aquela opção que configuramos no outlook "Meu servidor requer autenticação"
[56] Comentário enviado por halleybr em 02/10/2008 - 10:06h
Fala galera,
eu consegui rodar o script e tal... só que os usuarios autenticam com as inicias do nome, como arf ficando, ARF@pcebr.com.br, teria como o cara autenticar como ARF e o e-mail dele ser angelo@pcebr.com.br?
[57] Comentário enviado por henrique_1502 em 07/10/2008 - 15:29h
Erro no execução do Script
Traceback (most recent call last):
File "zimbra.py", line 30, in ?
l.simple_bind_s('cn=users,dc=niltonlins,dc=br',ldappassword) #bind to the ldap server using name/password
File "/usr/lib/python2.4/site-packages/ldap/ldapobject.py", line 175, in simple_bind_s
msgid = self.simple_bind(who,cred,serverctrls,clientctrls)
File "/usr/lib/python2.4/site-packages/ldap/ldapobject.py", line 169, in simple_bind
return self._ldap_call(self._l.simple_bind,who,cred,EncodeControlTuples(serverctrls),EncodeControlTuples(clientctrls))
File "/usr/lib/python2.4/site-packages/ldap/ldapobject.py", line 94, in _ldap_call
result = func(*args,**kwargs)
ldap.SERVER_DOWN: {'desc': "Can't contact LDAP server"}
[58] Comentário enviado por jmaluceli em 08/10/2008 - 09:36h
Olá pessoal gostaria de saber se alguem ja fez a migracao dos emails de um server imap para o zimbra com o imapsync eu ate ja fiz mas cada usuario eu terei q trocar a senha dele ou terei de saber a senha dele para fazer a migracao?? vcs sabem alguma forma de fazer esta migracao sem ter de passar o password do user??
[63] Comentário enviado por jmaluceli em 17/10/2008 - 12:03h
Gordux se eu entendi sua pergunta vc tem uma base ldap de usuarios e quer migrar eles para o zimbra ou até deixar o zimbra obter a autenticação no seu ldap existente se for isso as duas opções sao possiveis de forma mto fácil na hora em q o hlbomfim optou por obter a autenticação no active_directory vc muda e coloca para obter numa base ldap externa!
[65] Comentário enviado por jcvalim em 11/11/2008 - 17:33h
Opa, ai excelente artigo, mas poderia me dar uma ajuda? Pois fiz a instalação e esta funcionando tudo perfeitamente, só que na hora que estou fazendo a autenticação no Win2003, estou sendo barrado nessa parte, pois não consigo integrar o novo dominio que estou criando pois ele não integra com meu AD, será que estou fazendo algo de errado ou esquecide algum detalhe, poderia me dar alguma dica de onde estou errando?
[68] Comentário enviado por jcvalim em 25/11/2008 - 17:44h
E ai Blz hlbomfim, estou com o mesmo erro do nosso colega stognete e infelizmente não cosegui resolver ne com sua dica nem com a dele, pode me dar uma dica de onde eu possa esta errando, estou postando o erro para ficar mais facil. Talvez seja coisa boba, um pequeno detalhe mas não to conseguindo ver meu erro. Segue o erro:
Traceback (most recent call last):
File "./zimbra.py", line 42, in ?
l.simple_bind_s('cn=Zimbra Suite,cn=Users,dc=hoteldofrade,dc=com',ldappassword) #bind to the ldap server using name/password
File "/usr/lib/python2.4/site-packages/ldap/ldapobject.py", line 176, in simple_bind_s
return self.result(msgid,all=1,timeout=self.timeout)
File "/usr/lib/python2.4/site-packages/ldap/ldapobject.py", line 405, in result
res_type,res_data,res_msgid = self.result2(msgid,all,timeout)
File "/usr/lib/python2.4/site-packages/ldap/ldapobject.py", line 409, in result2
res_type, res_data, res_msgid, srv_ctrls = self.result3(msgid,all,timeout)
File "/usr/lib/python2.4/site-packages/ldap/ldapobject.py", line 415, in result3
rtype, rdata, rmsgid, serverctrls = self._ldap_call(self._l.result3,msgid,all,timeout)
File "/usr/lib/python2.4/site-packages/ldap/ldapobject.py", line 94, in _ldap_call
result = func(*args,**kwargs)
ldap.INVALID_CREDENTIALS: {'info': '', 'desc': 'Invalid credentials'}
[71] Comentário enviado por adrianodalpont em 20/12/2008 - 21:48h
Olá,
Gostaria de tirar mais algumas duvidas sobre o uso de LDAP no Zimbra.
Hoje na empresa em que trabalho eu uso um servidor com LDAP que me fornece autenticação para o dominio, samba, qmail, openfire e proxy. Gostei muito do que li sobre o Zimbra e resolvi instalar para testes em um servidor 64bits que esta parado. Para não complicar a vida dos usuarios(e com isso a minha também) não quero mexer no LDAP atual e continuar centralizando nele o cadastro de usuarios e senhas (a mesma para todos os serviços). Só será desativado o Qmail que será substituido pelo Zimbra.
As duvidas são:
1) O zimbra importará os meus usuarios do LDAP externo e criará uma conta de email para ele ou eu terei que criar uma conta manual com o mesmo usuario do LDAP externo?
2) Caso eu tenha que criar as contas manualmente, o LDAp externo serve só pra autenticar essa conta?
3) O LDAP interno pode ser dastivado se eu usar o LDAP externo.
[72] Comentário enviado por hlbomfim em 20/12/2008 - 22:24h
Boa noite, pessoal..
Desculpe o desaparecimento mas estava tratando de Monografia.. bom.. vamos às perguntas:
jcvalim:
Esse erro é que não está conseguindo conectar o servidor ldap. Dá uma olhada nas permissões da conta que você criou no zimbra. Utilize um programa chamado adexplorer que é muito útil para testar as conexões. Qualquer coisa, me add no msn que ajudo.
[74] Comentário enviado por hlbomfim em 20/12/2008 - 22:41h
adianodalpont:
conforme anteriormente disse ao leo_jfa, nas configurações avançadas (item 4), na 8a. figura em vez de "Diretorio Ativo Externo", coloque "LDAP Externo" e continue conforme o resto dos passos
O script irá criar as contas no ldap interno do zimbra. Não tem como desativar o ldap interno pois o zimbra trabalha diretamente nele, mas conforme as configuraçoes do item 4 ele usará o ldap externo somente para autenticação.
Vale lembrar de colocar o script no cron para "periodicamente atualizar" o ldap interno do zimbra com o externo ou o AD.
Valeu?
Qualquer dúvida, é só postar. Nessas férias as repostas deverão ser no mesmo dia =D
[77] Comentário enviado por marcosevan em 05/01/2009 - 18:21h
Estou tentando rodar o script e apresenta os erros:
/usr/local/sbin/zimbra.py: line 36: import: command not found
/usr/local/sbin/zimbra.py: line 38: syntax error near unexpected token `('
/usr/local/sbin/zimbra.py: line 38: `f=os.popen(pathtozmprov+'gaa')'
Dei uma olhada nos comentarios mas não encontrei algo que ajudasse a resolver, alguém tem uma dica?
[78] Comentário enviado por jcvalim em 28/01/2009 - 17:01h
Cara, meu server Zimbra até esta funcionando mas infelizmente não consegui coloca-lo integrado com o meu servidor LDAP que é W2K3. Se vc concordar em me ajudar eu te adiciono no msn, ai podemos trocar dicas sobre o zimbra.
Vlw... jcvalim
[79] Comentário enviado por fabianotecnico em 03/02/2009 - 11:17h
Galera
Para quem está precisando fazer backup do zimbra, estou disponibilizando o endereço do site de uma empresa francesa
que depois de muitos testes e conclusões desenvolveu gratuitamente e disponibilizou a ferramenta para download.
[82] Comentário enviado por mchrysbr em 16/02/2009 - 11:43h
Olá,
Depois de apanhar no horde, fiquei sabendo do zimbra, me diz uma coisa hoje uso fedora 10 com qmail e base sql, o zimbra rode em cima desse cenario?
[83] Comentário enviado por henrique_1502 em 23/03/2009 - 12:48h
Ferramenta muito boa essa ae....
só estou tendo um pouco de dificuldade pra "restaurar" os "backups" se alguém que usar poder me adc no msn (henrique_1502@hotmail.com) eu agradeço....
[86] Comentário enviado por henrique_1502 em 23/03/2009 - 17:41h
Perfeito era isso mesmo "fabianotecnico"......
só que meu "francês" não é muito bom...hehehehe
consigo fazer o backup só estou tendo um pouco de dificuldade na hora de restaurar....
agradeço a atenção....
[89] Comentário enviado por maironcosta em 21/05/2009 - 16:23h
Parece que a instalação no meu servidor funcionou normalmente, mas quando vou tentar abrir o webmail atraves do IP o mesmo so aparece a messange do apache IT works, alguem pode me ajudar, valeu....
[92] Comentário enviado por marcovincius em 15/06/2009 - 14:42h
Andei vendo aki e qdo tento autenticar tbm dá esse erro:
javax.naming.InvalidNameException: [LDAP: error code 34 - invalid DN]
at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2926)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2732)
at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2646)
at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:283)
at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:175)
at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:193)
at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:136)
at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:66)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.ldap.InitialLdapContext.<init>(InitialLdapContext.java:134)
at com.zimbra.cs.account.ldap.ZimbraLdapContext.ldapAuthenticate(ZimbraLdapContext.java:441)
at com.zimbra.cs.account.ldap.LdapUtil.ldapAuthenticate(LdapUtil.java:117)
at com.zimbra.cs.account.ldap.Check.checkAuthConfig(Check.java:178)
at com.zimbra.cs.service.admin.CheckAuthConfig.handle(CheckAuthConfig.java:46)
at com.zimbra.soap.SoapEngine.dispatchRequest(SoapEngine.java:429)
at com.zimbra.soap.SoapEngine.dispatch(SoapEngine.java:286)
at com.zimbra.soap.SoapEngine.dispatch(SoapEngine.java:160)
at com.zimbra.soap.SoapServlet.doPost(SoapServlet.java:275)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at com.zimbra.cs.servlet.ZimbraServlet.service(ZimbraServlet.java:190)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
at org.mortbay.servlet.UserAgentFilter.doFilter(UserAgentFilter.java:81)
at org.mortbay.servlet.GzipFilter.doFilter(GzipFilter.java:132)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:716)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:406)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:211)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.handler.rewrite.RewriteHandler.handle(RewriteHandler.java:350)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:313)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:844)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:644)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:205)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
Alem como na mensagem acima nao ter conseguido executar (criei o arquivo atraves deste excelente tuto) o zimbra.py q nao sei onde fica...
[93] Comentário enviado por marcovincius em 22/06/2009 - 10:22h
Jmaluceli e Jcvalim,
Procurando por tutos na net, o seu problema de 'Invalid credentials' eh soh alterar a linha:
l.simple_bind_s('cn=Zimbra Suite,cn=Users,dc=exemplo,dc=com,dc=br',ldappassword) por
l.simple_bind_s('exemplo\zimbra_cs',ldappassword)
Me batih com essa historia durante duas semanas... mas efim, conseguih, juntamente com este excelente tuto, resolver o problema...
[94] Comentário enviado por cleibson em 28/07/2009 - 17:32h
Olá pessoal. Instalei meu servidor zimbra com o nome zmserver.dominio.com.br, já tenho usuário rodando tudo blz. Mas como o webmal antigo era acessado pelo endereço webmail.dominio.com.br eu criei um CNAME no dns com esse nome. Acessa blz, mas quando vai fazer download de algum arquivo do porta-arquivo dá acesso negado(na url negada tá zmserver.dominio.com.br), acho que tá dando problema porque eu acesso com webmail.dominio.com.br e na hora que vai fazer o download de um arquivo no porta-arquivos ele tenta baixar com zmserver.dominio.com.br.
[95] Comentário enviado por efcunha em 31/08/2009 - 11:22h
Olá pessoal, gostaria de saber se alguem poderia me ajudar na configuração do script de importação do active directory para o AD, minha configuração esta o sequinte:
Windows 2003
* Domínio: exemplo.com.br
* Nome: filesrv01
* IP : 11.1.1.1
[96] Comentário enviado por FireBird em 14/09/2009 - 12:34h
Cara..To com um problema aqui...
ANTES DE TUDO, MUITO PARABÉNS pelo artigo... e ajudou DEMAIS... tava tomando um coro danado do zimbra ate conseguir fazer funfar... Mas assim... Vamo la...
Ta tudo funfando, agora, quero integrar o zimbra com meu ad... só que tem 1 detalhe...
Minhas contas de email são, por exemplo, teste.com.br, porém, o meu domínio(ad) é dominio.local...
Como que faz? Como que funfa?
Tipo, ele integra com o AD de que forma? Ele vai pegar os usuários do domínio.local e criar contas de email "automagicamente" como teste.com.br????
Se sim, me ajuda então porque não funfou...rs...Se não, me explica por favor???
[97] Comentário enviado por kelisson em 22/09/2009 - 12:22h
Alguem utiliza o Zimbra através do celular? ex. iphone ou qualquer outro smartphone.
Estou pensando em instalar o Zimbra para substituir o atualmente Exchange Server, entrei em contato com a empresa representante do Zimbra no Brasil, porem os preços não são muito atrativos, e existe um modulo a parte para mobile que custa bem caro, é possível utilizar a versão open e usar no celular?
Quem já esta utilizando esta satisfeito com a ferramenta? como estão os níveis de tratamento de Bugs? a empresa responsável realiza correções e atualizações constantes?
Quem esta utilizando a versão open, em relação ao exchange deixa algo a desejar?
[98] Comentário enviado por fabianotecnico em 23/09/2009 - 10:54h
kelisson
é o seguinte, aqui aonde trabalho na USP, já vi alguns professores usando ele em iphone e smartphones e está tudo normalzinho.
é excelente o funcionamento. a versão mobile dele ficou show na versão 6.0 do zimbra.
agora em relação aos preços acho que os caras exageraram nos preços, realmente são muito altos, não sei se é esse o valor do exchange nunca vi o valor também.
mas aqui uso a versão OpenSource e pra nós está de ótimo tamanho.
a versão paga eu só acho a funcionalidade pratica de Backup, mas isso também foi resolvido, eu consegui alguns scripts bacanas para backup.
em questão de tratamento de erros, o Zimbra praticamente não tem erro alguns as versões finais, são bem testadas, as atualizações a cada 2 meses tem versão nova no pedaço, o Exchange ele é muito pesado(o Zimbra também, mas é muito funcional)e pelo que sei cada conta no Exchange ocupa 2 megabytes da memória, no ZIMBRA isso é mito, pois tenho amigos que tem 16.000 contas no ZIMBRA e funciona beleza, com 1 maquina com 8 GB de RAM
[99] Comentário enviado por vandaoqtg em 27/11/2009 - 07:47h
muito bom artigo.
Mas estou aqui na empresa com um probleminha, preciso que o mesmo servidor de email esteja instalado os serviços de dns e nossa pagina, o dns tranquilo mais a pagina como o zimbra ja vem com o apache instalado aonde configuro para que possa estar acessando a pagina antes e criar um aliases para sim estar acessando o zimbra?
[100] Comentário enviado por ppaulosaldanha em 25/02/2010 - 17:06h
estou com um problema:
ERROR: service.INVALID_REQUEST (invalid request: can only be used with "zmprov -l/--ldap")
Traceback (most recent call last):
File "./zimbra.py", line 42, in <module>
l.simple_bind_s('cn=Users,dc=redeqcg,dc=pmdf,dc=df,dc=gov,dc=br',ldappassword) #bind to the ldap server using name/password
File "/usr/lib/python2.5/site-packages/ldap/ldapobject.py", line 199, in simple_bind_s
return self.result(msgid,all=1,timeout=self.timeout)
File "/usr/lib/python2.5/site-packages/ldap/ldapobject.py", line 428, in result
res_type,res_data,res_msgid = self.result2(msgid,all,timeout)
File "/usr/lib/python2.5/site-packages/ldap/ldapobject.py", line 432, in result2
res_type, res_data, res_msgid, srv_ctrls = self.result3(msgid,all,timeout)
File "/usr/lib/python2.5/site-packages/ldap/ldapobject.py", line 438, in result3
ldap_result = self._ldap_call(self._l.result3,msgid,all,timeout)
File "/usr/lib/python2.5/site-packages/ldap/ldapobject.py", line 96, in _ldap_call
result = func(*args,**kwargs)
ldap.INVALID_CREDENTIALS: {'info': '80090308: LdapErr: DSID-0C090334, comment: AcceptSecurityContext error, data 525, vece', 'desc': 'Invalid credentials'}
TERIA COMO VC ME ADICIONAR NO SEU MSN: ppaulosaldanha@hotmail.com
[101] Comentário enviado por tecnoplace em 22/06/2010 - 21:36h
gente como eu faco para configurar o meu dns para publicacao na internet. me ajudem estou desesperado nao tenho conhecimento ja procurei por toda a net e nao consegui fazer funcionar. me ajudem.
[102] Comentário enviado por cabelino em 01/07/2010 - 10:34h
olá!
estou tendo o seguinte problema aqui na execućão do script zimbra.py:
root@nmvvmx01:/opt/zimbra# ./zimbra.py
ERROR: service.INVALID_REQUEST (invalid request: can only be used with "zmprov -l/--ldap")
{'info': '00000000: LdapErr: DSID-0C090627, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, vece', 'desc': 'Operations error'}
root@nmvvmx01:/opt/zimbra#
durante a instalaćão do dominio no zimbra obtive sucesso ao enviar uma conta e senha para testar a autenticacão. meu AD está acessível ao meu servidor de correio em questão. executei a identaćão do código conforme o Sr. informou.
[104] Comentário enviado por fbenevid em 16/09/2010 - 20:04h
Respondendo ao comentario 102:
edit o script, localize e coloque o "-l", ficando assim: "zmprov -l" no script.
só isso.
Respondendo 46 e 100:
No proximo passo, que é erro na criação de contas AD executando o script indicado, basta editar o script de criação de contas e coloque a 2ª linha abaixo entre a 1ª e 3ª indicadas:
[105] Comentário enviado por mardjmax em 18/01/2011 - 17:13h
Boa tarde pessoal
Gostaria de saber se é possivel utilizar o zimbra para baixar email e distribuir na rede.. Tipoeu tenho o meu site e webmail hospedado na UOL e queria que o zimbra baixe todos os email dos usuarios para o servidor zimbra de email para depois distribuir aqui na rede.
porque temos um serio problema com o outlook os usuarios usam e da pal na maqui perde tudo ou some email.
[107] Comentário enviado por pakitao em 26/09/2011 - 12:43h
Ola estou instalando um servidor zimbra no debian lenny e esta funcionando mas quando ativo o https ele passa a dar erro, exibindo uma mensagem de erro no servico de rede e nao anexa mais, testei as duas ultimas versoes. O que será que pode ser?
[108] Comentário enviado por adrianoti10 em 13/03/2012 - 16:31h
Boa tarde gostaria de uma ajuda se possivel, colocamos o zimbra aqui na empresa esta funcionando perfeitamente, so que o zimbra nao esta recebendo email de alguma dominios como: terra,bol e mais alguns.alguem tem a solucao ? instalamos aqui na empresa mais ninguem domina bem o zimbra! obrogado