Servidor de Correo con Webmail en Debian 9.5

Por: Carlos A. Leal S.

Requisitos para realizar esta configuración

  1. Haber configurado adecuadamente los parámetros de red
  2. Disponer de un servidor DNS, donde ya esté bien definido el dominio que se utilizará para enviar y recibir los correos
  3. Como vamos a configurar un webmail, necesitamos un servidor web funcionando

Paso 1 – Configuración inicial

Una vez que accedemos al sistema como root, actualizamos el software ya instalado.

apt-get update
apt-get upgrade

Iniciemos por instalar algunas herramientas necesarias, es posible que algunas ya estén instaladas.

apt-get install curl net-tools bash-completion wget lsof nano

Ahora vamos a editar el orden en que el cliente DNS hace las consultas

nano /etc/host.conf

lo dejamos así:

order hosts,bind
multi on

Con esta configuración nos aseguramos de que el cliente DNS primero revise el archivo /etc/hosts antes de hacer la consulta al servidor DNS.

Ahora vamos a modificar el archivo /etc/hosts, vamos a establecer correctamente el nombre del host (es decir el nombre de la computadora que estamos configurando), en este caso vamos a utilizar el dominio hipotético debian.edu.ni.

Para parecer más inteligente (y presumir un poco) todo lo vamos a hacer en dos comandos

hostnamectl set-hostname mail.debian.edu.ni
echo "192.168.10.10 debian.edu.ni mail.debian.edu.ni" >> /etc/hosts

Los que se tomaron la molestia de hacer mis tutoriales de comandos básicos me entienden, son 8 tutoriales básicos, de verdad valen la pena, por cierto esto de agregar contenido a un archivo sin necesidad de usar un editor de texto se explica en el tercer tutorial, en caso de que quieran revisarlo.

Hacemos algunas pruebas para asegurarnos que todo está bien

hostname
hostname -s
hostname -f
hostname -A

La salida de estos comandos se ve así:

root@debian32:~# hostname
mail.debian.edu.ni
root@debian32:~# hostname -s
mail
root@debian32:~# hostname -f
debian.edu.ni
root@debian32:~# hostname -A
debian.edu.ni
root@debian32:~#

También conviene revisar los ajustes del DNS

Nos aseguramos que estamos usando el servidor DNS adecuado

nano /etc/resolv.conf

Ponemos a nuestro servidor como primer DNS

nameserver 192.168.10.10
nameserver 192.168.8.1

Ahora verificar que el registro MX (Mail eXchange) fue creado correctamente

nslookup -type=mx debian.edu.ni

La respuesta debe ser algo similar a esto

root@debian32:~# nslookup -type=mx debian.edu.ni
Server:        192.168.10.10
Address:  192.168.10.10#53

debian.edu.ni  mail exchanger = 10 mail.debian.edu.ni.

Los linuxeros más puros van a querer usar dig

dig debian.edu.ni mx

A mí no me gusta porque la salida tiene demasiada información

root@debian32:~# dig debian.edu.ni mx

; <<>> DiG 9.10.3-P4-Debian <<>> debian.edu.ni mx
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17760
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 3

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096

;; QUESTION SECTION:
;debian.edu.ni.              IN   MX

;; ANSWER SECTION:
debian.edu.ni.      86400     IN   MX   10 mail.debian.edu.ni.

;; AUTHORITY SECTION:
debian.edu.ni.      86400     IN   NS   ns.debian.edu.ni.

;; ADDITIONAL SECTION:
mail.debian.edu.ni. 86400     IN   A    192.168.10.10
ns.debian.edu.ni.   86400     IN   A    192.168.10.10

;; Query time: 0 msec
;; SERVER: 192.168.10.10#53(192.168.10.10)
;; WHEN: Thu Nov 29 14:38:14 CST 2018
;; MSG SIZE  rcvd: 112
root@debian32:~#

Paso 2 – Instalar el servidor de correo Postfix en Debian

Instalamos el software necesario

