Crear certificado ssl para apache



Certificado SSL (Secure Socket Layer): Es un protocolo de seguridad desarrollado por la empresa Netscape Communications para lograr que la transmisión de datos entre un servidor y un usuario, o viceversa, a través de Internet, sea completamente segura.

Lo primero que haremos sera crear el certificado, para hacerlo crearemos la carpeta /etc/apache2/ssl/, que es donde guardaremos nuestro certificado.

sudo mkdir /etc/apache2/ssl/

Una vez creada escribiremos la comanda siguiente:

sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf \ /etc/apache2/ssl/certificado.pem

Podemos ir al directorio y comprobar que se nos a creado correctamente.







(En mi caso lo llame certificat porque lo tengo echo en catalán, pero lo mismo da no le deis importancia)

Suponiendo que ya tenemos nuestras paginas creadas en /var/www/, ahora lo que aremos sera ir al directorio /etc/apache2/sites-available/ i crearemos un virtualhost a nuestra pagina. Yo lo e llamado segura pero se puede llamar como queráis. Yo os recomiendo llamarlo igual que la pagina por comodidad.

sudo gedit segura

Y escribimos lo siguiente:

<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /ect/apache2/ssl/certificado.pem
ServerName "nombre de la web, por ej. www.marcos.com"
DocumentRoot /var/www/"directorio de nuestra web"
ServerAdmin "dirección de correo"
<Directory /var/www/"nombre directorio otra vez"/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
SSLRequireSSL
</Directory>
</VirtualHost>

Ahora necesitamos activar el virtualhost, para hacerlo usaremos la comanda siguiente:

sudo a2ensite "nombre del virtualhost, en mi caso segura"

Para acabar reiniciamos apache y ya lo tenemos:

sudo /etc/init.d/apache2 reload

















Errores mas comunes:
Si no te funciona, seguramente hayas cometido uno de estos dos errores.

1- Recuerda añadir tu pagina a /etc/hosts de la siguiente manera:






2- Tal vez no te funciona porque no tienes listo el puerto 443. Para ello vamos al archivo /etc/apache2/ports.conf y lo añadimos:

NameVirtualHost *:443
Listen 443






Comentarios