Archive for Zimbra

Puerto 8080 Zimbra Webmail no Funciona

Coloco esto aqui, pues me ha sucedido con frecuencia que cuando termino de hacer una instalación fresca (Nueva de cero) el puerto 8080 (Acceso http al webmail de zimbra por defecto) no funciona (no levanta), los otros puertos (7071: administracion zimbra y  8443:Acceso https ) si funcionan sin problema.

Para verificar el correcto funcionamiento de los puertos, debemos verificar lo siguiente y en este orden.

1.- Verificar si la configuracion de zimbra instalada admite salida al webmail por los puertos https y http, si no es asi, debemos de cambiar el parametro para que ambos puertos esten activos.

su - zimbra
zmprov ms mail.midominio.com.pe zimbraMailMode both

Con ese comando le decimos que zimbra admita los tipos de sesion (both)

2.- Verificamos que los puertos esten abiertos en el firewall

[root@mail ~]# telnet localhost 8443
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

^CConnection closed by foreign host.
[root@mail ~]# telnet localhost 8080
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
^CConnection closed by foreign host.

3.- Si los puertos no estan abiertos en el firewall de centos, aplicar el siguiente comando

#firewall-cmd --permanent --add-port=8080/tcp
#firewall-cmd --permanent --add-port=8443/tcp
#firewall-cmd --reload

