Instalar certificado SSL en Apache – Ubuntu


Si quieres instalar un certificado SSL en tu sitio primero tienes que escoger una empresa proveedora. Una vez eso activa el módulo:

sudo a2enmod ssl

Una vez activado, reiniciamos el servidor.

sudo service apache2 restart

Ahora crearemos una carpeta donde almacenar nuestros certificados.

sudo mkdir /etc/apache2/ssl

Ahora generaremos los certificados del servidor.

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

Debería salir algo como esto:

Generating a 2048 bit RSA private key
....................................................................................+++
......................................+++
writing new private key to 'www.dominio.com.key'
-----
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]:Spain
Locality Name (eg, city) []:Barcelona
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Empresa
Organizational Unit Name (eg, section) []:IT
Common Name (e.g. server FQDN or YOUR name) []:dominio.com
Email Address []:[email protected]

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:password
An optional company name []:dominio

El archivo CRS lo utilizaremos para generar las claves en nuestro proveedor. Con las claves generadas en nuestro proveedor las subiremos a la carpeta /etc/apache2/ssl/.

Después iremos a /etc/apache2/sites-avaliable/ y copiaremos el VirtualHost “default-ssl” y lo nombraremos dominio_seguro.

Ahora lo editaremos:

sudo nano dominio_seguro

Y añadiremos estas lineas:

<IfModule mod_ssl.c>
<VirtualHost 184.21.102.41:443>
	ServerAdmin [email protected]
	ServerName domain.com:443

	WSGIScriptAlias / /path/path/project/Project.wsgi

   	Alias /static/ /path/path/to/static/
   	Alias /media/ /path/path/to/media/

	SSLEngine on
	SSLCertificateFile    	/etc/apache2/ssl/8b9517426j123b.crt
	SSLCertificateKeyFile 	/etc/apache2/ssl/www.domain.com.key
	SSLCertificateChainFile	/etc/apache2/ssl/gd_bundle.crt
	
</VirtualHost>
</IfModule>

Finalmente editaremos el fichero de ports.conf

<IfModule mod_ssl.c>
    # If you add NameVirtualHost *:443 here, you will also have to change
    # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
    # to 
    # Server Name Indication for SSL named virtual hosts is currently not
    # supported by MSIE on Windows XP.
    NameVirtualHost 184.21.102.41:443
    Listen 443
</IfModule>

Y ya para acabar, activaremos el VirtualHost que hemos creado y reiniciaremos el servidor.

sudo a2ensite dominio_seguro
sudo service apache2 restart
@AguayoMarcos

Fullstack Developer, programador iOS / Android y emprendedor. Actualmente trabajo en Cocunat.com como CTO.

You may also like