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(POP3, Protocolo 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
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
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:
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).
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.
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.
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
Ahora si desde el navegador accedemos a http://www.ubuntuservidor.edu.ni/squirrelmail/
Revisamos el correoFelicidades, hemos configurado el webmail
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 gustaMe gusta
Erro 404 es no encontrado, lo primero es revisar el DNS, lo segundo revisar los permisos
Me gustaMe gusta
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 gustaMe 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
Me gustaLe gusta a 1 persona
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 gustaMe gusta
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 gustaMe gusta
Quien me ayuda ERROR: Connection dropped by IMAP server.
Me gustaMe gusta
Hola puede ser que esto te sirva, hazme saber si es útil para ti.
https://askubuntu.com/questions/1035596/connection-dropped-by-imap-server
http://www.ajpdsoft.com/modules.php?name=Foros&file=viewtopic&t=1205
Me gustaMe gusta
Hola, no me deja mandar email desde un cliente de correo, sin embargo desde squirrelmail si quew puedo
Me gustaMe gusta
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 gustaMe gusta