Apache Instalar LetsEncrypt no Debian 10 (Certificado SSL grátis!)

UPDATE Debian 10

O Debian 10 deixou de suportar Python 2.7 que é uma das dependências do LetsEncrypt, devido a isso o procedimento abaixo deixou de ser válido! no entanto passou a ser ainda mais simples…

Agora basta instalar o pacote do repositório oficial do Debian para ter ssl, o procedimento que funciona no Debian 10 é o seguinte:

1º – apt install python3-certbot-apache

2º – certbot

Correndo os 2 comandos anteriores iniciará o wizard que guiará pela obtenção e instalação dos novos certificados ssl para Apache no Debian 10

LetsEncrypt Debian 9

O Lets Encrypt  é um serviço que permite obter certificados digitais gratuitos, para permitir de uma forma fácil e gratuita disponibilizar https em qualquer site.

Os passos que enumero a seguir são para utilização no Debian (em distribuições derivadas como Ubuntu, Mint, etc.. deve funcionar! com sudo!)

Antes de começar é necessário já ter o Apache ou Ngix instalado e configurado para responder na porta 80 e 443!

Caso ainda não tenha git instalado temos que o instalar com o comando:
apt-get install git
A seguir fazemos um clone do repositório do GitHub:

git clone https://github.com/letsencrypt/letsencrypt

Antes de prosseguir é conveniente já ter a porta 443 reencaminhado para o servidor, pois durante o processo haverá uma validação do Lets Encrypt, em que há uma ligação à porta 443 para verificação!

Para o script configurar automaticamente os virtual hosts com SSL é necessário que o modulo ssl já esteja ativo no apache :
a2enmod ssl

Se não houver ficheiros de configuração para os hosts virtuais estes serão criados com as configurações corretas.

E por ultimo é só ir ao directório onde foi clonado o repositório e correr o script automático:

cd letsencrypt
./letsencrypt-auto

Este comando vai verificar se os pacotes necessários existem no sistema e caso não existam instala!

Quando as dependências estiverem satisfeitas um wizard questionará quais os sites configurados no Apache é que queremos configurar para usar ssl.

Caso o site tenha todo o conteúdo servido por https o icon da barra de endereço ficará verde… caso não fique ou haja algum aviso de “mixed content” pode ser necessário modificar o código do site para carregar scripts, css , imagens e outros conteúdos por https, ou deixar que o browser decida omitindo o prefixo do url (http ou https), por exemplo uma imagem carregada como img rsc=”http://antoniocampos.net/imagem.png” deverá ficar apenas img src=”//antoniocampos.net/imagen.png”, a omissão de protocolo é suportado por todos os browser recentes.

ssl