Monday, May 18, 2009

Configurando Apache con HTTPS (en windows)

Hace algunos dias ya, nos toco configurar el servidor web donde laboramos, pues bien de lo que se trataba era de configurarlo para poder hacer uso de lo que es HTTPS, ya que cambiarian ciertas cosas de acceso, entonces nos dimos a la tarea de investigar.

Bueno voy a dare por hecho que ya contamos con una instalacion de apache (de preferencia la version 2.2.8 en adelante, ya que esta ya trae instalado el openssl que nos servira mas adelante, no se desde que version ya trae los archivos para usar openssl).

ok, nos debemos dirigir a nuestro a nuestro archivo de configuracion httpd.conf, tendremos que editar los puertos donde escucha nuestro servidor por default tendra el 80 lo podemos dejar y aƱadir el 443 que es donde escucha el HTTPS.

Listen 80
LIsten 443

un poco mas abajo nos encontramos con una serie de modulos comentados y unos otros descomentados, buscaremos el modulo openssl y lo descomentamos.

LoadModule ssl_module modules/mod_ssl.so

ahora tendremos que crear un Host virtual.


SSLEngine On
SSLCertificateFile certificado/localhost.cert
SSLCertificateKeyFile certificado/localhost.key


esto quiere decir que nuestro host escuchara en todos los dominios de nuestro servidor y por el puerto 443 usando SSL para la proteccion en el envio, usando el certificado "localhost.cert" y usando la llave de archivo "localhost.key", estos dos archivos tenemos que crearlos, en nuestras carpetas de apache buscamos la carpeta conf, ahi dentro vendra el ejecutable openssl, desde la linea de comandos nos ubicamos en la esta carpeta y tecleamos openssl
>req -config openssl.cnf -new -out localhost.csr
(nos ira pidiendo datos sobre la donde vivimos ...)

>x509 -in localhost.csr -out localhost.cert -req -signkey localhost.key -days 365

>exit

en la primera linea creamos la certificacion, esta certificacion es creada por nosotros por lo tanto no tendra valor universal, para realizar una certifiacion tipo hotmail es necesario enviar los archivos que se nos generan en esta etapa para que intituciones que generan estas certificaciones mundiales nos lo puedan avalar, en la linea dos ponemos nuestra certificacion que creamos antes y le daremos nombre a nuestra certificacion y a nuestra llave esta es la llave con la que cifraremos nuestra informacion y le especificamos los dias de vigencia de nuestra certificacion.


Ahora bien a estas alturas ya tendremos nuestros archivos que especificamos en nuestro virtualhost, entonces podremos decir que en mi carpeta de apache tengo una carpeta con el nombre cerificado y ahi dentro mis dos archivos (localhost.cert y localhost.key) que serviran para echar a andar mi apache con HTTPS.

Bueno eso es todo, espero que lo puedan probar.

Saludos !!

No comments: