Una de las cosas mas tediosas con las que me he encontrado ha sido el tema de los certificados en el servidor web ya que o pagas 200€ o ves como te sale una ventana indicándote que tu certificado tiene errores ya que no se encuentra verificado por una entidad de confianza.
Con LetsEncrypt eso ya no es un problema porque ante todo es gratuito, se instala en un par de comandos. Su funcionamiento es automático y verifica que el servidor es quien dice ser mediante consultas a servidores DNS.
Para instalarlo en Debian 8 simplemente hay que poner los siguientes comandos en la consola.
cp /etc/apache2/sites-available/tudominio.com.conf /etc/apache2/sites-available/tudomino.com.ssl.conf
Editamos el archivo recién creado, modificando la primera línea para cambiar el puerto.
<VirtualHost *:443>
y añadimos lo siguiente
SSLEngine on SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
Llegado a este punto debemos activar el modulo SSL para Apache
a2enmod ssl
Aunque no es necesario, siempre viene bien consultar si la configuración es la correcta,
apachectl configtest
Si no hay errores, añadimos el sitio al inicio de apache y reiniciamos el servicio
a2ensite tudominio.com.ssl.conf service apache2 restart
Ya podemos acceder a https://www.nombredominio.es, pero el certificado da el error maldito que hace que tengas que dar unos cuantos clicks para acceder a la pagina web. Para que esto quede solucionado vamos a instalar LetsEncrypt desde git.
En caso de que no tengas instalado git debes hacerlo mediante los siguientes comandos
apt-get update apt-get install git
y ya una vez terminado instalar LetsEncrypt
git clone https://github.com/letsencrypt/letsencrypt cd letsencrypt ./letsencrypt-auto --help
La instalación dura un rato ya que necesita un montón de dependencias, cuando termine lo debemos ejecutar de nuevo en modo apache.
./letsencrypt-auto --apache
Automáticamente leerá las configuraciones de apache, tomará nota de los sites y nos preguntará en cuáles queremos activar ssl, y si queremos forzar que todas las peticiones vayan con ssl al puerto 443.
Listo… Problema solucionado…
Los certificados duran 3 meses por cuestiones de seguridad, para renovarlos debemos de ir a la carpeta donde habíamos instalado LetsEncrypt y escribir lo siguiente
./letsencrypt-auto renew
Automáticamente se renovaran todos los certificados que tengan cerca su caducidad.
Un comentario sobre “SSL gratuito en tu host con letsencrypt.org”