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.