4.- Si aun asi no funciona, reiniciar los el servicio Maliboxd (https://www.zimbra.com/docs/os/5.0.19/administration_guide/A_app-command-line.12.10.html)

$zmmailboxdctl stop
$zmmailboxdctlstart

 

Probar!!!


					

Solución – Zimbra – Error Upgrade 8.0.9 to 8.7.11 – Starting ldap…failed with exit code: 256.

Si te gustan los articulos, por favor deja tu comentario, eso me ayuda a motivarme y seguir escribiendo mas sobre estos temas!!

 

Si al momento de actualizar zimbra te aparece el siguiente mensaje:

Restoring existing configuration file from /opt/zimbra/.saveconfig/localconfig.xml...done
Operations logged to /tmp/zmsetup.20170621-112406.log
Adding /opt/zimbra/conf/ca/ca.pem to cacerts
Upgrading from 8.0.9_GA_6191 to 8.7.11_GA_1854
Stopping zimbra services...done.
This appears to be 8.0.9_GA
Starting mysql...done.
Checking ldap status...not running.
Checking ldap status...not running.
Starting ldap...failed with exit code: 256.
UPGRADE FAILED - exiting.

Dejame decirte que existen muchas razones para que este error suceda.

Verifica primero esto:

https://wiki.zimbra.com/wiki/ZCO_8.0.x_to_8.6_upgrade_fail_due_to_slapd_pid_location_change

 

En mi caso, era un error de permisos.

Ejecutar lo siguientes comandos:

/opt/zimbra/libexec/zmfixperms -verbose -extended

Luego, reinicia el upgrade con este comando

/opt/zimbra/libexec/zmsetup.pl

Esto funcionó para mi. Si tambien fue tu caso, comenta!

Arreglando un BD en ZIMBRA — Table ‘mboxgroup33.appointment’ doesn’t exist

Si te gustan los articulos, por favor deja tu comentario, eso me ayuda a motivarme y seguir escribiendo mas sobre estos temas!!

 

Este error sucede con frecuencia al momento de actualizar Zimbra a una version superior, en este caso yo trataba de actualizar Zimbra 8.0.9 hacia 8.7.11.

#./install.sh

...........

................

Do you agree with the terms of the software license agreement? [N] y

 

Checking current number of databases...

Do you want to verify message store database integrity? [Y] y
Verifying integrity of message store databases. This may take a while.
mysqld is alive
Database errors found.
/opt/zimbra/mysql/bin/mysqlcheck --defaults-file=/opt/zimbra/conf/my.cnf -S /opt/zimbra/db/mysql.sock -A -C -s -u root --auto-repair --password=XXXXXXXX
mboxgroup33.appointment
Error    : Table 'mboxgroup33.appointment' doesn't exist
mboxgroup33.appointment
Error    : Table 'mboxgroup33.appointment' doesn't exist

 

Y no te deja continuar!!!

Paso previo.- Actualizar metadata de YUM

Verificar que las metadatas de los repositorios esten actualizados. Resolverlo de la siguiente manera:

 yum clean metadata

 

Paso 1.- Identificando el error

Revisar esto: tail -f /opt/zimbra/log/mysql_error.log

Sale esto:

[ERROR] Cannot find or open table mboxgroup33/appointment from
the internal data dictionary of InnoDB though the .frm file for the
table exists. Maybe you have deleted and recreated InnoDB data
files but have forgotten to delete the corresponding .frm files
of InnoDB tables, or you have moved .frm files to another database?
or, the table contains indexes that this version of the engine
doesn't support.
See http://dev.mysql.com/doc/refman/5.5/en/innodb-troubleshooting.html
how you can resolve the problem.

 

Paso 2.- Intentando reparar de manera simple

Ingresamos como usuario zimbra y ejecutamos los siguiente comandos:

[zimbra@mail ~]$ mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 364
Server version: 5.5.39-log Zimbra binary distribution

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>  use mboxgroup33
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> repair table appointment;
+-------------------------+--------+----------+-----------------------------------------------+
| Table                   | Op     | Msg_type | Msg_text                                      |
+-------------------------+--------+----------+-----------------------------------------------+
| mboxgroup33.appointment | repair | Error    | Table 'mboxgroup33.appointment' doesn't exist |
| mboxgroup33.appointment | repair | status   | Operation failed                              |
+-------------------------+--------+----------+-----------------------------------------------+
2 rows in set (0.00 sec)

mysql> quit;

No pudimos reparar a la primera.

Paso 3.- Identificando el error dentro de la tabla

Muchas veces el error se debe a una simple mala linea dentro de la BD, hay que identificar esto.

(Revisar esto para mas información: https://wiki.zimbra.com/wiki/Mysql_Crash_Recovery_(alternate_method))

Para identificar el error, necesitamois 2 cosas:

  • Listar todos los Mailbox dentro del mboxgroup previamente identificado. (en mi caso el 33), ejecutar como usuario ZIMBRA.(tener en cuenta el group_id del siguiente comando, alli se pone el numero de mi tabla)
 mysql --skip-column-names -e "SELECT id FROM zimbra.mailbox WHERE group_id=33" > /tmp/XXlist

El archivo XXlist me muestra lo siguiente:

[zimbra@mail ~]$ cat /tmp/XXlist
133
233

Esto me indica que tengo 2 Mailbox dentro de este grupo. Estos Mailbox tienen el id 133 y 233.

  • Necesitamos tambien listar las tablas existentes en el mboxgroup33.
[zimbra@mail ~]$ mysql --skip-column-names -e "CONNECT mboxgroup33;SHOW TABLES" > /tmp/tables
[zimbra@mail ~]$ cat /tmp/tables
appointment
mail_item
mail_item_dumpster
open_conversation
revision
revision_dumpster
tag
tagged_item

Este  comando me lista las tablas afectadas dentro del mboxgroup.

Paso 4.-  Identificando las cuentas de correo  dañadas

Debemos ingresar a Mysql y hacer una consulta , alli les listará a quien le pertenece la cuenta.

mysql>  use mboxgroup33
mysql> SELECT * FROM mboxgroup33.mail_item WHERE mailbox_id=133;
mysql> SELECT * FROM mboxgroup33.mail_item WHERE mailbox_id=233;

En mi caso las cuentas eran ventas@midominio.com.pe y marketing@midominio.com.pe

Paso 5.- Como se habran dado cuenta la tabla “appointment” esta dañada y parece como que no existiera.

Voy a verificar en otra BD “Mboxgroup32” por ejemplo que valores tiene esta tabla “appointment” y cual es su estructura.

mysql> SELECT * FROM mboxgroup32.appointment;
Empty set (0.03 sec)

mysql> SHOW COLUMNS FROM mboxgroup32.appointment;
+------------+------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+------------------+------+-----+---------+-------+
| mailbox_id | int(10) unsigned | NO | PRI | NULL | |
| uid | varchar(255) | NO | PRI | NULL | |
| item_id | int(10) unsigned | NO | | NULL | |
| start_time | datetime | NO | | NULL | |
| end_time | datetime | YES | | NULL | |
+------------+------------------+------+-----+---------+-------+
5 rows in set (0.01 sec)

Esta tabla esta vacia, hice la misma verificacion para Mboxgroup31, Mboxgroup30 y da el mismo resultado, por lo que puedo pensar que si elimino esta tabla (Mboxgroup33.appointment) y la vuelvo a crear con la misma estructura deberiamos de dejar de tener el mensaje de error en la BD.

mysql> DROP TABLE IF EXISTS mboxgroup33.appointment;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> CREATE TABLE mboxgroup33.appointment LIKE mboxgroup32.appointment;
Query OK, 0 rows affected (0.18 sec)

mysql> SELECT * FROM mboxgroup33.appointment;
Empty set (0.00 sec)

mysql> SHOW COLUMNS FROM mboxgroup33.appointment;
+------------+------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+------------------+------+-----+---------+-------+
| mailbox_id | int(10) unsigned | NO | PRI | NULL | |
| uid | varchar(255) | NO | PRI | NULL | |
| item_id | int(10) unsigned | NO | | NULL | |
| start_time | datetime | NO | | NULL | |
| end_time | datetime | YES | | NULL | |
+------------+------------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

Hice esto:

  • Elimine la tabla mboxgroup33.appointment
  • Volví a crear la tabla mboxgroup33.appointment desde mboxgroup32.appointment (pasa con la misma estructura)
  • Verifique que exista la tabla y su estructura de mboxgroup33.appointment

Despues de esto volivi a ejecutar el instalador… todo OK.!

OPCIONAL (si deseas puedes eliminar todo el MBOXGROUP, debes de tener en cuenta qué correos se alojan allí como ya lo describimos lineas arriba)

Paso 6.- Eliminación de la cuenta dañada (Caso eXTREMO si no funciona el paso 5)

En mi caso las cuentas dañadas eran 2. En este punto lo que hice fue, Mediante cualquier cuenta de correo como Outlook, descargue todos los correos de las cuentas dañadas a la PC y procedi a eliminar todas las cuentas del MBOXGROUP33 desde la consola de la BD.

Copia de seguridad de la BD

– Antes debemos de detener los buzones para que ninguna data nueva sea escrita en la BD.

$zmmailboxdctl stop

 

– Buscamos el usuario y password de Mysql Zimbra

zmlocalconfig -s zimbra_mysql_password

Tambien es buena idea que saques una copia a la carpeta en donde se almacena la Base de datos

cp /opt/zimbra/db/data /opt/zimbra/db/data_old

 

Descargamos (por siacaso) la BD sin el mailbox dañado

/opt/zimbra/mysql/bin/mysqldump --socket=/opt/zimbra/db/mysql.sock -u zimbra -p mboxgroupXX --where=mailbox_id!=33 > /tmp/dbdump.out

Aqui nos solicitará el password del MySql . Colocar  el que aparecio 2 comandos mas arriba.

ELIMINACION DE LA CUENTA Y VOLVEMOS A CREAR LA TABLA

mysql -e "DROP DATABASE mboxgroup33"
mysql -e "CREATE DATABASE mboxgroup33 DEFAULT CHARACTER SET utf8" 

 

Con esto ya deberiamos haber eliminado el problema, reiniciamos el servidor y procedemos a validar algun error en la BD.

 tail -f /opt/zimbra/log/mysql_error.log

 

Con esto ya podemos proseguir con el upgrade de nuestro servidor.

Paso 7.- Reiniciar el UPGRADE

#./install.sh

Importante.- Si la cuenta es de mucha importancia y deseamos crear de nuevo la cuenta con sus buzones. seguir el documento indicado al inicio.

https://wiki.zimbra.com/wiki/Mysql_Crash_Recovery_(alternate_method)

o

https://wiki.zimbra.com/wiki/Mysql_Crash_Recovery

 

Otros errores.

Si al momento de actualizar les sale el siguiente error:

Downloading packages (9):
   zimbra-core-components
   zimbra-ldap-components
   zimbra-mta-components
   zimbra-snmp-components
   zimbra-store-components
   zimbra-apache-components
   zimbra-spell-components
   zimbra-memcached
   zimbra-proxy-components
      ...Unable to download packages from repository. System is not modified.

 

Verificar que las metadatas de los repositorios esten actualizados. Resolverlo de la siguiente manera:

 yum clean metadata

o

 yum clean all

Luego reiniciar la actualización

Algunos problemas adicionales:

Solución – Zimbra – Error Upgrade 8.0.9 to 8.7.11 – Starting ldap…failed with exit code: 256.

Migrar desde Zimbra 8.03 hacia Zimbra 8.7

Saludos a todos, las disculpas del caso por no haber posteado antes.

Hoy vamos a tratar un tema muy importante y que muchos de uds me escriben al interno, que es la migración de un servidor corriendo con la versión 8.03 de Zimbra hacia la versión 8.7 de zimbra.

Paso 1.- Antes de mover, actualizar o tocar cualquier cosa, por favor sacar una copia de seguridad a sus datos. En mi caso yo trabajo con VmWare y Veeam backup, asi que primero le tomo un SNAPSHOT y luego le tomo un backup con el Veeam.

Nota.- Como sugerencia adicional, y si tienen espacio en su Datastore prueben esto devoviendo la Virtual Machine a sus sistema con otro nombre y alli probar. Cambien el IP para evitar conflictos y modifiquen esta IP en su archivo Hosts (/etc/hosts) para evitar cambios imprevistos

Si al clonar la VM no funcionan las NIC o lesda un mensaje similar a este “Activando interfaz eth0: El dispositivo no parece estar presente, retrasando la inicialización”

Aqui la respuesta: http://martinlugo.networksolutions-peru.com/el-dispositivo-no-parece-estar-presente-eth0-al-clonar-servidor-centos-6/

Paso 2.- Verificar el Certificado  de seguridad SSl y si vemos que ya va a caducar, lo debemos de renovar para no tener problemas mas adelante..

Ver como hacerlo aqui: http://martinlugo.networksolutions-peru.com/creando-nuevos-certificados-en-zimbra/

Paso 3.- Descargar la nueva versión de zimbra desde el repositorio de Zimbra, en mi caso lo cogi desde aqui:

Zimbra Collaboration Open Source

Paso 4.- Una vez descargado procedemos a correr la instalación.

cd zcs-8.7.0_GA_1659.RHEL6_64.20160628192545
./install.sh

Pero al primer intento nos da un error:

Checking for existing proxy service in your environment
Error: One or more proxies do not have zimbraReverseProxyMailEnabled and zimbraReverseProxyHttpEnabled set to TRUE. This is required for ZCS 8.7+
Error: Unable to contact the LDAP server.

1

Necesitamos setear 2 variables:

zimbraReverseProxyMailEnabled y zimbraReverseProxyHttpEnabled

 

Paso 5.- Configurando las 2 variables  zimbraReverseProxyMailEnabled y zimbraReverseProxyHttpEnabled.

Ingresar como usuario Zimbra y ejecutar los siguientes comandos.

#su - zimbra
$zmprov ms mail.dominio.com.pe zimbraReverseProxyMailEnabled TRUE zimbraReverseProxyHttpEnabled TRUE
$/opt/zimbra/libexec/zmproxyconfig -e -w -H mail.midominio.com.pe
$zmprov gs mail.midominio.com.pe zimbraReverseProxyHttpEnabled
$zmprov gs mail.midominio.com.pe zimbraReverseProxyMailEnabled
$/opt/zimbra/libexec/zmproxyconfig -e -w -o -a 8080:80:8443:443 -x https  -H mail.midominio.com.pe
$/opt/zimbra/libexec/zmproxyconfig -e -m -o -i 7143:143:7993:993 -p 7110:110:7995:995 -H mail.midominio.com.pe
$zmcontrol restart
$exit

 

Revisar estos posts:

Revisar esto:

https://gist.github.com/barrydegraaff/397b3dd0846dc88bac7b13e1aba7993c

https://wiki.zimbra.com/wiki/Zimbra_Proxy_Manual:Installing_,_Configuring,_Disabling_the_Zimbra_Proxy#Using_Existing_Servers_2

 

Paso 6.- terminado el paso 5, ya podremos actualizar nuestro zimbra sin problemas.

2Luego, el sistema verificara si la Base de datos esta Corrupta. decirle que Si.

3

Luego, verificará si el servidor se puede contactar con los servidores de Zimbra para verificar las actualizaciones.

4En mi caso, como pueden ver el Servidor no tenia acceso a internet.

Proceder a habilitar internet en el firewall a este equipo y seguimos.

4

Resuelto el tema del internet, VOLVEMOS a ejecutar el archivo de instalacion (Paso 6) y luego nos preguntará si deseamos hacer el UPGRADE.

5

Le decimos que si!! y continuamos….

7

…sigue la instalación…..

8

Actualizando……

9 10 11

Si nos aparece “Port conflicts detected!”  hacer caso omiso y proseguir… en mi caso aparecio porque yo utilizo un puerto distinto al 80 en mi acceso Web..

Seguidamente nos indica que “zimbra-dnscache” no esta seteado las ip address del DNS.

12

Presionar la tecla “5”, luego la tecla “2” y colocar las IP address de tu DNS.

13 14

Finalmente, el sistema ya esta actualizado.

 

15Como ven, la version es 8.7 y todos los servicios estan ejecutandose.

 

Martin Lugo P.

Configurar Zimbra 8.6 para control de usuarios en Centos 7

Configurar Zimbra para control de usuarios

“Este pequeño manual NO es una copia de alguna pagina de internet, es propiedad intelectual de Martín Lugo Palmadera, ud. es libre de usarlo y distribuirlo, pero con la condición de citar la fuente…. http://martinlugo.networksolutions-peru.com”

El escenario es el siguiente:

He instalado una versión fresca Zimbra (versión 8.6) y esta funcionando al 100%, todos los usuarios envian y reciben mensajes.

Se me ha solicitado que solo algunos usuarios puedan enviar correos al exterior sin restricciones y otros solo correo local y a algunos dominios conocidos.(Tambien es recomendable poner restricciones en el Header_Checks)

(Hacer esto es con la version de nativa de postfix es simple y rapida), pero con Zimbra todo cambia, pues agregar las sentencias sobre el archivo de configuracion (main.cf) se borrará al siguiente reinicio.

Para que no suceda esto, vamos a modificar el archivo /opt/zimbra/conf/zmconfigd.cf

 

Actualizacion: Zimbra 8.6 ya no incluye la indexacion de archivos hash, por lo que si migras de una version anterior tendras problemas y te saldran errores como esto:

error: unsupported dictionary type: hash

He revisado este error y se debe a que la version de postfix ahora trae una version actualizada de este popular indexador :

[zimbra@test-app ~]$ postconf -m
cidr
environ
fail
internal
ldap
lmdb
memcache
mysql
nis
pcre
proxy
regexp
socketmap
static
tcp
texthash
unix

Si se percatan ahora trae el modulo de “texthash”. por lo que a diferencia de la versión 8.03 en nuestras variables sustituimos el valor de hash por texthash.

Paso 1: Editar el archivo “zmconfigd.cf” como root

 

#nano /opt/zimbra/conf/zmconfigd.cf

Comentar la variable

#       POSTCONF smtpd_client_restrictions              VAR zimbraMtaSmtpdClientRestrictions

 

Agregar al final de la sección MTA lo siguiente (antes de “RESTART mta):

 

POSTCONF smtpd_restriction_classes inter, local
POSTCONF inter FILE zmconfigd/postfix_restrict_inter.cf
POSTCONF local FILE zmconfigd/postfix_restrict_local.cf
POSTCONF smtpd_client_restrictions   FILE  zmconfigd/postfix_smtpd_client_restrictions

Aqui estamos creamos 2 variable inter y local (los usuarios que tengan el valor inter podran enviar correos sin restricciones y los usuarios que posean el valor local, solo podran enviar correos a algunos dominios listados en otro archivo), ademas le decimos que sus valores lo lea de los archivos ubicado dentro de la carpeta “zmconfigd” “postfix_restrict_inter.cf” y “postfix_restrict_local.cf” respectivamente. Adicionalmente si se dan cuenta comenté la variable POSTCONF smtpd_client_restrictions y luego la reescribi abajo direccionanadola a un archivo en donde pueda meter variables y coamndos a mi antojo.

Paso 2:

Modificar el archivo “smtpd_sender_restrictions.cf” :

#nano /opt/zimbra/conf/zmconfigd/smtpd_sender_restrictions.cf

Agregar las siguientes lineas al inicio:

reject_authenticated_sender_login_mismatch
check_sender_access texthash:/opt/zimbra/conf/zmconfigd/usuarios
texthash:/opt/zimbra/conf/zmconfigd/access
check_sender_access texthash:/opt/zimbra/conf/zmconfigd/prohibido
reject_unknown_sender_domain
reject_invalid_hostname

Luego eliminar o comentar con un # la linea

%%exact VAR:zimbraMtaSmtpdSenderRestrictions reject_authenticated_sender_login_mismatch%%

si dean cuenta esa variable ya no nos sirve pues la estamos sustituyendo por un archivo.

A mi me quedaria asi:

 
reject_authenticated_sender_login_mismatch
check_sender_access texthash:/opt/zimbra/conf/zmconfigd/usuarios
texthash:/opt/zimbra/conf/zmconfigd/access
check_sender_access texthash:/opt/zimbra/conf/zmconfigd/prohibido
reject_unknown_sender_domain
reject_invalid_hostname


#%%exact VAR:zimbraMtaSmtpdSenderRestrictions reject_authenticated_sender_login_mismatch%%
%%contains VAR:zimbraServiceEnabled cbpolicyd^ check_policy_service inet:localhost:%%zimbraCBPolicydBindPort%%%%
%%contains VAR:zimbraServiceEnabled amavis^ check_sender_access regexp:/opt/zimbra/postfix/conf/tag_as_originating.re%%
permit_mynetworks
permit_sasl_authenticated
permit_tls_clientcerts
%%contains VAR:zimbraServiceEnabled amavis^ check_sender_access regexp:/opt/zimbra/postfix/conf/tag_as_foreign.re%%

En el archivo “smtpd_recipient_restrictions.cf” Agregar la siguiente linea debajo de “permit_mynetworks”

#nano /opt/zimbra/conf/zmconfigd/smtpd_recipient_restrictions.cf
permit_mynetworks
check_sender_access texthash:/opt/zimbra/conf/zmconfigd/usuarios
check_sender_access texthash:/opt/zimbra/conf/zmconfigd/prohibido

Deberia quedar asi mas o menos:

%%contains VAR:zimbraMtaRestriction check_client_access lmdb:/opt/zimbra/conf/postfix_blacklist%%
%%contains VAR:zimbraServiceEnabled cbpolicyd^ check_policy_service inet:localhost:%%zimbraCBPolicydBindPort%%%%
reject_non_fqdn_recipient
permit_sasl_authenticated
permit_mynetworks

check_sender_access texthash:/opt/zimbra/conf/zmconfigd/usuarios
check_sender_access texthash:/opt/zimbra/conf/zmconfigd/prohibido

reject_unlisted_recipient
%%exact VAR:zimbraMtaRestriction reject_invalid_helo_hostname%%
%%exact VAR:zimbraMtaRestriction reject_non_fqdn_helo_hostname%%
%%exact VAR:zimbraMtaRestriction reject_non_fqdn_sender%%
%%exact VAR:zimbraMtaRestriction reject_unknown_client_hostname%%
%%exact VAR:zimbraMtaRestriction reject_unknown_reverse_client_hostname%%
%%exact VAR:zimbraMtaRestriction reject_unknown_helo_hostname%%
%%exact VAR:zimbraMtaRestriction reject_unknown_sender_domain%%
%%exact VAR:zimbraMtaRestriction reject_unverified_recipient%%
%%contains VAR:zimbraMtaRestriction check_recipient_access lmdb:/opt/zimbra/conf/postfix_recipient_access%%
%%contains VAR:zimbraMtaRestriction check_client_access lmdb:/opt/zimbra/conf/postfix_rbl_override%%
%%explode reject_rbl_client VAR:zimbraMtaRestrictionRBLs%%
%%explode reject_rhsbl_client VAR:zimbraMtaRestrictionRHSBLCs%%
%%explode reject_rhsbl_reverse_client VAR:zimbraMtaRestrictionRHSBLRCs%%
%%explode reject_rhsbl_sender VAR:zimbraMtaRestrictionRHSBLSs%%
%%contains VAR:zimbraMtaRestriction check_policy_service unix:private/policy%%
%%contains VAR:zimbraMtaRestriction check_recipient_access ldap:/opt/zimbra/conf/ldap-splitdomain.cf%%
%%exact VAR:zimbraMtaRestriction reject%%
permit

 

Paso 3.- Crear el archivo “usuarios” y “prohibido”:

Si nos percatamos, he ingresado también un archivo llamado “prohibido”, esto sirva para decirle a Zimbra que los dominios que coloque allí van a estar prohibidos de ser enviados

#nano /opt/zimbra/conf/zmconfigd/usuarios
pepito@mydomain.com inter
luchito@mydomain.com local
 ................

Ahora el archivo prohibido:

#nano /opt/zimbra/conf/zmconfigd/prohibido
yahoo.com.pe	reject

Paso 4.- Crear los archivos postfix_restrict_inter.cf , postfix_restrict_local.cf y postfix_smtpd_client_restrictions

#nano /opt/zimbra/conf/zmconfigd/postfix_restrict_inter.cf

y colocar esto dentro:

permit

Ahora creamos el segundo archivo:

#nano /opt/zimbra/conf/zmconfigd/postfix_restrict_local.cf

y colocar esto dentro:

check_recipient_access
texthash:/opt/zimbra/conf/zmconfigd/interno
reject

Finalmente crear el tercer archivo

#nano /opt/zimbra/conf/zmconfigd/postfix_smtpd_client_restrictions

y colocar esto dentro:

permit_mynetworks
reject_non_fqdn_recipient
texthash:/opt/zimbra/conf/zmconfigd/access
reject_rbl_client sbl.spamhaus.org

Paso 5.- Crear el archivo interno y access

Dentro de este archivo llamado “interno” vamos a colocar los dominios que queremos que envien lo usuarios restringidos

#nano /opt/zimbra/conf/zmconfigd/interno

y colocar alli los dominios que a los que solo podrá enviar mail

dominio1.com.pe      ok
dominio2.com.pe   ok

Ahora creamos el archivo Access:

#nano /opt/zimbra/conf/zmconfigd/access

colocar un espacio en blanco dentro de este archivo “access” y grabar

Paso 6.- indexar archivos “usuarios” “interno” “access”

Ingresar como usuario de Zimbra y aplicar los siguiente

#su - zimbra
Last login: Thu Feb 12 12:59:58 PET 2015 on pts/0

$ postmap conf/zmconfigd/usuarios
$ postmap conf/zmconfigd/interno
$ postmap conf/zmconfigd/access
$ postmap conf/zmconfigd/prohibido

Paso 7.- Modificar la variable mynetworks a 127.0.0.0/8 y la red interna de la empresa, esto hara que lo spammer no puedan utilizar nuestro servidor como relay, sino que el postifx solo aceptará conexiones de el mismo, previa validacion del usuario que se trata de conectar Para esto hacer lo siguiente:

#su - zimbra
$ zmprov modifyServer mail.dominio.com.pe zimbraMtaMyNetworks '127.0.0.0/8 192.168.0.0/24'
$ postfix reload

Paso 8.- Reiniciar servicios y listo!!!!!!!!!

#su - zimbra
$ zmmtactl restart

Te puede interesar Instalar Zimbra 8.6 en Centos 7 desde Cero

Instalar Zimbra 8.6 en Centos 7 desde Cero

He recibido muchos correos  de personas que tienen problemas al momento de instalar Zimbra 8.6, que aparte de ser una buena herramienta de mensajeris, sustituye con creces a muchos sistemas  como Exchange o el propio Gmail.

Para empezar, debo suponer que tienen ya instalado Centos 7 x64.

Paso 1.- Verificar que el cortafuegos este deshabilitado, el DNS funcione y no exista una version de PostFix instalada con el S.O.

Es importante verificar 3 cosas:

a) Deshabilitar el cortafuegos

# service iptables save
# service iptables stop
# chkconfig iptables off

Modificar la varialble SELINUX=disabled

# nano /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

b) La configuracion DNS debe de estar correctamente configurado:

