Https

Requerimientos:

  • Servidor web ejecutándose
  • Ip estática en tarjeta de red
  • Servidor apache

Respaldo de archivos

sudo cp /etc/apache2/sites-available/default-ssl.conf{,.bak}

Si se revisa el directorio ya existes archivos con la extensión .bak que son los respaldos.

. sites-available
|____000-default.conf
|____000-default.conf.bak
|____default-ssl.conf
|____default-ssl.conf.bak

CONFIGURACIÓN

Editar los archivos default-ssl.conf

$ sudo rm -r /etc/apache2/sites-available/default-ssl.conf
$ cd /etc/apache2/sites-available/
$ sudo nano default-ssl.conf

Se elimina el anterior para generar uno nuevo.

El sitio que se configurara sera misitio.com con el subdominio blog.misitio.com

El nuevo subdominio se configura en el segundo y tercer virtualhost blog.misitio.com

<IfModule mod_ssl.c>
        <VirtualHost *:443>
                ServerAdmin webmaster@localhost
                DocumentRoot /var/www/html

                <Directory /var/www/html>
                    Options Indexes FollowSymLinks MultiViews
                    AllowOverride all
                    Order allow,deny
                    allow from all
                </Directory>

                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined
                SSLEngine on
                SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
                SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>
        </VirtualHost>

        # Configuración del subdominio blog.misitio.com

        <VirtualHost *:443>
                ServerAdmin webmaster@localhost
                ServerName www.blog.misitio.com:443
                ServerAlias blog.misitio.com:443
                DocumentRoot /var/www/blog
                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined
                SSLEngine on
                SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
                SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>
        </VirtualHost>

        <VirtualHost *:443>
                ServerAdmin webmaster@localhost
                ServerName blog.misitio.com:443
                ServerAlias www.blog.misitio.com:443
                DocumentRoot /var/www/blog
                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined
                SSLEngine on
                SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
                SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>
        </VirtualHost>

        # Configuración del subdominio blog.misitio.com
</IfModule>

Creando el enlace para activar el https para el sitio misitio.com

$ sudo a2ensite default-ssl

para desactivar un sitio seria el siguiente comando sudo a2dissite sitioweb

Activación de modulo ssl para apache y recargándolo.

$ sudo a2enmod ssl
$ sudo /etc/init.d/apache2 reload
$ sudo /etc/init.d/apache2 restart

# - Alternativa para blog, creando un nuevo archivo:

Agregando el certificado al subdominio blog.misitio.com

$ sudo cp default-ssl.conf blog-ssl.conf
$ sudo nano blog-ssl.conf

Agregar el certificado ssl al blog y el directorio donde tendremos guardado los archivos del blog

<VirtualHost *:443>
                ServerAdmin webmaster@localhost
                ServerName www.blog.misitio.com:443
                ServerAlias blog.misitio.com:443
                DocumentRoot /var/www/blog
                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined
                SSLEngine on
                SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
                SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>
        </VirtualHost>

Creando el enlace del blog.

$ sudo a2ensite blog-ssl

# OPCIONAL generar certificados

Puede crear su propio certificado solo dando la dirección del propio certificado editando las siguientes lineas del archivo default-ssl.conf y blog-ssl.conf

SSLCertificateFile /home/usuario/micertificado.crt
SSLCertificateKeyFile /home/usuario/micertificado.key

Creando certificado personal:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /home/usuario/micertificado.key -out /home/usuario/micertificado.crt

Rellenar todo lo que se les pida y listo.

results matching ""

    No results matching ""