martes, 1 de marzo de 2011

iRedMail, un servidor de correo electrónico completo en minutos

Vamos a ver como usar iRedMail para instalar un servidor de correo electrónico con Postfix (MTA), Dovecot (IMAP,POP3), Amavisd (comunica los mensajes de correo con el antivirus y el antispam), ClamAV (antivirus), SpamAssassin (antiSpam), RoundCube (Cliente web de correo electrónico) en muy poco tiempo. También usaremos OpenLDAP como backend de usuarios y dominios virtuales.

Lo instalaremos en Debian 6 amd64 y en una máquina virtual con Virtual Box 4.0.4. La instalación será con todos los grupos de paquetes deseleccionados excepto OpenSSH Server para acceder de forma remota.

iRedMail es un script de instalación con licencia libre. Podéis ver sus características aquí (en inglés)

Especificaciones

  • El servidor de correo electrónico tendrá la ip 192.168.1.50/24.
  • El nombre de host será "mail". El dominio será "laordenarcana.no-ip.org". El nombre del host completo cualificado sería, por tanto, "mail.laordenarcana.no-ip.org".
  • El nombre de la raíz de OpenLDAP será dc=laordenarcana,dc=no-ip,dc=org (LDAP suffix).

Instalación

Lo primero es cambiar la IP a estática y a la que queremos.

# vim /etc/network/interfaces

...
# The primary network interface
allow-hotplug eth0
#iface eth0 inet dhcp
iface eth0 inet static
   address 192.168.1.50
   netmask 255.255.255.0
   broadcast 192.168.1.255
   gateway 192.168.1.1
...

Reiniciamos la interfaz y ya accedemos por ssh desde nuestro ordenador.

# ifdown eth0 && ifup eth0 && ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 08:00:27:91:d9:59  
          inet addr:192.168.1.50  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe91:d959/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5201 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2982 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:7559265 (7.2 MiB)  TX bytes:210648 (205.7 KiB)

Instalo algunos paquetes necesarios. Vim es opción mía y bzip2 es necesario para descomprimir.

# aptitude install vim bzip2

Compruebo el nombre de host

# hostname
mail
# hostname -f
mail.laordenarcana.no-ip.org
# cat /etc/hosts
127.0.0.1       localhost
127.0.1.1       mail.laordenarcana.no-ip.org    mail
...

Descargamos y descomprimimos iRedMail

# cd /opt
# wget http://iredmail.googlecode.com/files/iRedMail-0.7.0-beta2.tar.bz2
# tar -xjvf iRedMail-0.7.0-beta2.tar.bz2
# chmod u+x iRedMail-0.7.0-beta2/iRedMail.sh 
# cd iRedMail-0.7.0-beta2

Ejecutamos el script y comenzamos la configuración. Usa paquetes oficiales de la distribución Debian 6, por tanto, no hay problema de incompatibilidad. También descarga paquetes de gestión web para postfix, ldap, etc.

# ./iRedMail.sh
< INFO > ==================== Fetching Source Tarballs ====================
< INFO > * 1/6: http://iredmail.org/apt/misc/iRedAPD-1.3.3.tar.bz2
< INFO > * 2/6: http://iredmail.org/apt/misc/iRedAdmin-0.1.3.tar.bz2
< INFO > * 3/6: http://iredmail.org/apt/misc/phpldapadmin-1.2.0.5.tgz
< INFO > * 4/6: http://iredmail.org/apt/misc/postfixadmin-2.3.2.tar.gz
< INFO > * 5/6: http://iredmail.org/apt/misc/roundcubemail-0.5.tar.gz
< INFO > * 6/6: http://iredmail.org/apt/misc/phpMyAdmin-3.3.9.1-all-languages.tar.bz2
...

Ahora nos saldrán las pantallas para configurar el servidor. La primera es la de bienvenida. Pulsamos yes.


Nos pedirá la ruta de almacenaje de los buzones. La dejamos por defecto en /var/vmail. Podríamos usar un SAN iSCSI para montar esta ruta. Pulsamos Next.


En la siguiente pantalla elegimos el backend OpenLDAP para gestionar los usuarios y los dominios virtuales. Pulsamos Next.


Ponemos nuestro raíz del directorio LDAP. En mi caso laordenarcana.no-ip.org y pulsamos Next.


Ponemos la contraseña de Manager de ldap. El administrador.


Ponemos la contraseña del usuario root de MySQL. La base de datos se usará para las aplicaciones PHP de gestión web, no para el backend del servidor de correo Postfix.


Ponemos el nombre del primer dominio virtual de correo electrónico. En mi caso laordenarcana.no-ip.org.


Ponemos la contraseña del usuario administrador del dominio virtual de postfix que es postmaster@laordenarcana.no-ip.org. Especifica que se puede hacer login con los usuarios iRedAdmin, PostfixAdmin y Awstat usando esta cuenta y contraseña.


Ponemos la contraseña el primer usuario www@laordenarcana.no-ip.org. Especifica que podemos hacer login con el usuario webmail y esta contraseña.


Seleccionamos los componentes adicionales a instalar


Seleccionamos el lenguaje por defecto de la aplicación web de correo electrónico. En este caso el Español. Pulsamos next


Con esto acabará la configuración y nos saldrá lo siguiente en consola.

Configuration completed.

*************************************************************************
***************************** WARNING ***********************************
*************************************************************************
*                                                                       *
* Please do remember to *MOVE* configuration file after installation    *
* completed successfully.                                               *
*                                                                       *
*   * /opt/iRedMail-0.7.0-beta2/config
*                                                                       *
*************************************************************************
< INFO > Continue? [Y|n]

Pulsamos Y y comenzará a descargar e instalar los siguientes paquetes y sus dependencias mediante los repositorios oficiales de Debian 6. Son unos cuantos. En total 113 MB.

< INFO > Installing package(s): apache2 apache2-mpm-prefork apache2.2-common libapache2-mod-php5 libapache2-mod-auth-mysql php5-cli php5-imap php5-gd php5-mcrypt php5-mysql php5-ldap php5-mhash postfix postfix-pcre awstats mysql-server mysql-client postfix-ldap slapd ldap-utils libnet-ldap-perl postfix-policyd dovecot-imapd dovecot-pop3d amavisd-new libcrypt-openssl-rsa-perl libmail-dkim-perl clamav-freshclam clamav-daemon spamassassin altermime libmail-spf-perl python-ldap libapache2-mod-wsgi python-mysqldb python-ldap python-jinja2 python-netifaces python-webpy python-ldap bzip2 acl patch cron tofrodos phpldapadmin phpmyadmin

Se crearán los usuarios necesarios, las entradas en openldap necesarias, etc. Cuando se complete la instalación nos saldrá lo siguiente. Respondemos a todas las preguntas por defecto (letra mayúscula) y, al final, nos salen las direcciones web donde podemos administrar el servidor.

*************************************************************************
* iRedMail-0.7.0-beta2 installation and configuration complete.
*************************************************************************

< Question > Would you like to use firewall rules shipped within iRedMail now?
< Question > File: /etc/default/iptables, with SSHD port: 22. [Y|n]Y
< INFO > Copy firewall sample rules: /etc/default/iptables.
insserv: warning: script 'K01iredapd' missing LSB tags and overrides
insserv: warning: script 'iredapd' missing LSB tags and overrides
< Question > Restart firewall now (with SSHD port 22)? [y|N]N
< Question > Would you like to start postfix now? [y|N]N
********************************************************************
* URLs of your web applications:
*
* - Webmail: http://mail.laordenarcana.no-ip.org/mail/ or httpS://mail.laordenarcana.no-ip.org/mail/
*   + Account: www@laordenarcana.no-ip.org, Password: 
*
* - iRedAdmin: httpS://mail.laordenarcana.no-ip.org/iredadmin/
*   + Account: postmaster@laordenarcana.no-ip.org, Password:
*
* - phpMyAdmin: httpS://mail.laordenarcana.no-ip.org/phpmyadmin/
*   + Accounts:
*       - Name: vmailadmin, Password: 
*       - Name: root, Password:
*
* - phpLDAPadmin: httpS://mail.laordenarcana.no-ip.org/phpldapadmin/
*   + Account:
*       - Name (manage mail accounts only): cn=vmailadmin,dc=laordenarcana,dc=no-ip,dc=org, Password: 
*       - Name (site-wide manager): cn=Manager,dc=laordenarcana,dc=no-ip,dc=org, Password: 
*
* - Awstats:
*   + URLs:
*       - httpS://mail.laordenarcana.no-ip.org/awstats/awstats.pl?config=web
*       - httpS://mail.laordenarcana.no-ip.org/awstats/awstats.pl?config=smtp
*   + Account: postmaster@laordenarcana.no-ip.org, Password: 
*