Verificar si pueden resolver nombres como yahoo.com, etc.

c) verificar que no exista una instalacion previa de postfix, para esto ejecutar la siguiente consulta:

rpm -qa postfix

Si existe, desinstalarlo!

rpm -e postfix*

Paso 2.- Verificar la correcta configuracion del archivo Hosts

A veces he tenido problemas al momento de instalar Zimbra, me salia este mensaje

 ERROR: Installation can not proceeed.  Please fix your /etc/hosts file
  to contain:

  <ip> <FQHN> <HN>

  Where <IP> is the ip address of the host,
  <FQHN> is the FULLY QUALIFIED host name, and
  <HN> is the (optional) hostname-only portion

zimbra85-3

A pesar que he verificado que mi archivo /etc/hosts esta correctamente configurado, este mensaje persistia, por lo que hay que fijarse tambien en el archivo hostname para tenerlo adecuadamente configurado.

Por ejemplo, si en /etc/hosts tienes lo siguiente
192.168.0.17    test-app.midominio.com.pe      test-app
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

Importante, antes de continuar, leer el siguiente post, hacerlo nos ayudara a arreglar un problema de funcionamiento de servicios zmconfigd Stopped Zimbra 8.5 – Instalacion fresca – Solucion!!

Tambien deberá de tener el mismo nombre de host en el archivo /etc/hostname

zimbra85-4

de la siguiente manera:
test-app.midominio.com.pe
Pues si NO modificas este archivo el error va a persistir y no vas a saber porque.

Paso 3.-  Descargamos e instalamos Zimbra 8.6.

En este caso estoy trabajando con la version zcs-8.6.0_GA_1153.RHEL7_64.20141215151110, descargada desde http://www.zimbra.com/downloads/zimbra-collaboration-open-source .

Una vez descargada, desempaquetamos e instalamos

#tar -xzvf zcs-8.6.0_GA_1153.RHEL7_64.20141215151110.tgz

#cd zcs-8.6.0_GA_1153.RHEL7_64.20141215151110/

# ./install.sh

Paso 4.- Errores por paquetes no instalados

Continuamos, ………como esta instalacion de Centos 7 es fresca, no tiene muchas librerias que necesita Zimbra, por lo que al momento de validar paquetes, me sale un error y se detiene la instalacion de Zimbra. segun la imagen, no poseo el paquete nmap-cat y perl-core (MISSING)

zimbra85-5

Bien, solo queda pedirle a YUM que haga este trabajo por nosotros para instalar dichos paquetes:
yum install nmap-ncat perl-core

Le damos YES a todo MENOS A  “zimbra-proxy”   este componente  marquenlo como “N” pues si no saben manejar el proxy de Zimbra no les va a levantar la pantalla principal…… proseguimos con la instalación

