Hoy vamos a proceder a instalar un servidor de correo en una máquina con Debian 8.8 resultante de una instalación mínima, con ssh, nada más.
Como servidor de correo SMTP vamos a utilizar Postfix y como servidor IMAP y POP3 vamos a utilizar Dovecot, hoy no voy a instalar ni webmail ni extras, buscaré la instalación más sencilla posible y un día si queréis nos metemos en ampliar esta instalación para dotarla de más caracterísitcas.
Simplemente aclarar que aunque trabaje en Neodigit en este post no explico como se instalan los seridores de correo en Neodigit pues esa es una tarea en la que no estoy involucrado porque yo hago otras cosas, así que no busquéis similitudes entre como lo cuento en este audio y cómo se instala en una base de 800 servidores, obviamente no se instala de la misma manera ni de la misma forma, una vez aclarado esto vamos a ir empezando.
Lo que vamos a hacer es instalar dovecot para imap y para pop3 y vamos a utilizar postfix para smtp.
apt install dovecot-core dovecot-imapd dovecot-lmtpd
Para instalar postfix primero desinstalaremos exim4
apt purge exim4 && apt install postfix postgrey postfix-policyd-spf-python
Al instalar postfix nos saldrá un wizard para configurarlo y tendremos varias opciones. Si queremos que sea un servidor público le diremos que es un “Sitio de Internet” y confraternaremos el FQDN y un par de preguntas más, así de fácil, de momento no tiene más problemática.
Otra cosa será preparar un certificado, que puede ser un Comodo, un Let’s Encrypt, uno autofirmado (no muy recomendable) o lo que queráis
openssl req -new -newkey rsa:2048 -nodes -keyout mail.ipv6.org.es.key -out mail.ipv6.org.es.csr
cp mail.ipv6.org.es.csr mail.ipv6.org.es.pem
wget https://www.startssl.com/certs/sub.class1.server.ca.pem
cat mail.ipv6.org.es.pem sub.class1.server.ca.pem > mail.ipv6.org.es.chain.crt
rm sub.class1.server.ca.pem
chmod 644 mail.ipv6.org.es.chain.crt
chmod 640 mail.ipv6.org.es.key
mv mail.ipv6.org.es.chain.crt /etc/ssl/certs/
mv mail.ipv6.org.es.key /etc/ssl/certs/
Ahora configuraremos la primera parte de postfix e iremos a /etc/postfix/main.cf y pondremos nuestros datos en:
smtpd_tls_cert_file=/etc/ssl/certs/mail.ipv6.org.es.chain.crt
smtpd_tls_key_file=/etc/ssl/private/mail.ipv6.org.es.key
smtpd_use_tls=may
En mi caso además de cambiar los ficheros de certificados le he cambiado smtpd_use_tls de yes a may.
Y ahora pasamos a configurar dovecot, para ello utilizaremos la aplicación de dump de dovecot, que es doveconf y generaremos un fichero de configuración, así pues:
doveconf -n > /etc/dovecot/dovecot.conf
Y modificamos el fichero de dovecot.conf
Sustituyendo la línea ssl=no por las siguientes:
service imap-login {
inet_listener imap {
port = 0
}
inet_listener imaps {
port = 993
}
}
ssl = required
ssl_ca =
ssl_cert =
ssl_key =
Y le decimos a systemd que no monitorice el puerto 143
# cp /lib/systemd/system/dovecot.socket /etc/systemd/system/
# systemctl reenable dovecot.socket
# sed -i '/:143$/s/^/#/' /etc/systemd/system/dovecot.socket
Comprobamos que estén los puertos accesibles
# systemctl restart postfix
# systemctl restart dovecot
# netstat -lnpt
Y probamos que todo funcione bien
$ openssl s_client -starttls smtp -crlf -connect :587
$ openssl s_client -connect :993
Ahora el siguiente paso será añadir autenticación para las cuentas
En /etc/postfix/main.cf añadiremos las siguientes líneas
smtpd_sasl_auth_enable = yes