Amigos en este post explicaré cómo crear un certificado autofirmado en Apache, esto puede ser muy útil en ambientes de desarrollo, para ambientes de producción podríamos comprar un certificado comercial o utilizar let’s encrypt.
Primero es necesario habilitar el módulo ssl de apache:
# a2enmod ssl
Crear un directorio donde se almacenarán los certificados creados:
# sudo mkdir /etc/apache2/ssl
Ahora procedemos a crear el certificado:
# sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
Country Name (2 letter code) [AU]:BO
State or Province Name (full name) [Some-State]:LA PAZ
Locality Name (eg, city) []:LP
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Nombre de la empresa
Organizational Unit Name (eg, section) []:Sistemas
Common Name (e.g. server FQDN or YOUR name) []:correo.guidocutipa.blog.bo
Email Address []:[email protected]
Ahora editamos la configuración del host virtual para el que creamos el certificado:
# nano /etc/apache2/sites-available/default-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost default:443>
ServerAdmin [email protected]
ServerName correo.guidocutipa.blog.bo
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
</VirtualHost>
</IfModule>
Finalmente habilitamos el sitio y reiniciamos el servidor Apache:
# a2ensite default-ssl.conf
# service apache2 restart
Al finalizar la configuración se puede verificar la configuración con la herramienta https://www.ssllabs.com/ssltest/analyze.html
Tambien te puede interesar el siguiente artículo: