Saltar al contenido

Instalar PostFix y SquirrelMail en Ubuntu 11.04

Squirrelmail_logo

Squirrelmail_logo

Para tener más completo nuestro servidor web, es interesante tener en cuenta el instalar un servidor de correo electrónico. Muy útil y nos servirá para realizar todas las pruebas que necesitemos en nuestros futuros desarrollos.

Lo primero es instalar un servidor de correo electrónico. Nosotros hemos optado por elegir PostFix.

sudo apt-get install postfix

La instalación nos pedirá que configuremos, o mejor dicho, que seleccionemos las opciones que más se adaptan a nuestras necesidades.

  1. Presionamos la tecla Intro, puesto que tan solo nos muestra información sobre la primera opción
  2. Ahora dejamos la que viene por defecto «Sitio de Internet» y presionamos Intro
  3. En este paso indicamos el nombre del dominio, en nuestro caso desarrollo.com puesto que se trata de nuestro servidor local de desarrollo
  4. Ya lo tenemos instalado, pero faltan unos detalles en cuanto a la configuración se refieren y tenemos que abrir:

sudo gedit /etc/postfix/main.cf

Y al final del fichero añadimos:

inet_protocols = ipv4
home_mailbox = Maildir/

Sirve para indicar que se utilizará el protocolo de red IPv4 y cual será el directorio donde se almacenarán los correos electrónicos. Tenemos que observar con detenimiento el fichero y buscar la siguiente línea mydestination que ha de ser igual a nuestro nombre de servidor. Como ya sabéis en nuestro caso es desarrollo.com Si todo está Ok podemos pasar al reseteo del servidor de correo:

sudo /etc/init.d/postfix restart

Ahora necesitamos instalar un par de servicios que nos permitirán tener bien configurado nuestro servidor de correo de forma correcta. Hemos de instalar Courier PoP y Courier IMAP

sudo apt-get install courier-pop

Al instalarlo nos realizará una pregunta, por defecto viene señalado el no pero podemos fácilmente seleccionar el sí, de hecho, si seleccionamos el sí, tan solo existirá un fichero de configuración para el servicio y podremos gestionarlo fácilmente desde nuestro Webmin.

Ahora instalamos Courier IMAP

sudo apt-get install courier-imap

¿Qué nos falta? Claro, nos falta la interfaz gráfica para poder utilizar nuestras cuentas de correo, ¿verdad? Pues bien, nosotros hemos optado por instalar SquirrelMail, que es una aplicación webmail basada en php que nos permitirá gestionar nuestro correo electrónico.

sudo apt-get install squirrelmail

Ahora necesitamos configurarlo:

squirrelmail-configure

Al teclear esta instrucción en la consola nos aparecerá la aplicación de gestión del aplicativo.  Seguimos los pasos:

  1. Seleccionamos la Opción D (teclear D y pulsar Intro): Set pre-defined settings for specific imap servers
  2. Después tecleamos courier y pulsamos intro
  3. Pulsamos una tecla para continuar
  4. Ahora seleccionamos la opción 2 y pulsamos intro
  5. Ahora seleccionamos la opción 1 y pulsamos intro
  6. A continuación tecleamos el nombre de nuestro dominio desarrollo.com y pulsamos intro
  7. Para finalizar pulsamos la tecla Q para salir y guardamos los cambios

Para poder acceder al SquirrelMail desde la web, tenemos que crear un enlace simbólico. ¿Cómo? Pues con dos sencillos comandos:

cd /var/www
sudo ln -s /usr/share/squirrelmail webmail

Ahora ya podemos visitar nuestro webmail en nuestro servidor de desarrollo. Si lo has hecho todo bien http://localhost/webmail debería de funcionarte correctamente.

