Ubuntu 16.04 – Webmail con postfix, courier y squirrelmail

Uno de los servicios más importantes de internet es el correo electrónico, una empresa moderna no puede ser productiva sin los beneficios del correo.

En estas líneas explicaré como configurar un servidor de correo que se pueda revisar directamente en un navegador web, utilizando Ubuntu 14.04, postfix, courier y squirrelmail.

Para los desesperados que no quieren leerse toda la teoría de los protocoles les recomiendo irse directamente a la parte de Instalación y configuración

Protocolos implicados

  • HTTP

    • HTTP son las siglas en inglés de HiperText Transfer Protocol(en español, protocolo de transferencia de hipertexto).
    • Es un protocolo de red (un protocolo se puede definir como un conjunto de reglas a seguir) para publicar páginas de web o HTML.
    • HTTP es la base sobre la cual está fundamentado Internet, o la WWW.
  • HTTPS

    • HTTPS viene a ser el Protocolo Seguro de Transferencia de Hipertexto
    • Está basado en el antes mencionado HTTP pero con la particularidad de utilizar un cifrado basado en la Secure Socket Layers mas conocidas como SSL
    • Crea un canal de transferencia cifrado con el que obviamente aumenta la seguridad en el tráfico de información en comparación al protocolo HTTP común.
    • Este protocolo HTTPS es usado por los entidades bancarias pues la información que manejan es de suma confidencialidad e importancia y por ello se necesita mantener cifrado el canal de transferencia.
    • Últimamente se ha mejorado la seguridad no solo en servicios web bancarios sino en servicios que usuarios como nosotros usamos día a día como lo son nuestras cuentas de correo (Hotmail, Gmail, Yahoo Mail), nuestras cuentas hacia redes sociales como Twitter y Facebook entre otros sitios comúnmente visitados por la mayoría de la gente que navega por internet.
  • Sesiones seguras https

Cuando un URL comienza con HTTPS en lugar de HTTP, significa que el navegador está usando un esquema seguro para proteger la información que está siendo transferida. Este esquema HTTPS es el que toda transacción comercial en Internet debe de usar. A este esquema se le conoce como SSL.

  • ¿Que ES e-mail?

    • El correo electrónico, en inglés electronico email o e-mail, es un método para crear, enviar y recibir mensajes a través de sistemas de comunicación electrónica.
    • La mayoría de los sistemas de correo electrónico de hoy en día utilizan Internet, siendo el correo electrónico uno de los usos más populares de Internet.

SMTP

  • Protocolo simple de transferencia de correo (SMTP) está diseñado para transferir correo confiable. es el estándar utilizado por Internet.
  • El protocolo Simple de transferencia de correo sería un protocolo “capa de aplicación” cuando en el modelo OSI.
  • Solicitudes de comentarios (RFC) proporcionan especificaciones para el protocolo:
  • RFC-821 especifica el protocolo de intercambio y es la base para SMTP.
  • RFC-822 especifica el formato del mensaje.
  • El servicio de correo de internet se basa en estos documentos RFC.

 imap

    • Internet Message Access Protocol (IMAP, Protocolo de acceso a mensajes de internet), es un protocolo de aplicación que permite el acceso a mensajes almacenados en un servidor de Internet.
    • Mediante IMAP se puede tener acceso al correo electrónico desde cualquier equipo que tenga una conexión a Internet.
    • IMAP tiene varias ventajas sobre POP (otro protocolo empleado para obtener correos desde un servidor).
    • Por ejemplo, es posible especificar en IMAP carpetas del lado del servidor. Por otro lado, es más complejo que POP ya que permite visualizar los mensajes de manera remota y no descargando los mensajes como lo hace POP.

POP

  • En informática se utiliza el Post Office Protocol(POP3Protocolo de Oficina de Correo o “Protocolo de Oficina Postal”) en clientes locales de correo para obtener los mensajes de correo electrónico almacenados en un servidor remoto. Es un protocolo de nivel de aplicación en el Modelo OSI.
  • Las versiones del protocolo POP, informalmente conocido como POP1 y POP2, se han quedado obsoletas debido a las últimas versiones de POP3. En general cuando se hace referencia al término POP, se refiere a POP3dentro del contexto de protocolos de correo electrónico.

Ahora si: Instalación y configuración

Paso 1: Nos aseguramos que están bien configurado los parámetros de red

eth0eth1

Paso 2: Comprobamos que esté bien configurado el DNS, en este caso estoy utilizando el dominio hipotético ubuntuservidor.edu.ni

 

Paso 3: Como esto va a ser un webmail, necesitamos un servidor web operativo y funcional

apache

Paso 4: Instalación de postfix

Posfix se encargar de enviar los correos por medio de SMTP, instalamos postfix con

apt-get install postfix

Aparecen varias pantallas que tenemos que completar, la primera es:

postfix1

En las pantallas siguientes se completa la siguiente información:

  • Sitio de Internet
  • ubuntuservidor.edu.ni

Si queremos configurar detalladamente todos los parámetros podemos utilizar

dpkg-reconfigure postfix
  • Sitio de Internet
  • root@isti.edu.ni
  • mail.ubuntuservidor.edu.ni, localhost.localdomain, localhost
  • No
  • 127.0.0.0/8 192.168.10.0/24 [::ffff:127.0.0.0]/104 [::1]/128
  • 0
  • +
  • todo

A continuación editaremos el siguiente archivo: /etc/postfix/main.cf

nano /etc/postfix/main.cf

primero modificamos el parámetro mydestination para que quede así:

mydestination = ubuntuservidor.edu.ni

… y al final añadimos

home_mailbox = Maildir/

Para hacer efectivos los cambios re-iniciamos postfix

service postfix restart