apt-get install postfix

Durante la instalación aparecerán varias pantallas, aquí sus respuestas

  1. Postfix Configuration – Aceptar
  2. Sitio de Internet – Aceptar
  3. Aceptar
  4. Nombre del sistema de correo, ponemos el nombre del dominio que estamos configurando, en este caso debian.edu.ni – Aceptar

Si queremos configurar detalladamente todos los parámetros podemos utilizar

dpkg-reconfigure postfix

También van a salir varias pantallas, aquí sus respuestas

  1. Postfix Configuration – Aceptar
  2. Sitio de Internet – Aceptar
  3. Aceptar
  4. Nombre del sistema de correo, ponemos el nombre del dominio que estamos configurando, en este caso debian.edu.ni – Aceptar
  5. Recipiente de correo para el administrador y «postmaster» – aquí ponemos root@debian.edu.ni
  1. En la lista de dominios ponemos:
    • debian.edu.ni, mail.debian.edu.ni, localhost.localdomain, localhost
  2. No forzar actualizaciones
  3. Bloques de red dejamos: 127.0.0.0/8 192.168.10.0/24 (o los bloques de red que tengamos configurados). Si tenemos IPv6, también hay que incluirlos
  4. Límite de buzón de correo lo dejamos en cero – 0
  5. Carácter de extensión lo dejamos en +
  6. Protocolos a usar – todos

Paso 3 – Configuración de Postfix en Debian 9.5

Copia de seguridad del archivo de configuración original

cp /etc/postfix/main.cf /etc/postfix/main.cf.original

Para configurar postfix, es necesario editar el archivo main.cf

nano -c /etc/postfix/main.cf

hay que editar varias líneas

#Línea 9
smtpd_banner = $myhostname ESMTP

#Línea 35, nos aseguramos que diga:
myhostname = mail.debian.edu.ni

#Línea 36, agregamos
mydomain = debian.edu.ni

#Línea 39, nos aseguramos que diga
mydestination = debian.edu.ni, mail.debian.edu.ni, localhost.localdomain, localhost
#Al final agregamos
home_mailbox = Maildir/

# Configuracioens SMTP
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject

Favor usar las variables myhostname, mydomain y mynetworks, según sea el caso para la red y el servidor que están configurando

El comando postconf -n permite identificar errores en la configuración

Reiniciamos postfix

systemctl restart postfix
systemctl status postfix

Paso 3 – Instalar y Configurar Dovecot IMAP en Debian 9.5

Instalar el software necesario

apt-get install dovecot-core dovecot-imapd

Editamos el archivo de configuración /etc/dovecot/dovecot.conf

nano -c /etc/dovecot/dovecot.conf
#Línea 30, quitamos comentario
listen = *, ::

Ahora editamos el archivo /etc/dovecot/conf.d/10-auth.conf

nano -c /etc/dovecot/conf.d/10-auth.conf

#Línea 10
disable_plaintext_auth = no
#Línea 100
auth_mechanisms = plain login

Ahora editamos el archivo /etc/dovecot/conf.d/10-mail.conf

nano -c /etc/dovecot/conf.d/10-mail.conf
#Línea 30
mail_location = maildir:~/Maildir

El último archivo de configuración a editar es /etc/dovecot/conf.d/10-master.conf

nano -c /etc/dovecot/conf.d/10-master.conf
#Línea 96 y 97 quitar comentario, 
#después agregar… user = postfix y group = postfix
#a la línea 100 también quitar comentario,
#todo el bloque queda así:

  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
  }

Después de hacer todos los cambios reiniciamos los servicios
systemctl restart dovecot
systemctl status dovecot


Paso 4 – Crear cuentas de usuario

En caso de que necesiten más información, la creación de usuarios paso a paso está bien explicada aquí, lo único que para recibir los correos necesitamos agregar el directorio Maildir en /etc/skel

mkdir /etc/skel/Maildir

Si ya había usuarios creados, se tendrá que crear este directorio manualmente en el directorio particular de cada usuario.

