Instalar Apache con soporte SSL

La idea de este tutorial es mostrar una forma muy elemental de instalar y configurar un servidor útil para alojar nuestros sitios Web, en este caso Apache con soporte para conexiones seguras SSL. En sucesivos tutoriales iremos agregando funcionalidad a nuestro servidor  y veremos el modo de hacerlo funcionar en conjunto con un servidor DNS y así tener acceso a los dominios virtuales que se creen.

Instalar Apache

La instalación de este servidor web es bastante sencilla, en este caso lo haremos con soporte para PHP, mysql, python, perl, ssl y tls.

yum -y install php php-mysql mod_perl mod_python mod_ssl

Con esto el servidor ya está funcionando, pero le haremos unas modificaciones para que refleje nuestras necesidades.

Configurar Soporte SSL

mkdir -m 0700 /etc/ssl

Se crea el directorio para almacenar las claves que se generan

mkdir -m 0700 /etc/ssl/prueba.com.uy

Creamos un subdirectorio para que sea mas prolijo solo con derechos para root que es donde se guardan las claves

cd /etc/ssl/prueba.com.uy

Ingresamos al directorio

openssl genrsa -des3 –rand file1.gz:file2.gz:file3.gz:file4.gz:file5.gz -out prueba.key 1024

Creamos la clave utilizando aleatoriamente los nombres de 5 archivos para aumentar la seguridad, ésta se llamará prueba.key

openssl rsa -in prueba.key -out prueba.pem

Generamos esta clave para que se pueda detener y arrancar el servicio httpd sin que se necesite ingresar una contraseña por parte del administrador

openssl req -new -key prueba.key -out prueba.csr

Opcionalmente creamos un archivo .csr para enviarlo a una autoridad certificadora la que nos envía un archivo .crt firmado por ellos y nos da un aval reconocido internacionalmente. Este proceso hace que se nos pidan algunos datos, en este caso lo llenamos con los datos de la prueba.

En caso de no necesitar o no querer un certificado con este aval, lo podemos crear nosotros con el siguiente comando:

openssl x509 -req -days 730 -in prueba.csr -signkey prueba.key -out prueba.crt

Luego le damos derecho de lectura solo a root sobre los certificados y con eso está listo nuestro servidor para comenzar a hacer pruebas.

chmod 400 /etc/ssl/prueba.com.uy/prueba.*

Espero que este tutorial les sea de utilidad y como siempre, si tienen alguna duda escríbanme y con gusto les daré una mano.