En artículo
estará dedicado a compartir mi experiencia en la migración de un servidor de
correos de MDaemon corriendo sobre Windows 2003 Server a Postfix sobre Ubuntu
12.04 Server. Obviaremos el proceso de instalación
de Postfix, en un artículo anterior mostré mi experiencia en la instalación de
Postfix apoyándome en iRedmail (http://own-kb.blogspot.com/2015/02/instalar-un-servidor-de-correos.html)
El
escenario es el siguiente: tenemos instalados y probados ambos servidores; el
servidor MDaemon (Windows 2003 Server) con ip 192.168.14.1 es el que está
actualmente en producción encargándose del SMTP, POP3 e IMAP y el servidor
Postfix (Ubuntu 12.04 Server) con ip 192.168.14.2 está instalado y listo para
asumir el rol de SMTP, POP e IMAP en nuestra red.
Tenemos
3 objetivos fundamentales:
- Migrar todas las cuentas de correo del server MDaemon al server Postfix.
- Hacer que el proceso sea transparente para los usuarios.
- Poner en producción el server Postfix y degradar el server MDaemon.
El proceso en general consistirá en:
- Crear las cuentas de correo en el server Postfix (no encontré otra opción que hacerlo manualmente).
-
1 Copiar los correos existentes en los buzones de los usuarios del server MDaemon al server Postfix (utilizaremos el paquete imapcopy de Ubuntu para automatizar este punto)
- Poner la dirección ip que tenía el server MDaemon al server Postfix y hacer los ajustes de DNS para que nuestros usuarios “no sepan” que otro servidor gestiona su correo.
Creando las cuentas de correo en el server Postfix
Como
comente anteriormente, tuve que crear cerca de 100 buzones de correos
manualmente; Postfix quedo configurado para buzones virtuales, los cuales son
creados dentro de una base de datos PostgreSQL, aun cuando los correos se
almacenan en el sistema de archivos del server Ubuntu.
Para
esto nos vamos al server MDaemon y exportamos todas las cuentas a través de la opción
Accounts\Exporting\Export accounts to a
comma delimited file…, esto nos genera un archivo de valores separados por
coma (Accounts.csv). Este archivo lo vamos a abrir con MS Excel 2010; el mismo
contiene el buzón, la dirección electrónica y la contraseña del buzón, entre
otras cosas.
Como
el server Postfix se instaló siguiendo la guía antes mencionada vamos a crear
las cuentas usando el iRedAdmin y con nuestro aliado Ctrl + C y Ctrl + V
(copiar y pegar) desplegando la ventana del navegador con iRedadmin y del Excel
con el listado de cuentas y contraseñas vamos copiando y pegando y creando
nuestros buzones.
Es
posible que si las contraseñas de los buzones en MDaemon no cumplen con los
requisitos de complejidad y tendremos que decir a iRedadmin que nos permita
contraseñas no complejas; para eso editemos el fichero /usr/share/apache2/iRedAdmin-0.4.1/settings.py y ajustamos los
valores de min_passwd_length y max_passwd_length convenientemente.
Después
de creados los buzones en Postfix continuaremos trabajando con el archivo
Accounts en Excel ya guardado en formato xls.
A
|
B
|
C
|
D
|
E
|
Copy
|
“buzon1”
|
“password1”
|
“buzon1”
|
“password1”
|
Copy
|
“buzon2”
|
“password2”
|
“buzon2”
|
“password2”
|
Copy
|
“buzon3”
|
“password3”
|
“buzon3”
|
“password3”
|
…
|
….
|
….
|
….
|
…..
|
Copy
|
“buzon-n”
|
“password-n”
|
“buzon-n”
|
“password-n”
|
Las
comillas dobles deben de ser parte del valor de la celda, yo me las ingenie con
“columnas puentes”, concantenando los valores con una columna con comillas
dobles y pegando valores en otras columnas.
Luego
de tener la hoja del libro de esta manera vamos a “Guardar como…” “Texto con formato (delimitado por espacios)
(*.prn)”.
El
archivo resultante lo vamos a usar en el siguiente paso; este archivo lo
podemos abrir con un editor de texto como el Wordpad (en Windows) que debe
contener las 5 columnas separadas por espacios con la pablabra Copy como
primera columna y subsiguientemente el buzon y su contraseña en las restantes 4
columnas, las filas contendrán el resto de los buzones, las comillas dobles
deben estar incluidas.
Copiando los correos de los buzones MDaemon a
los buzones ya creados en Postfix.
Para este paso vamos a utilizar
en nuestro server Ubuntu el paquete imapcopy
que instalaremos con aptitude.
# aptitude install imapcopy
impcopy
es un paquete que permite copiar masivamente correos de un server IMAP a otro, según
la documentación el mismo no permite el acceso a IMAPS. Podemos degradar la
seguridad de nuestro server Postfix para este propósito y luego volver a
restituir, en este link se explica cómo hacer esto para un server instalado con
iRedmail (http://www.iredmail.org/docs/allow.insecure.pop3.imap.smtp.connections.html)
Volvemos
a trabajar con el archivo .prn, lo abrimos y al principio le escribimos lo
siguiente:
SourceServer 192.168.14.1
SourcePort 143
DestServer 192.168.14.2
DestPort 143
DebugSrc
DebugDst
copyfolder INBOX
DenyFlags "\Recent"
Debajo de lo anterior deben
quedarnos las 5 columnas que teníamos previamente. Guardamos el archivo con el
nombre imapcopy.cfg en nuestra carpeta /home/miuser/ en nuestro server Postfix.
De esta manera ya tenemos listo
el archivo de configuración de imapcopy, el que nos va a permitir la copia
masiva de correos de MDaemon a Postfix.
El
archivo /usr/share/doc/imapcoy/examples/imapcopy.cfg contiene un ejemplo para
la configuración de imapcopy. Como ya tenemos el nuestro nos vamos a nuestra
carpeta home y ejecutamos:
/home/miuser# imapcopy –l
Esto
ejecutara imapcopy con el archivo de configuración que tenemos en esta carpeta,
el parámetro –l nos hara un log del proceso.
Previamente podemos detener el
servicio SMTP y POP en MDaemon para que no ingresen nuevos correos hasta tanto
terminemos el proceso, en mi caso el proceso demoro alrededor de 2 hora y
media, algunos buzones almacenaban decenas de correos aun sin descargar.
Poniendo en producción el server Postfix
Ya
la mayor parte del trabajo está hecho, ahora tomando las debidas precauciones
ponemos la ip del server MDaemon al server Postfix y viceversa (si asi se
desea), lo demás es hacer ajustes de DNS para que los usuarios no noten que le
cambiamos el servidor y que ahora sus correos se almacenan y procesan sobre
software libre, sin dejar de reconocer que MDaemon es un gran servidor de
correos.
Estoy en la misma situación de migrar de MDaemon para iRedMail, me parecio buen tutorial pero me fallo la parte de la copia con imapcopy, al parecer es algo de permisos o no se
ResponderBorrarEl error que me da es este: Log on as user1 failed DestinationServer
Que me faltará por configurar?
Aunque un poco tarde para ti, pues dices que tuviste que crear los usuarios manualmente, pero para los que le interese, el iRedMail tiene varios script en la carpeta tools, que sirven para la importacion de usuarios
El que me sirvio a mi fue el que esta hecho en python (create_mail_user_OpenLDAP.py) que importa desde un archivo separado por comas CSV
En el propio script se describe el formato que debe tener y la sintaxis
Hola amigo, parece ser q tu problema consiste en q la contraseña del usuario no es correcta en el imap server de destino (postfix/iredmail), imapcopy todo lo q hace es usar el par usuario/password para iniciar session en ambos imap server, y a traves del protocolo imap "pasar los correos" de un server al otro, y asi una por una a todas las cuentas...Por lo q comentas de la importacion de usuarios, nunca es tarde, gracias por tu comentario, mi server postfix ya esta en produccion pero puede q en algun momento necesite migrar otro...Gracias
BorrarLas contraseñas estan bien, pues puedo loguearme con la misma que pongo en el imapcopy.cfg
BorrarSera algo que puse mal en el archivo imapcopy.cfg ?
Así fue como lo hice:
sourceserver 10.1.0.3
sourceport 143
destserver 10.1.0.11
destport 143
debugsrc
debugdst
skipfolder INBOX.Trash
skipfolder INBOX.Sent
copyfolder INBOX
copy "aalea" "pasw1" "aalea" "pasw1"
copy "adminecc" "pasw2" "adminecc" "pasw2"
....
....
Inicio sesion en Roundcube con el usuario aalea y la clave pasw1 y accedo bien
Asi que pienso que no se problema de contraseña, o si?
Lei en algun lugar en mis busquedas, que habia que deshabilitar StartTLS y SSL en el dovecot (temporalmente), pero lo hice y nada
Yo uso Debian 7
Mira a ver si procesa el resto de los usuarios, elimina este del cfg y prueba a ver si va ok con el resto. Como comente en el articulo imapcopy no accede a a los buzones via IMAPS (imap ssl o tls), mira el link q dejo en el articulo para deshabilitar esto en iredmail, por defecto iredmail configura un servidor de correos seguro
BorrarNo procesa a ningun usuario, e hice lo que se explica en la guia para desactivar ssl, pero sigue dando Log on as user1 failed DestinationServer
BorrarAmigo, vas a tener q revisar otras cuestiones, dices q inicias session via roundcube, de modo q no creo q sea problema de la complejidad de las contraseña, cosa esta q mensiono en el articulo; lo proximo q te recomiendo chequear si el firewall tiene abierto el puerto 143, otra cosa no se me ocurre....
BorrarPues el problema era que el usuario para el server destino hay que ponerle el dominio tambien, y no lo estaba haceindo.
BorrarCuando puse los usuarios de la forma user@dominio funciono bien
Me alegro q al final resolviste, pero eso indica q no degradaste correctamente la seguridad del server postfix, eso era necesario para imapcopy y el articulo lo mensiona, poner usuario@dominio para iniciar session smtp/pop es requisito para un server mail instalado con iredmail, mira el articulo http://own-kb.blogspot.com/2015/02/instalar-un-servidor-de-correos.html ...saludos y gracias
Borrar