viernes, 3 de febrero de 2012

Activar SSL en Apache2(Ubuntu 11.04)


Para habilitar el uso del protocolo https deben hacerse algunas modificaciones en la confiuracion del Apache2 e instalar “openssl“, un paquete que permite crear los certificados necesarios. Para instalar “openssl“ se ejecuta el siguiente comando:
root@tolinux0:/home$ apt-get install openssl
Lo primero será crear el certifica y la llave privada. Para ello se ejecutan los siguientes comandos:
root@tolinux0:/home$ openssl genrsa 1024 > server.key
root@tolinux0:/home$ openssl req -new -x509 -nodes -sha1 -days 365 -key server.key > server.crt
o el comando:
root@tolinux0:/home$ openssl req -new -x509 -nodes -out server.crt -keyout server.key
Luego debe crearse el directorio “ssl” y moverse los ficheros  server.key y server.crt a este. Para ello se ejecuta:
root@tolinux0:/home$ mkdir /etc/apache2/ssl
root@tolinux0:/home$ cp server.key /etc/apache2/ssl
root@tolinux0:/home$ cp server.crt /etc/apache2/ssl
Después debe habilitarse el módulo dinámico SSL que se encuentra disponible en apache2. Para ellos se ejecuta el comando;
root@tolinux0:/home$ a2enmod ssl
Luego de tener los certificados creado y en la carpeta “ssl”  y habilitar el módulo SSL de Apache2 solo resta configurar los VirtualHosts para que se pongan a escuchar por el puerto 443 (https) utilizando los certificados creados. Se edita la configuración del host virtual phpinfo con el siguiente comando:
root@tolinux0:/home$ mcedit /etc/apache2/sites-available/phpinfo
y se agregan las siguientes directivas en el mismo:
<VirtualHost 10.8.X.X:443>
        ServerAdmin admin@phpinfo.cujae.edu.cu
        ServerName phpinfo.cujae.edu.cu
        ServerAlias phpinfo
        DocumentRoot /var/www/vhost/phpinfo
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/vhost/phpinfo/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
        ErrorLog /var/log/apache2/phpinfo-ssl-error.log
        LogLevel warn
        CustomLog /var/log/apache2/phpinfo-ssl-access.log combined
        ServerSignature On
        SSLEngine On
        SSLCertificateFile /etc/apache2/ssl/server.crt
        SSLCertificateKeyFile /etc/apache2/ssl/server.key
</VirtualHost>
Note que los principales cambios con respecto al virtual host en el articulo “Instalacion y configuracion de apache2 en Linux” configurado para el uso de http, se han resaltado en negritas.

No hay comentarios:

Publicar un comentario