Creamos un usuario llamado juan

adduser juan

El procedimiento debe ser algo parecido a esto:

root@debian32:~# adduser juan
Añadiendo el usuario `juan' ...
Añadiendo el nuevo grupo `juan' (1001) ...
Añadiendo el nuevo usuario `juan' (1001) con grupo `juan' ...
Creando el directorio personal `/home/juan' ...
Copiando los ficheros desde `/etc/skel' ...
Introduzca la nueva contraseña de UNIX:
Vuelva a escribir la nueva contraseña de UNIX:
passwd: contraseña actualizada correctamente
Cambiando la información de usuario para juan
Introduzca el nuevo valor, o pulse INTRO para usar el valor predeterminado
     Nombre completo []: Juan Matus
     Número de habitación []:
     Teléfono del trabajo []:
     Teléfono de casa []:
     Otro []:
¿Es correcta la información? [S/n] S

Ahora, agregar otro usuario llamado pedro

adduser pedro

podemos revisar si el directorio Maildir se creó en el directorio particular de pedro

ls /home/pedro/

La salida de este comando se ve así:

root@debian32:~# ls /home/pedro/
Maildir
root@debian32:~#

Lo cual es correcto, porque el directorio Maildir se ha creado y el usuario podrá recibir los correos

Paso 5 – Instalar y configurar el Webmail

Primero instalar el software necesario

apt-get install apache2 php7.0 libapache2-mod-php7.0 php7.0-curl php7.0-xml

Como el servidor web ya está instalado, vamos a crear una carpeta virtual para instalar el webmail

cd /var/www/html/
ls
mkdir webmail
cd webmail


La salida de estos comandos debe ser algo similar a esto:

root@debian32:~# cd /var/www/html/
root@debian32:/var/www/html# ls
cgi-enabled  index.html
root@debian32:/var/www/html# mkdir webmail
root@debian32:/var/www/html# cd webmail/
root@debian32:/var/www/html/webmail#


Ahora descargamos e instalamos el cliente Webmail, si no están en el directorio correcto no va a funcionar

curl -sL https://repository.rainloop.net/installer.php | php

La salida de este comando es algo así:

root@debian32:/var/www/html/webmail# curl -sL https://repository.rainloop.net/installer.php | php

#!/usr/bin/env php

       [RainLoop Webmail Installer]

 * Connecting to repository ...
 * Downloading package ...
 * Complete downloading!
 * Installing package ...
 * Complete installing!

 * [Success] Installation is finished!

Ahora sí, vamos a lo bueno, accedemos vía Firefox a

http://localhost/webmail/?admin

Usuario: admin

Clave:12345

En general podemos cambiar el idioma a español, si de verdad lo van a implementar les recomiendo seguir las recomendaciones de seguridad.

El dominio lo agregamos en Dominios haciendo clic en Agregar dominio, hay que completar todo lo señalado en verde

Cerramos la sesión como administrador e iniciamos sesión como pedro, la idea es enviarle un correo a juan.

Tenemos que iniciar sesión en: http://localhost/webmail/

Usuario: pedro@debian.edu.ni

Contraseña: La contraseña de pedro

Una vez adentro hacemos clic en nuevo para escribirle el corro a juan

Escribimos el correo y lo enviamos, favor recordar que el destinatario es juan@debian.edu.ni

Luego de enviar el correo, cerramos la sesión y entramos con el otro usuario, es decir juan

Si podemos ver el correo que enviamos anteriormente, entonces la configuración habrá sido todo un éxito

Muchas felicidades, tenemos un servidor de correo operativo y funcional

Puedo explicarles la manera con figurar un servidor de correo con Zimbra, pero es más complicado y más difícil, déjenme un mensaje en los comentarios

Fuente

https://www.tecmint.com/install-postfix-mail-server-with-webmail-in-debian/

Video 1 de 5

Video 2 de 5

 

Video 3 de 5

Video 4 de 5

Video 5 de 5

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.