zimbra85-6

 Ojo, como este equipo es un tester, el nombre de pc y dominio no son validos para validarlos por DNS publicos, por lo que en medio de este proceso me lanzaran mensajes de que el nombre no es valido y nos pide cambiar de nombre de host o dominio, a esto darle NO, para que prosiga (Ojo, si estas pensando que tu equipo ya lo vas a poner en produccion, valida el nombre en tu DNS para que no te aparesca este mensaje de error).

Paso 5. -Configurando adecuadamente los parametros.

El proceso de instalación se detendrá en una lista de opciones que es RECOMENDABLE validar. A continuacion explico las opciones y su significado:

zimbra85-7-1

Opción 1.- Configurar “Time Zone” (Opción 7), en mi caso el valor 13, vivo en Perú y la zona horaria es “America/Bogota”

Opciones del 2 al 6.- Dejarlas tal cual, solo nos indica que esos modulos estan habilitados y se instalaron sin problemas.

Opción 7.- (Zimbra-store)

Aqui es donde esta el meollo del asunto, es donde debemos configurar correctamente, si no deseamos hacerlo a mano despues (de poder se puede, pero hay que saber comandos propios de Zimbra para hacerlo). Solo a modo de ejemplo voy a modificar lo básico y escencial, el resto de opciones que no lo mencione lo puedes dejar tal cual. Para escoger UNA OPCION,  digite el numero de la opción y se desplegará un submenu para ir a la opcion específica. Por ejemplo, presionar el numero 7 y se desplegará un submenu.

  • Admin user to create: Aqui nos indica cual es el usuario administrador, dejarlo asi, la proxima que deseas ingresar al Back-end, deberas utilizar esta cuenta.
  • Admin password: Aqui hay que especificar el password de l usuario de la opcion anterior, si se dan cuenta, el valor que aparece es UNSET, osea (No Seteado), Presionar la tecla 7 y escoger cambio de Password.