********************************************************************
* Congratulations, mail server setup complete. Please refer to tip
* file for more information:
*
*   - /opt/iRedMail-0.7.0-beta2/iRedMail.tips
*
* And it's sent to your mail account www@laordenarcana.no-ip.org.
*
* Please reboot your system to enable mail related services or start them
* manually without reboot:
*
*   # for i in rsyslog  apache2 postfix mysql slapd postfix-policyd dovecot amavis clamav-daemon clamav-freshclam cron iredapd iptables; do /etc/init.d/${i} restart; done
*
********************************************************************

Reiniciamos todos los servicios necesarios como nos indica el script.

# for i in \
>rsyslog apache2 postfix mysql slapd postfix-policyd \
>dovecot amavis clamav-daemon clamav-freshclam cron iredapd iptables; \
>do /etc/init.d/${i} restart; \
>done

Stopping enhanced syslogd: rsyslogd.
Starting enhanced syslogd: rsyslogd.
Restarting web server: apache2 ... waiting ..
Stopping Postfix Mail Transport Agent: postfix.
Starting Postfix Mail Transport Agent: postfix.
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..
Stopping OpenLDAP: slapd.
Starting OpenLDAP: slapd.
Restarting Postfix greylisting policy daemon: Restarting IMAP/POP3 mail server: dovecotIf you have trouble with authentication failures,
enable auth_debug setting. See http://wiki.dovecot.org/WhyDoesItNotWork
This message goes away after the first successful login.
.
Stopping amavisd: amavisd-new.
Starting amavisd: amavisd-new.
Stopping ClamAV daemon: clamd.
Starting ClamAV daemon: clamd LibClamAV Warning: ***********************************************************
LibClamAV Warning: ***  This version of the ClamAV engine is outdated.     ***
LibClamAV Warning: *** DON'T PANIC! Read http://www.clamav.net/support/faq ***
LibClamAV Warning: ***********************************************************
.
Stopping ClamAV virus database updater: freshclam.
Starting ClamAV virus database updater: freshclam.
Restarting periodic command scheduler: cron.
iredapd is already stopped.
Starting iredapd ...
Applying iptables firewall rules:.

Y ya está listo. Ahora vamos a ver si podemos acceder. Iremos al webmail con https y nos pedirá que aceptemos el certificado. Este certificado se ha generado en la instalación de iRedAdmin con una duración de 10 años y para nustro servidor (mail.laordenarcana.no-ip.org) así que aceptamos y veremos lo siguiente


Ponemos el usuario y contraseña y listo, ahí tenemos nuestro webmail con un par de correos de los administradores de iRedMail. Hay que leerlos bien y guardarlos, sobretodo el que tiene toda la configuración y direcciones del servidor.


Por defecto, roundcube (el webmail) solo viene con dos plugins (password y managesieve) para poder cambiar contraseñas, crear filtros y respuesta automática de vacaciones. Si vamos a la consola y miramos los alias

# postconf | grep aliases
alias_database = hash:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
newaliases_path = /usr/bin/newaliases

# cat /etc/postfix/aliases
# See man 5 aliases for format
postmaster:    root
clamav: root
root: www@laordenarcana.no-ip.org
policyd: www@laordenarcana.no-ip.org
amavis: root

Vemos que los usuarios postmaster, clamav y amavis están mapeados a root y que root y policyd están mapeados a www@laordenarcana.no-ip.org. Esto hará que todos los mensajes de de root y de policyd vayan a la cuenta www@laordenarcana.no-ip.org.

Vamos a crear un nuevo usuario de mail. Para ello vamos al administrador iRedAdmin y ponemos el usuario y contraseña correspondiente al administrador.



iRedAdmin tiene funcionalidad limitada para algunos aspectos, podemos comprar el PRO o podemos gestionar estas funcionalidades mediante phpMyAdmin (mysql) phpLDAPadmin. Vamos a Usuarios y pulsamos en Crear nuevo usuario de correo.


Rellenamos los campos y pulsamos en Crear.


Vemos que se ha creado. Si queremos asociar la cuenta de correo a una cuenta del sistema podemos poner el UserID de la cuenta. También podemos rellenar el número de teléfono.


Si vamos a RoundCube (webmail) y entramos con usuario contraseña del nuevo usuario veremos que podemos entrar al correo electrónico.


Podemos ir a phpLDAPadmin y ver lo que hay creado pero mediante ldap.


Pulsamos en Conectar y escribimos el nombre completo del usuario administrador de ldap, cn=Manager,dc=laordenarcana,dc=no-ip,dc=org y la contraseña.


