miércoles, 13 de agosto de 2008

Montando mi pequeño servidor web, con https.

Si... ya se... cientos de manuales, cientos de How-To de como hacerlo. Pero tras una pequeña búsqueda por la red, no he encontrado en ningún sitio como hacer lo que yo buscaba al 100% y en una sola guia.

¿Cuál es la idea?, montar un servidor web, con un acceso http y otro https completamente diferenciados. ¿Por qué?, bueno, porque en uno de mis alocados proyectos es montar una pequeña tienda online para que un familiar mio venda ciertos productos que vende directamente al publico y abrir un poco mas de mercado. Y antes de comprar el dominio y todo eso, pues haremos pruebas en mi pequeño servidor (el que ya conte que monte un pequeño amule, I y II).

Para empezar, montar un Apache+PHP+MySQL, lo que viene siendo un LAMP, que ya explique como montarlo en un solo paso en Ubuntu. Una vez todo montado, hay que hacer lo ajustes necesario en el Apache:

1. Activar el modulo ssl de Apache:

sudo a2enmod ssl
2. Crear la carpeta donde almacenar los certificados y crearlos
sudo mkdir /etc/apache2/ssl
sudo /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
3. Crear el nuevo sitio en apache
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/MISITIOCONSSL
4. Modificar el nuevo sitio para que sea parecido a esto, añadiendo estas lineas:
NameVirtualHost *:443
VirtualHost *:443
[...]
DocumentRoot /var/www/tienda
[...]
# Certificado para el https
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem

5. Y en el default poner:
NameVirtualHost *:80
VirtualHost *:80

Y con esto tendras una web no segura, para la entrada de tu servidor web, luego una segura (con el https delante) que es completamente diferente a la otra, de hecho tiene un directorio de inicio completamente diferente.

¿Otras configuraciones interesantes?... muchas pero ahora mismo me conformo con esta :)

No hay comentarios: