Servidor de correo – Apache2 y certificado SSL Let’s Encrypt para correo electrónico (parte 3)

Esta es una entrada dentro de la serie para la instalación de un servidor de correo completo. Índice completo de contenidos pincha aquí.


Para poder hacer uso de un certificado SSL gratuitos con Let’s Encrypt debemos de instalar un servidor web, crear un VirtualHost para poder generar un certificado SSL que usaremos en el servicio de correo electrónico, sin coste alguno.

Primero instala en el servidor el paquete necesario para gestionar certificados de Let’s Encrypt siguiendo los pasos que publiqué en anteriores entradas, consultando los siguientes enlaces:

  • Let’s Encrypt en Centos pincha aquí.
  • Let’s Encrypt en Debian pincha aquí.

Instalación Apache2

Instalamos el servidor web con Apache2:

apt-get install apache2

Habilitamos el servicio para que se inicie automáticamente:

systemctl enable apache2

Confirmamos que está corriendo:

systemctl status apache2

Creamos el directorio webroot en donde albergaremos un VirtualHost:

mkdir -p /var/www/html/email.tiraquelibras.com

En este creamos un archivo HTML simple

vi /var/www/html/correu2.yeloquehay.com/index.html

con el siguiente contenido:

<html>
 <body>
  <center><h1>This is an example of email.tiraquelibras.com!</h1></center>
 </body>
</html>

Cambiamos los permisos del directorio y archivos para que sean propietarios de Apache:

chown -R www-data: /var/www/html/

Creamos el VirtualHost para el dominio email.tiraquelibras.com con el comando

vim /etc/apache2/sites-available/email.tiraquelibras.com.conf

con el siguiente contenido:

<VirtualHost *:80>

ServerAdmin email@email.com # Indica el email del admin
ServerName email.tiraquelibras.com
DocumentRoot /var/www/html/email.tiraquelibras.com

ErrorLog ${APACHE_LOG_DIR}/email.tiraquelibras.com_error.log
CustomLog ${APACHE_LOG_DIR}/email.tiraquelibras.com_access.log

</VirtualHost>

Habilitamos el VirtualHost con el comando:

a2ensite email.tiraquelibras.com.conf

Reiniciamos Apache:

systemctl restart apache2

Generación del certificado

Generamos el certificado con el plugin para Apache:

certbot --apache -d email.tiraquelibras.com

Nos preguntará si queremos que cerbot realice la configuración necesaria para redirigir el tráfico de HTTP hacia HTTPS, le indicamos que si seleccionando la opción 2:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 

Una vez finalizado podríamos confirmar la configuración del certificado desde la herramienta web https://www.ssllabs.com/ssltest/analyze.html?d=email.tiraquelibras.com

El programa ha creado el archivo de Apache para habilitar la configuración HTTPS (/etc/apache2/sites-available/email.tiraquelibras.com-le-ssl.conf) con la redirección pertinente desde el protocolo HTTP, y especificando la ruta en donde se encuentra el certificado que usaremos para el servicio de correo:

SSLCertificateFile /etc/letsencrypt/live/email.tiraquelibras.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/email.tiraquelibras.com/privkey.pem

Índice general pincha aquí.