Vamos a los usuarios del dominio y vemos los usuarios actuales.


Por último podemos ver Awstats o phpMyAdmin entre otras cosas, para las estadísticas y gestion de MySQL.



16 comentarios:

  1. muy bueno pero como puedo conf
    Thunderbird, Outlook, etc.

    ResponderEliminar
  2. Amigo disculpa necesito ayuda por favor:

    - Cuando ya instalo todo y voy a bajar los 113megas me sale este mensaje:

    http://imageshack.us/photo/my-images/535/10704035.jpg/

    y no se que hacer :(

    - Lo otro es en el inicio porque cuando hago el Vim me sale error pero lo instale y cuando me sale el resultado no me muestra ningun IP solo letras.

    Te agredeceria mucho q me ayudes en esto. ecancharis gmail

    ResponderEliminar
  3. Hola

    El articulo se refiere a la instalación en Debian 6. Tu parece que lo estas instalando en Debian 5. Es posible que los nombres de paquetes sean diferentes en diferentes versiones del sistema.

    Tendrás que buscar los paquetes que se han de instalar para Debian 5 con apt-get update y apt-cache search.

    También puede que no tengas los repositorios correctos en tu sistema y solo busque en la imagen iso. Si es así tendrás que agregar los repositorios de paquetes de debian de internet para tu versión del sistema y realizar un apt-get update para actualizar y después volver a probar la instalación o buscar los paquetes necesarios.

    Saludos

    ResponderEliminar
  4. Oh amigo gracias por responderme y pucha es en Debian 6 pero ya lo resolvi, gracias de todas... aunque ahora tengo una duda super duda... cuando esta por defecto en DHCP tengo internet pero cuando hago la config en static ya no tengo internet... he visto otras configuraciones y no me sale... tendre que modificar algo mas?

    Gracias!

    ResponderEliminar
  5. Hola!!
    ¿Como entrar al iRedMail, lo he instalado pero no se como entrar, he logrado entrar en el awstats, webmail y postfixadmin, pero no he logrado entrar el iRedMail, lo estoy probando localmente, ¿Como entraria a el?
    Gracias!!!

    ResponderEliminar
  6. Hola Carlos

    Hay un párrafo que indica como entrar. El de webmail para ser más exactos.

    Saludos

    ResponderEliminar
  7. Ya vi que cuando se instala con Mysql-Server no se puede entrar a /iRedmail, la administracion se hace desde /postfixadmin, ahora una duda amigo, Puedo enviar correos y recibir, pero lo quiero configurar para Clientes de correo (Outlouk, etc), ¿Como le doy permisos en el postfix para que estos puedan enviar a traves de SMTP?
    y hay que exportar alguna firma o certificado desde el server para que se pueda configurar una cuenta en Algun cliente de correo.
    Saludos y Gracias!!!!!!!!

    ResponderEliminar
  8. Francisco muy buena tu publicacion, me gustaria saber como configurar el outlock o cualquier cliente de correo externo, gracias.

    w.f.oc@hotmail.com

    ResponderEliminar
  9. yo tengo ip fija tengo mi dns configurado pero no se cual e mi smtp me podrian ayudar gracias

    ResponderEliminar
  10. Saludos, espero me puedan ayudar
    como agregar una regla en firewall de iredmail en opsen suse 12.1

    ResponderEliminar
  11. Muy buena explicación, ahora sólo quisiera saber como enviar correos a cualquier otro servidor en la web ej. gmail.com; ya que con la configuración que aquí se explica únicamente se pueden enviar correos localmente (puesto que así lo tengo instalado). Espero me ayuden, Gracias.-

    ResponderEliminar
  12. me pasa lo mismo que a Nahum, me gustaría poder enviar a través de internet, puesto que localmente ya lo hago... ¿Qué solución hay? Gracias. ·_·

    ResponderEliminar
  13. Buenos Días, una consulta como puedo actualizar mi iredmail al último que salio sin tener que instalar nuevamente porque ya esta funcionando en intranet.

    ResponderEliminar
  14. OTra consulta mas como puedo evitar que los usuarios envien correos masivos o reciban mucho spam por favor una mano con esto porque los correos como hotmail y gmail me van cortando los envios todo el tiempo.

    ResponderEliminar
  15. alguien me puede ayudar con este error.
    cn=vmailadmin is incorrect
    centOS 6.3

    https://localhost/iredadmin

    ResponderEliminar

Related Posts with Thumbnails