En este mismo submenu, deberenos cambiar lo siguiente

10) Web server HTTP port: 8080 .- Este puerto es el que se utiliza para acceder al web mail, por ejemplo un usuario tuyo deberá de digitar http://midominio.com:8080 para acceder a su correo.
11) Web server HTTPS port: 8443 .- Similar al anterior pero poniendo puerto seguro, ejemplo : un usuario tuyo deberá de digitar http://midominio.com:8443 para acceder a su correo.
12) Web server mode: https : aqui deberian de cambiarlo, pues esta opcion si lo dejan tal cual, le estan indicando que solo se pueda ver por https los correos, cambielo a “both”, esto permitira acceder a ver los correos, tanto por el puerto 8080 y 8443.

Eso es todo dentro de la configuracion, Graben esto y continuen …. aqui el sistema va a realizar todos los pasos necesarios y dejara listo la instalacion de zimbra.

Importante y/a tener en cuenta: He colocado la opcion 10 Web server HTTP port al puerto 8080, pues en este mismo servidor me funciona el apache con una web institucional distinta a zimbra, por lo que necesitaba el puerto 80 para publicar. Pero si ese no es su caso y este servidor solo lo destinan para correo, dejar los puertos tal cual lo sugiere Zimbra.

Paso 6.- Proseguir con la instalacion.

Si todo ha salido bien, entonces estos deberian ser los enlaces para poder acceder a nuestro Zimbra recien instalado.

Para el Back-End del administrador:    https://192.168.0.17:7071/zimbraAdmin/

Para el Front End en http:  http://192.168.0.17:8080

Para el Front End en https:  https://192.168.0.17:8443

 

Les puede Interesar tambien Configurar Zimbra 8.6 para control de usuarios en Centos 7

 

Zimbra – ERROR: Installation can not proceeed. Please fix your /etc/hosts file – Centos 7

A veces cuando no definimos correctamente nuestro hostname tenemos problemas al instalar zimbra. Me ha pasado una vez que instalando una version de ZIMBRA me salia este mensaje de error:

Do you agree with the terms of the software license agreement? [N] y

  ERROR: Installation can not proceeed.  Please fix your /etc/hosts file
  to contain:

  <ip> <FQHN> <HN>

  Where <IP> is the ip address of the host,
  <FQHN> is the FULLY QUALIFIED host name, and
  <HN> is the (optional) hostname-only portion

 

Para resolver este problema, tenemos que verificar 2 cosas:

1.- Como nos dice en el mensaje, deberemos verificar el archivo /etc/hosts y corroborar que este archivo tenga esta distribucion:

<Nro. IP>       mail.midominio.com.pe         mail

127.0.0.1        localhost.midominio.com.pe    localhost

192.168.0.253   test-zimbra.midominio.com       test-zimbra
127.0.0.1    localhost.midominio.com localhost4

Mi Archivo hosts esta asi:

hosts-zimbra

2.- Luego y lo mas importante es verificar el archivo “Hostname” dentro de la siguiente ruta:

/proc/sys/kernel/hostname coincida el hostname que pusimos dentro del archivo hosts. Asi:

test-zimbra.midominio.com

Eso es todo!!!

zmconfigd Stopped Zimbra 8.5 – Instalacion fresca – Solucion!! – Centos 7

Acabo de instalar una version fresca de Zimbra 8.5 y me doy cuenta que el servicio zmconfigd esta parado!! voy a ver los servicios corriendo y me sale esto.

#su - zimbra
$zmcontrol status
        amavis                  Running
        antispam                Running
        antivirus               Running
        dnscache                Running
        ldap                    Running
        logger                  Running
        mailbox                 Running
        memcached               Running
        mta                     Running
        opendkim                Running
        proxy                   Running
        service webapp          Running
        snmp                    Running
        spell                   Running
        stats                   Running
        zimbra webapp           Running
        zimbraAdmin webapp      Running
        zimlet webapp           Running
        zmconfigd               Stopped

 

Bien para solucionar hice esto.

Paso 1.– revisar los log de carga del zimbra (ubicalo aqui:  /opt/zimbra/log/) ubicar el log de este servicio (zmconfigd.log)

#tail -1000 /opt/zimbra/log/zmconfigd.log

Aqui me indica que existe un error al cargar el archivo de configuracion

failed.
Starting zmconfigd.../opt/zimbra/bin/zmconfigdctl: line 94: 11346 Killed                  /opt/zimbra/libexec/zmconfigd >> ${zimbra_log_directory}/zmconfigd.log 2>&1

Ok revisamos ese archivo (Linea 94) /opt/zimbra/bin/zmconfigdctl y no encontramos gran cosa, solo esto que nos llama la atencion:

# Bug 51682 wait for the pid file to be created, then wait 30 seconds for rewrites

Es una anotacion que hicieron los programadores de zimbra.

Buscando ese bug, me doy cuenta que es un error descrito para el archivo /etc/hosts

Paso 2.- En conclusion hay que modificar la parte correspondiente al IPv6 que empieza con doble 2 puntos (desactivarlo o quitarlo). Yo lo comete y reinicie el Zimbra. Y SOLUCIONADO!!

#nano /etc/hosts
192.168.0.17    test-app.midominio.com.pe      test-app
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

Vean el detalle de ponerle “#” delante de ::1

#service network restart
#su - zimbra
$zmcontrol restart
$zmcontrol status
        amavis                  Running
        antispam                Running
        antivirus               Running
        dnscache                Running
        ldap                    Running
        logger                  Running
        mailbox                 Running
        memcached               Running
        mta                     Running
        opendkim                Running
        proxy                   Running
        service webapp          Running
        snmp                    Running
        spell                   Running
        stats                   Running
        zimbra webapp           Running
        zimbraAdmin webapp      Running
        zimlet webapp           Running
        zmconfigd               Running

Martín Lugo

Actualización 09/02/2015

Me sucedio en una instalacion que el  archivo hosts tiene la siguiente configuracion

127.0.0.1   localhost.mydomain localhost4 localhost4.localdomain4
192.168.0.115   zcspruebas.dominio.com zcspruebas

 

Si se percatan la primera linea tiene la como parte del fqdn mydomain, eso origino que el error descrito en el titulo aparesca. A pesar de haber eliminado la parte concerniente al IPv6, Me tomo 2 dias detectar que esa palabrita tenia que ser sacada. Por favor no pongan ningun nombre de dominio en la parte concerniente al localhost, en mi caso lo deje asi:

127.0.0.1   localhost localhost4 localhost4.localdomain4
192.168.0.115   zcspruebas.dominio.com zcsprueba

 

Eso es todo!!!

 

 

Creando Nuevos certificados en Zimbra

Si les aparece un mensaje indicándoles que el certificado de seguridad instalado en Zimbra va a caducar, aplicar lo siguiente (como root)

Primero hay que verificar la fecha de caducidad de nuestro certificado conel siguiente comando:

/opt/zimbra/bin/zmcertmgr viewdeployedcrt

1.- Apagar los servicios de Zimbra

2.- Ejecutar estos comandos de consola

/opt/zimbra/bin/zmcertmgr createca -new
/opt/zimbra/bin/zmcertmgr createcrt -new -days 3650
/opt/zimbra/bin/zmcertmgr deploycrt self
/opt/zimbra/bin/zmcertmgr deployca
/opt/zimbra/bin/zmcertmgr viewdeployedcrt
/etc/init.d/zimbra restart

3.-  Reiniciar los servicios y probrar (El valor 3650 significa 3650 dias o sea 10 años validos con el certificado)

Ver tambien: http://www.zimbra.com/forums/administrators/45833-solved-zimbra-certificates-have-expired-im-having-difficulty-regenerating-them.html

Configurar Diccionario en español para el cliente de Zimbra Desktop

“Este pequeño manual NO es una copia de alguna pagina de internet, es propiedad intelectual de Martín Lugo Palmadera, ud. es libre de usarlo y distribuirlo, pero con la condición de citar la fuente…. http://martinlugo.networksolutions-peru.com”

Sucede que cuando instalamos ZIMBRA y deseamos utilizar como cliente de correo Zimbra desktop, esta viene configurado por defecto con el corrector ortográfico en Ingles, por lo que cuando escribimos un correo, todas las palabras quedan marcadas en rojo, pues el sistema no reconoce las palabras que digitamos.

Pues bien, para esto me he basado en unas instrucciones de la misma web de Zimbra (LINK)

Para los que les aburre leer en ingles y necesitan que los guie, aqui la versión en castellano y con imagenes:

Como Instalar el diccionario en Español-España

1.- Descargar el diccionario en Español a cualquier ubicación de nuestra PC de la siguiente dirección web:

2.- Descomprimir el archivo en la ubicación a donde descargamos el archivo ZIP. Al descomprimir este archivo nos mostrará 2 archivos:

diccionario_zimbra-1

3.- Copiar estos 2 archivos y dependiendo del SO a las siguientes carpetas (En mi caso Windos 7 – 64 bits)

diccionario_zimbra-2

Para otros SO aqui va las rutas:

Windows: <install>\win32\prism\xulrunner\dictionaries
MacOS: <install>/macos/prism/Prism.app/Contents/Frameworks/XUL.framework/dictionaries
Linux: <install>/linux/prism/xulrunner/dictionaries

4.- Editar el archivo user.js de las siguientes carpetas:

  • <install>/data/profile/user.js                   en mi caso es C:\Program Files (x86)\Zimbra\Zimbra Desktop\data\profile\user.js , y
  • X:/Users/***/AppData/Local/Zimbra/Zimbra Desktop/profile/user.js            en mi caso es C:\Users\mlugo\AppData\Local\Zimbra\Zimbra Desktop\profile\user.js

diccionario_zimbra-3

diccionario_zimbra-4

Se corrige la siguiente linea “spellchecker.dictionary” de la siguiente manera:

  • user_pref(“spellchecker.dictionary”, “es-ES”);

Ambos archivo deberían de quedar de la siguiente manera:

diccionario_zimbra-55.- Reiniciar Zimbra Desktop.

No basta con cerrar el programa, hay que cerrarlo desde el administrador de tareas y volver a abrirlo:

diccionario_zimbra-6

6.- Probamos el diccionario dentro del ZD.

diccionario_zimbra-7

Es todo!!!

Martín Lugo Palmadera