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.