Introdução

Este tutorial irá mostrar-lhe como configurar um certificado SSL Let’s Encrypt em um servidor CentOS rodando Apache e o Moodle. Além disso, vamos cobrir a forma de automatizar o processo de renovação de certificado usando a cron.

Os certificados SSL são usados dentro servidores web para criptografar o tráfego entre o servidor e o cliente, proporcionando segurança extra para usuários que acessam seu aplicativo. Let’s Encrypt fornece uma maneira fácil de obter e instalar certificados confiáveis gratuitamente.

Outros sistemas Operacionais

No Ubuntu

No Windows

Pré-requisitos

  • Você precisa ter acesso ROOT ao seu servidor.
  • Não pode haver WHM/CPanel no servidor.

1º etapa - Criar um Virtual Host para seu domínio

O plugin Apache para Let’s Encrypt simplifica muito o processo de geração e instalar certificados SSL para domínios hospedados com Apache. No entanto, no momento da redação deste artigo, é necessário que você tem seus domínios organizados em máquinas virtuais, cada um em um arquivo de configuração separado.

Primeiro crie a pasta /etc/httpd/sites-enabled

sudo mkdir /etc/httpd/sites-enabled

após, edite o arquivo /etc/httpd/conf/httpd.conf para que possamos chamar arquivos *.conf dentro desta pasta

sudo nano /etc/httpd/conf/httpd.conf

e no final do arquivo adicione:

Include sites-enabled/*.conf

agora crie o arquivo /etc/httpd/sites-enabled/salasead.com.br.conf, mais lembre-se que salasead.com.br deve ser alterado pelo seu domínio.

sudo nano /etc/httpd/sites-enabled/salasead.com.br.conf

dentro deste arquivo 

<VirtualHost *:80>
    ServerName salasead.com.br
    ServerAlias www.salasead.com.br
    DocumentRoot /var/www/html
</VirtualHost>

e salve.

Vamos entender as linhas:

  • ServerName: o seu nome de domínio principal. Sem WWW.
  • ServerAlias: é um valor opcional e é um alias para o seu domínio principal. É uma prática comum para adicionar o subdomínio www como um alias do domínio principal.
  • DocumentRoot: é o local onde os arquivos do seu Moodle deve ser encontrado. Por padrão é /var/www/html, e você pode alterar este valor se você quiser colocar seu Moodle em outra pasta do seu servidor.

E por último, reinicie o apache.

2º etapa - Instalar as dependências do Servidor

Antes de podermos instalar o cliente Let’s Encrypt e gerar o certificado SSL, precisamos primeiro instalar o repositório EPEL (Extra Packages for Enterprise Linux):

sudo yum install epel-release

e vamos precisar do git também.

sudo yum install git  

3º etapa - Download do Let’s Encrypt Client

Vamos baixar o Let’s Encrypt na pasta /opt e deixar a la para sempre usarmos. 

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

Isto irá criar uma cópia local do Let’s Encrypt oficial em /opt/letsencrypt .

4º etapa - Configurar o Certificado SSL

Acesse a pasta que baixou o Let’s Encrypt

cd /opt/letsencrypt

e vamos instalar os SSL

sudo ./letsencrypt-auto --apache -d salasead.com.br -d www.salasead.com.br

e será apresentado algumas telas:

Primeira será pedido seu e-mail, e este será notificado a você sobre novidades e caso o seu SSL esteja expirando. Enter para aceitar:

Após será apresentado os termos do serviço que deverá ser aceito. Enter para aceitar:

Terceira tela perguntará se você deseja apenas ativar o SSL (Easy) ou você quer que todas as requisições que cheguem em HTTP sejam transferidas automáticamente para HTTPS (Secure). Use as setas e selecione Secure e Enter para OK:

E, após tudo finalizado apresenta tela que mostra que esta OK.

 

No servidor, você verá que o arquivo /etc/httpd/sites-enabled/salasead.com.br-le-ssl.conf foi criado.

5º etapa - Configurar Renovação Automática

Certificados Let’s Encrypt são válidos por apenas 90 dias, mas é recomendável que você renove seus os certificados a cada 60 dias. Vamos então fazer uma Crontab para fazer este trabalho sozinho.

Primeiro acesse a crontab:

sudo crontab -e

Adicione a seguinte linha ao fim do arquivo:

0 3 1 */2 * /opt/letsencrypt/letsencrypt-auto renew >> /var/log/le-renew.log

Quer entender cada passo:

  • 0 3 1 */2 *: diz que deve executar sempre aos Zero minutos, três horas, do dia 1 dos meses pares, sem destição de semana;
  • /opt/letsencrypt/letsencrypt-auto renew: comando a ser executado para renovar o SSL automáticamente;
  • /var/log/le-renew.log: salva os LOGS da execução.

Se quiser atualizar o Let’s Encrypt é só executar:

cd /opt/letsencrypt
sudo git pull

Gostou? Não esqueça de curtir!

Um comentário

Deixe uma resposta

  1. Eu fiz como instruído e sucesso. Obrigado