¿Cómo instalar certificado SSL en Apache y Ubuntu?

Comprar un certificado

En el servidor de hosting, debes generar los archivos .csr y .key con el siguiente comando mediante consola.

openssl req -new -newkey rsa:2048 -nodes -keyout tu_dominio.key -out tu_dominio.csr

Cuando ejecutes este comando la consola te pedirá que ingreses información sobre tu dominio:

Country Name (2 letter code) [AU]:PE
State or Province Name (full name) [Some-State]:Lima
Locality Name (eg, city) []:Lima
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Codificalo SA
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:*.codificalo.com
Email Address []:info@codificalo.com

Después de ingresar toda la información, se generarán los archivos tu_dominio.csr y tu_dominio.key.

Ahora para adquirir tu certificado puedes hacerlos desde ssls.com o desde la web que prefieras.

Te pedirán que subas tu archivo tu_dominio.csr, a partir de este se generarán 2 archivos .crt, los cuales son los certificados que debes instalar en el Apache.

Nota: si solo tienes1 crt, el que te faltaría seria el intermedio.crt, ese lo puedes conseguir en internet buscando en google, por ejemplo “COMODO RSA Domain intermediate”

Instalar el certificado

Una vez descargado los certificados, subimos los archivos al servidor en la ruta que prefieras de fácil acceso, para nuestro ejemplo utilizaremos la ruta:

etc/apache2/ssl/tu_dominio.crt
etc/apache2/ssl/intermedio.crt

En esta misma ruta subir el archivo tu_dominio.key

etc/apache2/ssl/tu_dominio.key

Ahora configuraremos el Apache abrimos el archivo /etc/apache2/sites-available/default-ssl.conf

Modificamos la siguientes lineas con las rutas de nuestros archivos.

SSLCertificateFile      /etc/apache2/ssl/tu_dominio.crt
SSLCertificateKeyFile   /etc/apache2/ssl/tu_dominio.key
SSLCertificateChainFile /etc/apache2/ssl/intermedio.crt

Verificamos si no hay error de sintasi en los cambiso que hicimos.

sudo apache2ctl configtest
Syntax OK

Reiniciamos el Apache por consola, con el siguiente comando:

sudo service apache2 restart

El Apache iniciará y el web ya tendrá instalado el certificado.

https://codificalo.com

Nota adicional:

Si el archivo tu_dominio.key tiene contraseña y queremos quitarlo para que cada vez que reiniciemos el apache no nos pida la contraseña, utilizaremos este comando para removerlo.

openssl rsa -in tu_dominio.key -out tu_dominio_sin_pass.key

Este comando generará una copia de tu_dominio.key pero sin contraseña, que podemos utilizar sin problema como key en la configuración del apache.