jueves, 6 de febrero de 2014

Como crear un certificado SLL para Apache en UBUNTU

Entendemos que tienes apache instalado, si no es así lo puedes hacer con el siguiente comando:
sudo apt-get install apache2
 Habilitamos el SLL en Apache
sudo a2enmod ssl
 Rearrancamos apache
sudo service apache2 restart
 Creamos un nuevo directorio donde vamos a guardar los certificados
sudo mkdir /etc/apache2/ssl
 Generamos el certificado
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
 el parámetro 365 despues de -days es el número de días que queremos que nuestro certificado tenga validez, podemos poner un mayor número de días.

Cuando ejecutamos este comando nos hace una serie de preguntas que explicamos a continuación (lo que está en verde es lo que tenemos que configurar para nuestro caso):

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:ES
State or Province Name (full name) [Some-State]:LAS PALMAS
Locality Name (eg, city) []:LAS PALMAS DE GRAN CANARIA
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Nuestro nombre o de la empresa
Organizational Unit Name (eg, section) []:Nombre del departamento de la empresa
Common Name (e.g. server FQDN or YOUR name) []:dominio.com                 
Email Address []:mail@dominiodemail.com

Es importante el Common Name, debemos poner el nombre del dominio de nuestro servidor, es decir, la dirección que pondrán los que se quieran conectar a nuestra máquina, si no coinciden el certificado no valdrá.

Ahora configuramos nuestro host virtual seguro modificando el siguiente archivo:
sudo nano /etc/apache2/sites-available/default-ssl 

 después del apartado <VirtualHost _default_:443>, justo debajo del la linea del ServerAdmin ponemos la siguiente linea adaptandola a nuestro dominio:

ServerName dominio.com:443

Buscamos más abajo las siguiente lineas y las dejamos como se muestra a continuación:

SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
 
Grabamos y salimos.

Activamos nuestro nuevo HOST virtual
sudo a2ensite default-ssl 
Recargamos apache para coja la nueva configuracióN
sudo service apache2 reload
Ahora ya podemos teclear en nuestro navegador nuestro dominio con https:// delante y debería funcionar


No hay comentarios:

Publicar un comentario