post
Renovar automaticamente o certificado Let’s Encrypt da Bitnami
Publicado em: 05/08/2019 / Atualizado em: 15/02/2024
Os certificados Let’s Encrypt são válidos apenas por 90 dias. Para renovar o certificado antes que ele expire, execute os seguintes comandos no console do servidor como o usuário bitnami. Lembre-se de substituir o marcador de posição DOMAIN pelo seu nome de domínio real e o marcador de posição EMAIL-ADDRESS pelo seu endereço de email.
sudo /opt/bitnami/ctlscript.sh stop
sudo /opt/bitnami/letsencrypt/lego --tls --email="EMAIL-ADDRESS" --domains="DOMAIN" --path="/opt/bitnami/letsencrypt" renew --days 90
sudo /opt/bitnami/ctlscript.sh start
NOTA: Você pode usar mais de um domínio (por exemplo, DOMAIN e www.DOMAIN ) especificando a opção –domains quantas vezes o número de domínios que você deseja especificar. Ao fornecer vários domínios, o Lego cria um certificado SAN (Subject Alternate Names) que resulta em apenas um certificado válido para todos os domínios inseridos. O primeiro domínio da sua lista será adicionado como o “CommonName” do certificado e o restante será adicionado como “DNSNames” à extensão da SAN dentro do certificado.
Para renovar automaticamente seus certificados antes que eles expirem, escreva um script para executar as tarefas acima e agende uma tarefa cron para executar o script periodicamente. Para fazer isso:
1. Crie um script em /opt/bitnami/letsencrypt/scripts/renew-certificate.sh
sudo vim /opt/bitnami/letsencrypt/scripts/renew-certificate.sh
2. Ao acessar o editor, aperte a tecla “i” do seu teclado para habilitar a edição, e digite o seguinte conteúdo no script e salve-o. Lembre-se de substituir o marcador de posição DOMAIN pelo seu nome de domínio real e o marcador de posição EMAIL-ADDRESS pelo seu endereço de e-mail.
#!/bin/bash
sudo /opt/bitnami/ctlscript.sh stop apache
sudo /opt/bitnami/letsencrypt/lego --tls --email="EMAIL-ADDRESS" --domains="DOMAIN" --path="/opt/bitnami/letsencrypt" renew --days 90
sudo /opt/bitnami/ctlscript.sh start apache
OBS: Para sair do nano editor, aperte a tecla “Esc” e para confirmar e salvar e sair digite “:wq” e aperte “ENTER”.
3. Torne o script executável
sudo chmod +x /opt/bitnami/letsencrypt/scripts/renew-certificate.sh
4. Execute o seguinte comando para abrir o editor crontab
sudo crontab -e
Talvez a primeira vez o terminal pergunte para você qual o editor que você deseja usar, como mostra abaixo:
no crontab for root - using an empty one
Select an editor. To change later, run 'select-editor'.
1. /bin/ed
2. /bin/nano <---- easiest
3. /usr/bin/vim.basic
4. /usr/bin/vim.tiny
Choose 1-4 [2]:
Particularmente uso o editor “vim.basic”, mas isso vai de cada um.
Então no meu caso, digito apenas o numeral “3” e aperto “Enter” para escolher o editor “vim”.
5. Ao abrir o editor, talvez se depare com algo escrito como mostra abaixo:
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
Ao exibir o editor, aperte a tecla “i” do seu teclado para habilitar o editor, e adicione no final do arquivo as seguintes linhas ao arquivo crontab e salve-o
0 0 1 * * /opt/bitnami/letsencrypt/scripts/renew-certificate.sh 2> /dev/null
Para salvar e sair, aperte a tecla “Esc” e digite “:wq” (sem as aspas).
Pronto! Você acaba de criar um arquivo contendo o script de renovação de certificado e configurou seu CRON para executar este arquivo a cada 90 dias automaticamente.
Após isso tudo, seria bom você reiniciar seu servidor, não custa nada.
Se estiver usando o APACHE:
sudo /opt/bitnami/ctlscript.sh restart apache
Caso esteja usando o NGINX:
sudo /opt/bitnami/ctlscript.sh restart nginx
NOTA: Se estiver renovando vários domínios, lembre-se de atualizar o script /opt/bitnami/letsencrypt/renew-certificate.sh para incluir o (s) nome (s) de domínio adicional (s) no comando lego.
LINKS UTEIS
Fonte: https://docs.bitnami.com/aws/how-to/generate-install-lets-encrypt-ssl/
Publicações recomendadas:
Inscreva-se em Nossa News:
Seja notificando sempre que tiver conteúdo novo disponível no meu canal do Youtube ou artigo no meu Blog.
Link Curto para Compartilhamento
Compartilhe esse conteudo nas redes sociais ou por mensagem usando o link curto abaixo. Basta clicar em cima do link para copiar.
bruno.art.br/pb/139
ID de Referência: 139
Sugira uma publicação
Envie uma mensagem e sugira um publicação sobre um assunto que tenha dificuldades de resolver.