El Servidor HTTP del Projecto Apache es un esfuerzo por desarrollar y mantener un servidor HTTP de código abierto para los sistemas operativos modernos incluyendo *NIX y Windows NT/2K/XP. La meta de este projecto es proveer un servidor seguro, eficiente y extensible que brinde servicios HTTP de acuerdo a los estándares actuales.
Instalar apache2 en debian sarge/etch $ apt-get install apache2 Instalar openssl $ apt-get install openssl ssl-cer Una vez instalado el servidor apache deberá generar un certificado, habilitar el soporte SSL en Apache y configurar las opciones SSL. Generar un certificado La generación de un certificado brindará protección al trafico entre los clientes y su servidor, sin embargo al no estar firmado por una autoridad certificante generará alertas. Si desea evitar estos mensajes de advertencia deberá obtener un certificado emitido por una autoridad certificante.  Para generar certificados en debian sarge podría utilizar el commando apache2-ssl-certificate pero en debian etch ya no está disponible. Si quiere generar certificados necesita usar openssl desde la línea de comandos, usando la siguiente sentencia deberá reponder varias preguntas: Country Name, State, City y otras. La pregunta capciosa es "Common Name". Deberá contestar con el CNAME por el cual se alcanza al servidor. Esto es de suma importancia. Si el nombre real de su servidor web es prueba.misiones.gov.ar pero se llega a él mediante la dirección www.misiones.gov.ar, entonces la esta última será la respuesta a la pregunta "Common Name". openssl req \
-x509 -nodes -days 365 \
-newkey rsa:1024 -keyout seguro.pem -out seguro.pem Generating a 1024 bit RSA private key
………………………………………….++++++
…………………………………….++++++
writing new private key to ‘/etc/apache2/apache.pem'
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value , If you enter ‘.', the field will be left blank.
—–
Country Name (2 letter code) [AU]:AR
State or Province Name (full name) [Some-State]:Misiones
Locality Name (eg, city) []:Posadas
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Gobierno
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:
Email Address []:
Una vez que se haya acostumbrado a responder este cuestionario, puede automatizar el procedimiento agregando la opción -subj. Si bien se ha incluido información sobre la ubicación en el ejemplo siguiente, la única cosa que realmente necesita incluir para el certificado es el CNAME (CN). openssl req \
-x509 -nodes -days 3650 \
-subj '/C=AR/ST=Misiones/L=Posadas/CN=prueba.misiones.gov.ar' \
-newkey rsa:1024 -keyout seguro.pem -out seguro.pem Haya usado una forma u otra deberá cerciorarse de tener los permisos correctos para el archivo .pem, de no ser así utilice el siguiente comando para establecerlos: chmod 600 /etc/apache2/seguro.pem De forma predeterminada el servidor solamente escucha peticiones HTTP en el puerto 80 y no conexiones SSL en el puerto 443. De modo que necesita habilitar el soporte SSL agregando la siguiente lìnea al archivo /etc/apache2/ports.conf. Listen 443 Habilitando el soporte SSL Si quiere habilitar el soporte SSL para su servidor apache necesitará utilizar el siguiente comando: a2enmod ssl Module ssl installed; run /etc/init.d/apache2 force-reload to enable. Ahora deberá reiniciar el servidor apache2 /etc/init.d/apache2 force-reload Configurando el certificado SSL para VirtualHosts en Apache2 En primer lugar creará una copia del archivo /etc/apache2/sites-available/default cp /etc/apache2/sites-available/default /etc/apache2/sites-available/seguro Seguidamente modificará /etc/apache2/sites-available/default para que se vea así: NameVirtualHost *:80
<VirtualHost *:80>
...
</VirtualHost>
y también /etc/apache2/sites-available/seguro: NameVirtualHost *:443
<VirtualHost *:443> ...
SSLEngine on SSLCertificateFile /etc/apache2/ssl/seguro.pem
...
</VirtualHost>
En este punto deberá habilitar la configuración del sitio seguro, para ello utilizará: a2ensite seguro Para finalizar será necesario reiniciar el servidor apache: /etc/init.d/apache2 force-reload |