Let’s Encrypt

Eis como usar o Let’s Encrypt no Slackware!

==========================================
DEHYDRATED – configuração
==========================================

# Local dos ficheiros de configuração
/etc/dehydrated/

# Configuração base – não alterar
/etc/dehydrated/config

# Indicar quais os domínios em SSL. Alias na mesma linha. Domínios diferentes em linhas separadas.
/etc/dehydrated/domains.txt

Exemplo:
dominio.pt    www.dominio.pt
exemplo.pt

==========================================
WELLKNOWN
==========================================

######## ATENÇÃO ########
#
# a configuração seguinte tem que ser feita em http, mas pode ser redirecionada para https

# Criar um ficheiro com o nome abaixo, e colocar lá uma linha vazia
vi /var/www/dehydrated/m4g1C-t0k3n

# No ficheiro /etc/httpd/httpd.conf colocar as linhas abaixo, na zona das parametrização de diretorias
# Colocar também no /etc/httpd/extra/httpd-ssl.conf
# e eventualmente nos VHosts todos: /etc/httpd/extra/httpd-vhosts.conf

#
# Configuracao para o dehydrated
# ver: https://github.com/dehydrated-io/dehydrated/blob/master/docs/wellknown.md
Alias /.well-known/acme-challenge /var/www/dehydrated
<Directory /var/www/dehydrated>
Options None
AllowOverride None

<IfModule mod_authz_core.c>
Require all granted
</IfModule>
</Directory>
# Fim do dehydrated
#

# Reiniciar o apache
apachectl restart

# Neste momento, o endereço seguinte tem que existir e mostrar uma página em branco:
http://DOMINIO/.well-known/acme-challenge/m4g1C-t0k3n

==========================================
Criar os certificados
==========================================

# É necessário aceitar os termos de utilização, uma única vez:
dehydrated –register –accept-terms

# Depois, criar os certificados
dehydrated -c

==========================================
Redirecionar http para https
==========================================

# Os redirecionamentos de http para https, por cada domínio https, têm que ser feitos da forma seguinte, para manter o URL no redirecionamento:
# Isto é para colocar nos VHosts de http (/etc/httpd/extra/httpd-vhosts.conf)
######## ATENÇÃO ########
# Isto só pode ser feito depois de criar os certificados, por causa do acesso ao ficheiro “m4g1C-t0k3n” em http

# As linhas seguintes foram retiradas de:
# “Redirect from http to https in apache showing original url with arguments”
# https://stackoverflow.com/questions/27824676/redirect-from-http-to-https-in-apache-showing-original-url-with-arguments
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R=301,L]

==========================================
Configurar o Apache
==========================================

SSLCertificateFile “/etc/dehydrated/certs/DOMINIO/cert.pem”
SSLCertificateKeyFile “/etc/dehydrated/certs/DOMINIO/privkey.pem”
SSLCertificateChainFile “/etc/dehydrated/certs/DOMINIO/chain.pem”

# Reiniciar o apache
apachectl restart

==========================================
Renovação dos certificados
==========================================

Devia ser automático, mas ainda não sei como fazer isso.
Quando os certificados expiram, ou uns dias antes de expirarem, na maior parte das vezes, basta executar os comandos seguintes:

dehydrated -c
apachectl restart

Se der o erro seguinte, é necessário executar os passos abaixo.

ERROR: Challenge is invalid! (returned: invalid) (result: [“type”] “http-01”

Os passos são:
– No ficheiro /etc/httpd/extra/httpd-vhosts.conf, criar a variável seguro: Define seguro true e no final do ficheiro, eliminá-la: UnDefine seguro
– Envolver as linhas do RewriteEngine com um If:

<If "'${seguro}' == 'true'">
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R=301,L]
</If>

Temporariamente, fazer Define seguro false, reiniciar o Apache e correr o comando

dehydrated -c

Depois, voltar a colocar Define seguro true, e reiniciar o Apache.

Resumindo:

vi /etc/httpd/extra/httpd-vhosts.conf
--> Define seguro false
apachectl restart
dehydrated -c
vi /etc/httpd/extra/httpd-vhosts.conf
--> Define seguro true
apachectl restart

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Este site utiliza o Akismet para reduzir spam. Fica a saber como são processados os dados dos comentários.