45 comentarios en «Instalar PostFix y SquirrelMail en Ubuntu 11.04»

    1. Necesitas configurar tu servidor Apache para que pueda procesar los ficheros PHTML. ¿Cómo? Muy sencillo:

      Abres una consola y tecleas (recuerda que el símbolo de dólar tan solo es un indicador que confirma que es un comando):
      $ sudo vi /etc/apache2/mods-available/dir.conf

      Y cambiamos lo siguiente:

      #DirectoryIndex index.html index.cgi index.pl index.php index.xhtml
      DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml index.phtml

      Ahora tenemos que reiniciar el servidor de Apache

      $ sudo /etc/init.d/apache2 restart

      Y ya está, ahora debería correrte a la perfección.

  1. Muy bueno el manual! me ha ayudado mucho! pero cuando estoy dentro de squirrelmail e intento enviar un correo, me da este error:
    ERROR:
    Message not sent. Server replied:

    Connection refused
    111 Can’t open SMTP stream.

    Sabes a que puede ser debido? Gracias! he mirado la configuración y esta todo bien!

    1. Prueba con lo siguiente:

      Edita el fichero /etc/exim.conf
      -Donde dice:
      #daemon_smtp_ports = 25 : 587
      daemon_smtp_ports = 25

      Lo cambias por:
      daemon_smtp_ports = 25 : 587
      #daemon_smtp_ports = 25

      A ver que resultado te da!

  2. Consulta ise todo lo que sale aki todo bien pero no me envia mail a ningun sitio que puede ser el problema ????? asta intento enviar mail al mismo user y nada

  3. Excelente post. Es un muy buen punto de partida. Estoy administrando mi servidor por CLI y tambien por Webmin y algo que tuve que hacer fue:

    mkdir -p /etc/skel/Maildir/{cur,new,tmp}

    Este comando crea carpetas Maildir para todos los usuarios que crees.Si queres crear el Maildir para usuarios que ya habias creado, digitas:

    mkdir -p /home/nombredeusuario/Maildir{cur,new,tmp}

    Gracias de nuevo!!!

  4. Hola como estas mira, a mi me ocurre lo siguiente, sigo todos los pasos, y al querer ingresar con un usuario me tira el siguiente error:

    ERROR: Connection dropped by IMAP server.

    Ya voy haciendo los pasos 2 veces pero resulta lo mismo, y no encuentro a nadie que me pueda decir cual sera el incoveniente. lo que si no instale el servidio de DNS, sera este el problema????

    Saludos y gracias

    1. A ver compañero, abre el fichero de log para ver que nos chiva en tu caso. ¿Puede que encuentres estos errores en él?

      – [Fecha/Hora] mipc dovecot: IMAP(usuario): mail_location not set and autodetection failed: Mail storage autodetection failed with home=/home/usuario
      – [Fecha/Hora] mipc dovecot: IMAP(usuario): Fatal: Namespace initialization failed

      Si es así, prueba con lo siguiente:

      1: Modificar el archivo dovecot
      $ sudo gedit /etc/dovecot/dovecot.conf

      Buscar:
      # See for full list.
      # Some examples:
      #
      # mail_location = maildir:~/Maildir
      # mail_location = mbox:~/mail:INBOX=/var/mail/%u
      # mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n
      #
      #
      #

      Y añade o modifica esta línea justo después de lo anterior
      mail_location = mbox:~/mail:INBOX=/var/mail/%u

      Ahora deberías tener una carpeta «mail» en tu «home», si no es así, aprovecharemos el comando que nos brinda otro compadre para crear las carpetas pertinentes para el nuevo (nuestro) usuario de mailing:
      mkdir -p /home/nombredeusuario/Maildir{cur,new,tmp}

      Espero que te halla servido de ayuda. Ya nos comentas que tal.

      1. No es necesario instalar el servicio DNS.

        Debo corregir el comando que sugeri :

        ERRONEA
        mkdir -p /home/nombredeusuario/Maildir{cur,new,tmp}

        CORRECTA
        mkdir -p /home/nombredeusuario/Maildir/{cur,new,tmp}

        Debes crear carpetas Maildir si le estas indicando en el archivo de configuracion que busque Maildir (# mail_location = maildir:~/Maildir)

        Espero te sirva

        1. A ver que nos comenta Carlos, ojalá pueda solventar el error. Y sí, es cierto, no es necesario configurar un servidor DNS, esta instalación es para servidores corporativos en los que ya lo hay o es necesaria su instalación para otros menesteres y como tal, se ha de configurar para que reconozca nuestro mail server. De todos modos obtiene una buena solución, esperemos que nos comente que tal le fue o si el error no va por ahí. Todos estamos sedientos de aprender más y más.

          Gracias de nuevo @gerardocastroa

  5. Con gust Alex.

    De hecho me interesa mucho ver como se continua desarrollando la discusion acerca de este post ya que debo configurar este servidor para varios cientos de usuarios…

    Saludos y gracias a vos por subir esta guia.

  6. Hola Alex. Buen tutorial y mejores explicaciones. Me ha surgido un problema. Lo instalo todo perfectamente (Ubuntu 11.04) y cuando intento acceder al servicio a través del navegador (http://localhost/webmail/src/login.php) no se que nombre de usuario y contraseña debo utilizar. Ahora que lo pienso desde que empezé instalando mysql, apache2, postfix y courier solo he especificado nombre de usuario y contraseña para mysql… Deberá también de hacerse algo parecido para el servicio SMTP o POP/IMAP, ¿no? En dicho caso, ¿dónde o cómo lo hago? Gracias por tu tiempo.
    Saludos.

    1. Deberías poder utilizar tu usuario de Ubuntu, es decir, nombredeusuario@localhost y la pass del mismo. Cada usuario en tu servidor, deberá contener en su carpeta de usuario un directorio llamado Maildir/ ¿Has probado a entrar con tu usuario y pass de linux? También puedes mirar este post, para administrar los servicios de tu servidor de forma rápida y sencilla con webmin.

  7. Hola, que tal gracias por tu guia, estoy empezando a configurar squirremail en centos, en mi pc, (hice una instalacion rapida con un tutorial no muy cimpleto, si logro enviar correos entre usuarios de la misma pc pero hacia el exterior, hotmail no y nose como enviar hacia un usuario de otra pc en lan centos.) mi duda es si con esta guia puedo enviar correo desde squirremail a hotmail, y para usuarios entre pcs en red local en centos, como se indicaria?, gracias y disculpa apenas comienzo :).

  8. Que tal, uso ubuntu 11.04 al instalar me da el siguente error: Se encontraron errores al procesar:
    /var/cache/apt/archives/postfix_2.8.2-1ubuntu2.1_i386.deb
    E: Sub-process /usr/bin/dpkg returned an error code (1)

    Alguna ayuda? gracias!

    1. Encontré esta información en un artículo del siguiente blog: http://www.esdebian.org/articulos/23994/correcion-sistema-paquetes-cuando-no-te-deja-instalar Espero que te sirva. Ya nos cuentas que tal!

      (Lamento no profundizar más en tu problema, pero andamos escasos de tiempo para contestar el blog últimamente. Así que espero de veras que te sirva la solución que exponen nuestros compañeros de esdebian.org (Que aun siendo Debian, para tu Ubuntu ha de funcionar). Ok??

      Un saludo y disculpa las molestias!

  9. Excelente tutorial.

    Yo ya tengo instalado mi servidor de correo y funciona de manera LOCAL. La pregunta es la siguiente: Que debo de hacer para poder recibir y enviar a usuarios externos PJ junito@gamil.com.

    Yo instale el postfix, el courrier-pop y el courrier-imap. Adicionalmente instale el mailx para poder enviar los mensajes por consola y el squirrelmail para poder ver los mensajes.

    Muchas Gracias

  10. Gracias por el blog… me ha servido de mucho, pero ahora no entiendo por que no me llegan correos de manera local, se envían pero no llegan.

    Este es el log de envío de un correo:

    Aug 28 21:54:09 correo imapd: LOGIN, user=edwin, ip=[::ffff:127.0.0.1], port=[34900], protocol=IMAP
    Aug 28 21:54:09 correo imapd: LOGOUT, user=edwin, ip=[::ffff:127.0.0.1], headers=0, body=0, rcvd=137, sent=900, time=0
    Aug 28 21:54:09 correo imapd: Connection, ip=[::ffff:127.0.0.1]
    Aug 28 21:54:09 correo imapd: LOGIN, user=edwin, ip=[::ffff:127.0.0.1], port=[34901], protocol=IMAP
    Aug 28 21:54:09 correo imapd: LOGOUT, user=edwin, ip=[::ffff:127.0.0.1], headers=0, body=0, rcvd=119, sent=900, time=0
    Aug 28 21:56:40 correo postfix/smtpd[1209]: connect from localhost[127.0.0.1]
    Aug 28 21:56:41 correo postfix/smtpd[1209]: 01BB822981: client=localhost[127.0.0.1]
    Aug 28 21:56:41 correo postfix/cleanup[1214]: 01BB822981: message-id=
    Aug 28 21:56:41 correo postfix/qmgr[932]: 01BB822981: from=, size=833, nrcpt=2 (queue active)
    Aug 28 21:56:41 correo imapd: Connection, ip=[::ffff:127.0.0.1]
    Aug 28 21:56:41 correo postfix/smtpd[1209]: disconnect from localhost[127.0.0.1]
    Aug 28 21:56:41 correo postfix/local[1218]: 01BB822981: to=, relay=local, delay=0.15, delays=0.08/0.03/0/0.04, dsn=2.0.0, status=sent (delivered t$
    Aug 28 21:56:41 correo postfix/local[1215]: 01BB822981: to=, relay=local, delay=0.15, delays=0.08/0.03/0/0.05, dsn=2.0.0, status=sent (delivered to c$
    Aug 28 21:56:41 correo postfix/qmgr[932]: 01BB822981: removed
    Aug 28 21:56:41 correo imapd: LOGIN, user=edwin, ip=[::ffff:127.0.0.1], port=[34903], protocol=IMAP
    Aug 28 21:56:41 correo imapd: LOGOUT, user=edwin, ip=[::ffff:127.0.0.1], headers=0, body=0, rcvd=769, sent=203, time=0
    Aug 28 21:56:41 correo imapd: Connection, ip=[::ffff:127.0.0.1]
    Aug 28 21:56:41 correo imapd: LOGIN, user=edwin, ip=[::ffff:127.0.0.1], port=[34904], protocol=IMAP
    Aug 28 21:56:41 correo imapd: LOGOUT, user=edwin, ip=[::ffff:127.0.0.1], headers=0, body=0, rcvd=119, sent=900, time=0

  11. Hola excelente este tutorial, te cuento que trabajo con ubuntu server 11,04 e instale el postfix, dovecot, curier-pop, curier-imap y squirrelmail. Entre los correos locales me envia y recibe perfectamente, pero cuando quiero enviar o recibir desde hotmail,gmail,etc.. no se efctua el envio, que podra estar sucediendo?? gracias de antemano

    1. debes registrar tu dominio de correo «MX», esto normalmente lo hago llamando a mi provedor ISP de internet ellos te ayudan en eso, ahi otra forma pero no la se que es registrarlo por internet el MX, y pues por si las dudas tu servidor DNS apunta el mx a tu servidor de correo

    1. ok, como imagino abras creado usuarios al momento de instalar ubuntu.

      Debes crear otro usuario con nombre y todo, por via de comandos (ctrl + alt + t):

      $ useradd «nombre_del_usuario» oprimes enter
      $ passwd «nombre_del_usuario» oprimes enter

  12. Hola, siguiendo el tutorial puedo enviar correos a servidores externos como hotmail, gmail, etc. pero no puedo recivir desde ellas, puedieras guiarme para detectar el problema, por ejemplo para ver si el dns está bien cofigurado y esas cosas.
    Tengo midominio.com
    y quiero usar direcciones tipo mail.midominio.com
    si me puedes apoyar lo agradeceré mucho.

    Saludos.

    1. Necesitaría ver como configuraste tu servidor DNS y saber si realmente los puertos de escucha del correo están bien configurados. Otra opción podría ser una mala configuración de tu server de correo. Si das más detalles, quizás yo o la comunidad podamos ayudarte. Saludos y disculpa la demora, pero ando liadísimo. Gracias por leernos y si tienes ya la solución, si no es mucho pedir, coméntala para que todos aprendamos de tus errores. Así todos ganaremos en conocimientos. Gracias de nuevo.

    1. IMPRESIONANTE APORTACIÓN ESTE MANUAL QUE PUBLICAS ANGEL! Ojala tenga un dia el suficiente conocimiento para hacer un manual similar.

      Todo muy claro, paso a paso, e incluso poniendo de forma evidente como ahorrar miles de euros.

  13. oye una mega preguntotaaaaaaa….al momento de terminar de configurar squirrelmail ya con lujo de cuidado he seguido los pasos…me sale este error….

    ###############################################R Return to Main Menu
    C Turn color on
    S Save data
    Q Quit

    Command >> Q

    You have not saved your data.
    Save? [Y/n]: y
    Error saving config.php: Permission denied

    Mis agradecimientos por las prontas atenciones prestadas

    Arrturo Gil Ibarra

  14. Una consulta, he seguido los pasos y puedo ingresar correctamente a Squirrelmail, pero los usuarios, las cuotas y demás, como y donde los creo? Muchas gracias.

Deja un comentario

A %d blogueros les gusta esto: