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.
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/ dominiomoodle.com.br.conf
, mais lembre-se que dominiomoodle.com.br deve ser alterado pelo seu domínio.
sudo nano /etc/httpd/sites-enabled/ dominiomoodle.com.br
.conf
dentro deste arquivo
<VirtualHost *:80>
ServerName dominiomoodle.com.br
DocumentRoot /var/www/html
</VirtualHost>
e salve.
Vamos entender as linhas:
/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.
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 mod_ssl
Vamos instalar o Let’s Encrypt.
yum install python-certbot-apache
Agora vamos criar a SSL com o seguinte comando:
sudo certbot --apache -d dominiomoodle.com.br
Se você quiser ativar SSL para dominiomoodle.com.br e www.dominiomoodle.com.br execute assim:
sudo certbot --apache -d dominiomoodle.com.br -d www.dominiomoodle.com.br
e será apresentado algumas perguntas:
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 * certbot renew >> /var/log/le-renew.log
Quer entender cada passo: