domingo, 20 de septiembre de 2009

Historia de una migracion del Hardware de un servidor de Correo

corría el dia 18 de setiembre del año 2009 cuando decidi cambair el viejo pero muy productivo servidor de correo de la institución donde trabajo ,un P4 con 512 MB Ram y 60 GB de disco para manejar 800 cuentas, tenia instalado Debian ETCH, POSTFIX (SMTP) y QPOPPER (POP3).


Era una instalación sencilla y clásica sin mucho tema de autenticación y el trabajo consistía en nada mas de cambiar el hardware, claro eso implicaba copiar todas las cuentas, sus password y sus contenidos al nuevo equipo. Mi dilema era no volver a crear las 800 cuentas de nuevo


El nuevo equipo consistía en un CORE 2 DUO de 2 GB RAM y 320 GB de disco definitivamente algo mejor.


Comencé a las 11 pm y tenia hasta las 8 am del siguiente día para realizar toda la migración claro lo usuarios ni sentiran que hubo un cambio todo sera transparente y espero que con mejor performance.


Paso 1 : Instalación de Debian Lenny en el nuevo equipo : era el DVD mas actual que tenia con kernel 2.6.22 bueno no esta mal, esto no lo describiré pero les dejare mi esquema de particiones por siacaso :


Disposit. Inicio Comienzo Fin Bloques Id Sistema

/dev/sda1 1 2444 19631398+ 83 Linux

/dev/sda2 2445 2930 3903795 82 Linux swap / Solaris

/dev/sda3 2931 27245 195310237+ 83 Linux

/dev/sda4 27246 38913 93723210 83 Linux



S.ficheros Tamaño Usado Disp Uso% Montado en

/dev/sda1 20G 690M 19G 4% /

tmpfs 1.1G 0 1.1G 0% /lib/init/rw

udev 11M 99k 11M 1% /dev

tmpfs 1.1G 0 1.1G 0% /dev/shm

/dev/sda3 197G 15G 173G 8% /home

/dev/sda4 95G 9.8G 80G 11% /var



Paso 2. : con la finalidad que los usuario puedan usar sus misma claves copie del viejo servidor los archivos y los concatene con los archivos del nuevo servidor teniendo especial cuidado en los números ID


/etc/passwd

/etc/group

/etc/shadown


paso 3 .: Realice backup en el servidor viejo de la particion /home y del directorio /var/mail

para esto utilice un disco duro externo USB IOMEGA de 1Tera . Y para asegurarme que copie bien baje NTFS-3g que me permitió montar el disco externo con su formato de uso normal.


#apt-get install ntfs-3g


el disco externo lo reconoció como /dev/sdb1, por sicaso esto lo vi en /var/log/message al momento de conectar el USB


#ntfs-3g /dev/sdb1 /media/usb : esto me montaba el disco externo al directorio /media/usb (este directorio deben crearlo previo ..por siacaso)


ahora el backup con el comando tar -cvf


para el caso de la particion Home como root me coloque en la RAIZ:


#tar -cvf /media/usb/home.tar /home


para el caso de /var/mail me coloque en la carpeta /var


#tar -cvf /media/usb/mail.tar /mail


resguarde /home porque como usamos OPENWEBMAIL es en home donde los usuarios tienen sus correos enviados desde este medio.


Y /var/mail por que aqui es donde se configuro para que sea el repositorio de correo de cada una de las cuentas.


Paso 4 : Hasta aquí ya tenia instalado el servidor y tenia en mi disco externo los datos de todos los usuarios y los archivos que los identificaba (passwd, group y shadow).


Ahora empece a instalar en el servidor nuevo el servidor SMTP


# apt-get install postfix

# apt-get install qpopper


para el caso de postfix respondi que no queria configurar nada en la pantalla azul que sale mientras se instalaba, esto por que Yo ya contaba con el archivo main.cf del antiguo servidor y que es el siguiente:


smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)

inet_protocols = ipv4

biff = no

append_dot_mydomain = no

readme_directory = no

myhostname = mail.XXXXXXX.com.pe

alias_maps = hash:/etc/aliases

alias_database = hash:/etc/aliases

myorigin = /etc/mailname

mydestination = mail.XXXXXXX.com.pe, XXXXXXX.com.pe

notify_clases = resource, software

mynetworks = 127.0.0.0/24, 192.168.1.0/24, 10.0.0.0/8

relay_domains = mail.XXXXXXX.com.pe

relayhost =

mailbox_size_limit = 0

recipient_delimiter = +

inet_interfaces = all

queue_directory = /var/spool/postfix

smtpd_client_restriction = permit_mynetworks, reject_unknown_client,$

ojo que en mynetworks = 127.0.0.0/24, 192.168.1.0/24, 10.0.0.0/8 , esta asi por que mi DMZ es 192.168.1.0 y mi red interna es 10.0.0.0/8 cualquier otro caso deben cambiarlo a su medida


luego de esto y de copiar en /etc los archivos ya concatenados passwd, group y shadows reiniciamos el servidor SMTP


#/etc/init.d/postfix restart


no olvidar tambien que es necesario copiar los archivos /etc/hosts , /etc/aliases y /etc/mailname archivos que ayudaran a replicar el servicio tan igual como en el antiguo servidor.


Estos archivos deben tener permisos : 644


Con la finalidad de poder comprobar que los servicios este levantadas baje e instale un programita llamado NMAP


# apt-get install nmap

#nmap localhost : esto nos debe dar un listado como el siguiente el cual indica en sus lineas que tanto el servidor SMTP (postfix) y el servidor POP3 (qpopper) esta levantados y en servicio


PORT STATE SERVICE

21/tcp open ftp

22/tcp open ssh

25/tcp open smtp

80/tcp open http

110/tcp open pop3

111/tcp open rpcbind

113/tcp open auth




paso 5: ahora debemos restaurar la copia de las particones /home y de la carpeta /var/mail en el nuevo servidor .

esto con el comando


para HOME debemos estar como root en la raiz

# tar -xvf /media/usb/home.tar


para /var/mail debemos estar en la carpeta /var

# tar -xvf /media/usb/mail.tar


paso 6 : instalación de Openwebmail, aqui pense demorarme mas pero al final fue rapido :


primero debemos instalar el Servidor Apache2


# apt-get install apache2


luego bajamos el paquete OWM


# wget http://www.openwebmail.org/openwebmail/download/debian/owm2.53-2.deb

# dpkg -i owm2.53-2.deb

mas que seguro que a ustedes a igual que Yo le dará errores de dependencia y otras cosas..para esto escriban el siguiente comando.


# apt-get -f install


con esto y si no sale mas errores ya podemos utilizar el servidor con las misma cuentas y contenido del anterior pero con mejores performances



Mi próxima tarea sera instalar HORDE colocar autenticación y manejar las cuentas con postgrsql..