Configurar apache con SSL (mod_ssl) con un certificado propio

Para realizar el certificado SSL, tendremos que realizar los siguientes pasos:

1- Primero instalamos el paquete “openssl” para crear nuestro propio certificado. Para ello escribimos el siguiente comando

#aptitude install openssl

2- Comprobamos que el fichero /etc/apache2/ports.conf esté de la siguiente manera

NameVirtualHost *:80

Listen 80

<IfModule mod_ssl.c>

# SSL name based virtual hosts are not yet supported, therefore no

# NameVirtualHost statement here

Listen 443

</IfModule>

3- Ahora en /etc/apache2/sites-available/default menciona específicamente el puerto 80 en la directiva VirtualHost, para diferenciar las peticiones al puerto 80 (HTTP) de las peticiones al puerto 443 (HTTPS)

<VirtualHost *:80>

ServerAdmin webmaster@localhost

DocumentRoot /var/www/

</VirtualHost>

4- A continuación habilitaremos el modulo y el sitio SSL. Para ello utilizaremos a2ensite y a2enmod:

#a2enmod ssl

#a2ensite default-ssl

5- Reiniciamos apache para la nueva configuración con el siguiente comando

#/etc/init.d/apache2 restart

6- Ahora accedemos a la creación de nuestro propio certificado. Para ello ponemos el siguiente comando

# openssl req -new -x509 -nodes -out /etc/ssl/certs/chatarra.gonzalonazareno.org_self.crt -keyout /etc/ssl/private/chatarra.gonzalonazareno.org_self.key

7- A continuación nos pide unos datos que rellenaremos como nosotros queramos

8- Una vez terminado el certificado nos dirigimos a /etc/apache2/sites-available/default-ssl y modificamos las siguientes líneas

SSLCertificateFile /etc/ssl/certs/chatarra.gonzalonazareno.org_self.crt

SSLCertificateKeyFile /etc/ssl/private/chatarra.gonzalonazareno.org_self.key

9- Reiniciamos el servidor

#/etc/init.d/apache2 restart

Y en el navegador ponemos https://chatarra.gonzalonazareno.org(o puedes tambien localhost)  y nos dirá que el certificado no es seguro. Para ello lo aceptamos y comprobamos que los datos corresponden a los que nosotros hemos puesto. Como muestran la imagenes

ssl11

ssl2

ssl3

<!– @page { margin: 2cm } P { margin-bottom: 0.21cm } A:link { so-language: zxx } –>

Una vez que comprobamos que nuestro certificado funciona perfectamente. Solo nos queda redirigir la pagina del puerto 80 al 443. En primer lugar activamos el modulo rewrite de apache con el siguiente comando

#a2enmod rewrite

Para ello nos dirigimos al siguiente archivo /etc/apache2/sites-enable/000-default y ponemos las siguientes reglas

<VirtualHost *:80>

RewriteEngine on

RewriteRule /.* https://chatarra.gonzalonazareno.org [R]

ServerAdmin webmaster@localhost

DocumentRoot /var/www/

</VirtualHost>

Ahora reiniciamos apache, y listo ya redirigiremos nuestra página directamente al puerto 80.

Anuncios

4 comentarios

  1. Gracias! es lo que necesitaba… lo probaré

  2. Hola que tal esta super bien funciona sin embargo el unico problema por asi decirlo que le veo es que funciona pero como una receta de cocina, como un favor yo te podria pedir si me puedes explicar un poco mas detallado especificamente como generar los certificados y por que se editan de esa manera los archivos que mencionas, de antemano te agradezco a mi me funciono a la perfeccion!

  3. Estupendo, funcionó a la primera, muchas gracias. He ejecutado el procedimiento en un servidor debian etch.

  4. perfecto

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: