Instalación de un certificado SSL en Apache mod_ssl – Ubuntu Server

https

¡Hola a todos!. Una vez que hemos gestionado (pagado) nuestro certificado SSL con nuestro proveedor favorito (previamente tuvimos que activar el módulo SSL en Apache, generar el CSR, enviarlo al proveedor y seguir las instrucciones del mismo para confirmar que somos los propietarios del sitio en cuestión, etc.), nos entregarán el certificado SSL mediante un archivo de texto, ya sea por correo o mediante la plataforma web, donde tendríamos que descargarlo; generalmente, también viene un archivo adicional el cual es el ca-bundle (Certificado intermedio).

De preferencia, los archivos deberíamos de ubicarlos en un lugar visible en nuestro sistema de archivo (digamos, nuestro $home); además, en la mayoría de los casos, los 2 archivos mencionados vienen en un archivo zip (o tgz), por tanto debemos de descomprimirlo. Como ejemplo:

mkdir ~/certificado
cd ~/certificado

Una vez creada la carpeta, colocamos el archivo comprimido ahí y descomprimimos. Para descomprimir en zip, debemos de hacerlo con el comando unzip; si no se reconoce el comando, debemos de instalarlo:

sudo apt install unzip
unzip ~/certificado/certificado.zip

Si se trata de un archivo tgz:

tar xvfz ~/certificado/certificado.tgz

Por tanto, deberíamos de tener 2 archivos:

  • midominio.crt  →  Llave privada (private key). Propiamente, el certificado SSL; Archivo muy importante y que no debemos de compartir con nadie.
  • midominio.ca-bundle  →  Archivo de certificado intermedio.

Ahora, debemos de copiar cada archivo en su lugar. Dependiendo de la distribución, puede cambiar la ubicación “por defecto”, pero igual… lo importante es que, en la configuración de Apache, debe de estar bien referenciado. Podemos ubicar los archivos así, para no complicarnos:

sudo cp ~/certificado/midominio.crt /etc/ssl/certs/
sudo cp ~/certificado/midominio.ca-bundle /etc/ssl/certs/

En la entrada que había hecho anteriormente para generar el CSR, se habló de un archivo .key ; éste archivo deberemos de copiarlo en /etc/ssl/private/ , por tanto espero que tengan éste archivito tan importante por ahí, dado que se necesitará para la configuración en Apache. Si, digamos, lo tenemos en ~/certificado, lo podemos copiar donde debe de estar así:

sudo cp ~/certificado/midominio.key /etc/ssl/private/

Ahora, modificaremos el archivo de configuración del sitio SSL de apache; En una entrada anterior, se vió cómo activar el mod SSL de Apache con el archivo de configuración por defecto en Ubuntu, el cual en ésta entrada se tomará de base. Dependiendo de la distribución, puede cambiar su ubicación (Fedora/CentOS/RHEL: /etc/httpd/conf/httpd.conf), pero para Ubuntu sería:

sudo nano /etc/apache2/sites-enabled/default-ssl.conf

En la sección VirtualHost del archivo, se debe de buscar y quitar el caracter de comentario al inicio de la línea (# normalmente) y modificar según sea necesario o, agregar los parámetros de configuración si no se encuentran (generalmente no es así)… las directivas con su configuración serían:

SSLEngine on
SSLCertificateKeyFile /etc/ssl/private/midominio.key
SSLCertificateFile /etc/ssl/certs/midominio.crt
SSLCertificateChainFile /etc/ssl/certs/midominio.ca-bundle

Guardamos y salimos del archivo.

Recordar nada más que, en nano, podemos buscar palabras mediante la combinación de teclas CTRL+W | Ingresar la palabra que queremos encontrar | [ENTER] . Para guardar el archivo, usamos la combinación de teclas CTRL+O y, para cerrar el editor, usamos la combinación de teclas CTRL+X.

Finalmente, debemos de reiniciar el servicio de apache para que todo lo que hicimos se aplique correctamente.

sudo service apache2 restart

Tomar en cuenta que, si se ha decidido establecer una contraseña a la llave privada, cada vez que se reinicie el servicio Apache se debe de ingresar dicha contraseña; de no ser así, no iniciará el servicio.

Si todo va bien, deberíamos poder entrar mediante nuestro navegador a nuestro sitio con https:// , y éste validado correctamente.

Como comentario final, solo mencionar que cada distribución tiene sus detalles… o sea que éste tutorial puede diferir de su distribución, de la versión de apache y, seguramente, con el tiempo… pero bueno, la base es ésta.

¡Saludos!

Comentarios por Facebook

comentarios

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*