Pasos 5: Instalar POP y courier IMAP

Para recibir los correos en Ubuntu, necesitamos courier-pop y courier-imap mediante los siguientes comandos:

apt-get install courier-pop

Aparece una ventana, simplmente le decimos que no, luego

apt-get install courier-imap

Activamos servicio de autenticación de courier

systemctl enable courier-authdaemon

systemctl start courier-authdaemon

Paso 6: Instalación de Squirrelmail

Squirrelmail es una aplicación web escrita en PHP. Tiene las mismas funcionalidades de thunderbird, pero funciona vía web. Para instalar Squirrelmail, en una terminal utilizamos el comando:

apt-get install squirrelmail

Luego para realizar la configuración

squirrelmail-configure

En el menú  seleccionamos la opción D (Set pre-defined settings for specific imap servers).

Captura

Luego indicamos el tipo de correo: courier

A continuación seleccionar la opción 2 y especificar el nombre del dominio, la configuración es sencilla, simplemente hay que seguir las indicaciones de las pantallas.

Captura2

Finalmente, guardar los cambios y salir

Para actualizar la configuración del servidor web, utilzamos el siguiente comando

cat /etc/squirrelmail/apache.conf >> /etc/apache2/sites-available/000-default.conf

También es necesario ajustar un parámetro en PHP,  se hace editando el archivo /etc/php/7.0/apache2/php.ini

nano /etc/php/7.0/apache2/php.ini

Buscar el parámetro short_open_tag debe estar en On

short_open_tag = On

Reiniciamos el servidor web con:

service apache2 restart

Accedemos al sitio con cualquier navegador a: http://localhost/squirrelmail/src/configtest.php.

Captura3

Si no hay errores podemos continuar

TODAVÍA NO INICIE SESIÓN

Paso 7: Creación de las cuentas de usuario

El protocolo IMAP procesa los correos y los pone en el directorio particular de cada usuario, en una carpeta llamada “Maildir”, es necesario ajustar la configuración para que esta carpeta y su contenido se le cree automáticamente a todos los usuarios para eso nos vamos a /etc/skel

cd /etc/skel

Luego creamos la estructura interna con:

mkdir -p Maildir/new
mkdir -p Maildir/cur
mkdir -p Maildir/tmp

Finalmente creamos los usuarios con useradd y passwd

usuarios

Ahora si desde el navegador accedemos a http://www.ubuntuservidor.edu.ni/squirrelmail/

accesoEnviamos correo

acceso2Revisamos el correoacceso3.1Felicidades, hemos configurado el webmail

Acerca de ProfeCarlosLeal

Docente universitarios Ingeniero en Electrónica Especialista en Administración de Servidores
Esta entrada fue publicada en Sin categoría. Guarda el enlace permanente.

10 respuestas a Ubuntu 16.04 – Webmail con postfix, courier y squirrelmail

  1. tuflete dijo:

    buenas tardes Carlos, todo funciona bien hasta que doy en el enlace
    http://misitio.com/squirrelmail/src/configtest.php. Tengo una instalación wordpress allí y me arroja 404.
    Tienes alguna idea de lo que pude hacer mal?

    Me gusta

  2. tuflete dijo:

    Tengo varios dominios en el servidor. Al parecer este comando no es el apropiado
    cat /etc/squirrelmail/apache.conf >> /etc/apache2/sites-available/000-default.conf

    Me gusta

    • Es correcto, esta configuración está pensada para cuando se tiene un solo dominio y un solo sitio. En este caso se necesita una configuración diferente

      Le gusta a 1 persona

      • tuflete dijo:

        Gracias por tu respuesta, Carlos.. El sitio está andando perfectamente. Es un blog en wordpress hospedado en una instancia EC2 de amazon. Tengo 2 dominios, por lo que tengo la siguiente estructura:
        /etc/apache2/sites-available/dominio1.com.conf
        /etc/apache2/sites-available/dominio2.com.conf

        En lugar de usar el comando que indicaste (cat /etc/squirrelmail/apache.conf >> /etc/apache2/sites-available/000-default.conf), copié el contenido en el archivo dominio1.com.conf (que es el que me interesa)

        Options FollowSymLinks

        php_flag register_globals off

        DirectoryIndex index.php

        # access to configtest is limited by default to prevent information leak

        order deny,allow
        deny from all
        allow from 127.0.0.1

        Pude ver que hay en este archvo una restricción a configtest.php, por lo que cambié estas dos lineas:
        deny from all
        allow from 127.0.0.1
        por esta
        allow from all

        Reinicié apache y sigue sin funcionar.

        Agradecería si tienes alguna información que pueda ayudarme a resolver esto.
        Luis

        Me gusta

  3. Rafael González dijo:

    Carlos:

    Buenas tardes, no me sirvió la este link «http://localhost/squirrelmail/src/configtest.php». Pero terminé todos los pasos y me permitió enviar y recibir correos.

    Muchas muchas muchas gracias, desde Colombia.

    Rafael González

    Me gusta

  4. Miguel dijo:

    Quien me ayuda ERROR: Connection dropped by IMAP server.

    Me gusta

  5. lll dijo:

    Hola, no me deja mandar email desde un cliente de correo, sin embargo desde squirrelmail si quew puedo

    Me gusta

  6. Maikel Cutiño Fernandez dijo:

    Hola mi estimado super explicado tú tutorial, agradecido por el aporte, tengo unas dudas, quisiera que al escribir en el navegador la dirección del dominio no abra la web de bienvenida de apache que es la que se está mostrando en este momento y lo otro es que puedo enviar correos hacia otros dominios más no los estoy recibiendo, existe alguna otra configuración para que pueda suceder esto???

    Me gusta

Deja un comentario