Bruno Kitsune Website
Anuncio Patrocinado

Nos dias atuais possuir um certificado SSL em seu site é algo extremamente necessário, não só pela melhoria nos resultados nos buscadores, como o Google, mas também para evitar alertas informando que a sua página não é segura.

O objetivo deste tutorial será mostrar como ativar um certificado SSL gratuitamente em seu site, mesmo que ele seja um plano compartilhado de hospedagem. Sim, um certificado de segurança sem que para isso seja necessário pagar coisa alguma!

Observação Importante: Para este tutorial será necessário que o seu host permita conexão SSH, caso contrário este procedimento não funcionará! Já que eu preciso demonstrar o tutorial em algum lugar, vou o fazer demonstrando no meu atual provedor de serviços, que é o Hostinger.

Coletando informações

Antes de começar nós vamos precisar de algumas informações essenciais e nós vamos dividir esta etapa em duas, tudo bem?

SSH

Para realizar a conexão SSH nós vamos precisar saber qual é o IP, Porta, Usuário e Senha. Cada painel de controle de hospedagem deve possuir um local próprio para mostrar estas informações. Falando especificamente do Hostinger, ele mostrará esta informação na seção Avançado, opção Acesso SSH, conforme é mostrado na imagem abaixo.

As informações que nós vamos precisar estão dentro do quadro vermelho, que teve suas informações devidamente ocultadas neste tutorial por questões de segurança. Será necessário permitir o acesso SSH para que estas opções fiquem disponíveis (o que é feito na Hostinger ativando a opção que fica logo abaixo do quadro com as informações).

Vou usar como exemplo as informações abaixo:

IP SSH: 111.111.111.111
Porta SSH: 22222
Username SSH: x333333333
Senha SSH: 44444

Diretório

Além das informações de conexão, também vamos precisar saber o diretório completo do site o qual você deseja fazer o certificado. Para isso basta copiar o diretório do seu site no cliente de FTP que você usa e copiar o diretório em que o seu site está, como no exemplo abaixo feito no programa FileZilla.

Observação Importante: Além da pasta FTP, a grande maioria das hospedagens compartilhadas deixam todos os seus arquivos em um subdiretório mestre. No caso especifico da Hostinger, esta informação é mostrada na barra lateral do painel de controle, conforme mostrado abaixo:

Vendo a imagem acima, é fácil perceber qual é o meu diretório completo, é a pasta principal seguida pelo caminho do FTP. Vou usar como exemplo o diretório abaixo:

/home/x333333333/domains/brunokitsune.net/public_html/subs/ssl-tutorial

Com estas informações nós podemos começar!

Instalando o ACME e o Composer

Nós vamos precisar do ACME (que é um cliente escrito em PHP) e um composer para fazer o procedimento. Para isso será necessário conectar-se via SSH ao seu servidor. Se você usa Linux, basta usar o terminal padrão do sistema, caso você use Windows, poderá usar o PuTTY, que pode ser baixado neste link.

Ao executar o Putty, logo na tela inicial coloque o IP do seu servidor e a porta, seguido do tipo de conexão SSH, conforme é mostrado na imagem de exemplo abaixo:

Lembre-se de usar as suas informações, pois as mostradas abaixo são apenas de exemplo.

Ele vai abrir a tela de terminal. Existe a possibilidade do programa solicitar para você confirmar o seu usuário SSH e senha SSH, caso isso aconteça basta colocar o respectivo dado e apertar Enter.

Você saberá que tudo está bem quando você ver a mensagem -bash, conforme mostrado no exemplo abaixo:

Observação: Caso ele não tenha pedido o usuário e senha no passo anterior, ou caso você esteja usando o terminal padrão do Linux, nós vamos precisar forçar o programa. Para isso, basta executar o comando: ssh [email protected] -p porta. Vamos usar as informações de exemplo, temos algo como:

ssh Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo. -p 22222

Feito isso ele pedirá o usuário e senha para se conectar.

O próximo passo é clonar o cliente ACME do repositório do github, isso pode ser feito executando o seguinte comando:

git clone https://github.com/kelunik/acme-client

Dica: Você pode colar informações no PuTTY apertando o botão direito do mouse.

O procedimento de instalação deverá ser iniciado, e ele pode demorar um tempo razoável, dependendo do seu servidor.

Após completado, acesse a pasta do ACME:

cd acme-client

Por fim, vamos fazer o download e instalar o composer. Isso pode ser feito executando o comando abaixo:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"; 
php composer-setup.php;
php -r "unlink('composer-setup.php');";
php composer.phar install --no-dev

Gerando o certificado SSL

Agora que já instalamos tudo, precisamos registrar o seu e-mail como proprietário do certificado, para poder ser comunicado se algo der errado. Para isso, basta executar o seguinte comando:

php bin/acme setup --server letsencrypt --email Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo.

Note que você deve trocar o e-mail de exemplo: Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo. pelo seu e-mail real.

Gerar o certificado é bem simples, basta executar o comando abaixo:

php bin/acme issue --domains dominio1:dominio2 --path diretorio1:diretorio2 --server letsencrypt

Você pode registrar múltiplos domínios (ou subdomínios) de uma só vez, inclusive no seu site é extremamente provável que você vai querer registrar exemplo.com e www.exemplo.com no mesmo certificado, para tanto basta separar os domínios e diretórios pelo símbolo de dois pontos (:). Note que neste caso, tanto exemplo.com e www.exemplo.com estão na mesma pasta, então o diretório 1 será igual ao diretório 2.

Como exemplo, imagine que eu quero registrar os subdomínios ssl-tutorial.brunokitsune.net e www.ssl-tutorial.brunokitsune.net, o comando ficaria assim:

php bin/acme issue --domains ssl-tutorial.brunokitsune.net:www.ssl-tutorial.brunokitsune.net --path /home/x333333333/domains/brunokitsune.net/public_html/subs/ssl-tutorial:/home/x333333333/domains/brunokitsune.net/public_html/subs/ssl-tutorial --server letsencrypt

Nota: Para fins deste tutorial, eu só vou emitir o certificado para um subdomínio, pois o Hostinger não cria um subdomínio padrão com www.

Se o procedimento foi feito com sucesso, você verá uma mensagem escrito em verde informando que o certificado foi emitido com sucesso, conforme é possível ver na imagem seguinte:

Note que o Hostinger não vai permitir a instalação de certificados pelo SSH, por esta razão nós vamos precisar fazer este processo pelo painel de controle.

Note que agora que você instalou o ACME e o composer, não é preciso repetir o procedimento todo para emitir outros certificados, basta rodar o SSH, entrar na sua conta, abrir a pasta do ACME (cd acme-client) e executar o comando de geração de certificado.

Se por ventura aparecer uma mensagem de erro, veja atentamente o motivo, pode ser um erro de digitação no domínio ou no diretório. Lembre-se também que se você acabou de comprar ou transferir um domínio, o processo de propagação de DNS pode demorar até 72 horas, neste caso é preciso esperar para conseguir emitir o certificado.

Instalando o certificado SSL

Agora que o certificado está pronto, vamos instalar ele em nosso servidor. Para tanto, em primeiro lugar vamos puxar o certificado para o nosso computador.

Abra o seu cliente de FTP e conecte-se em sua conta mestre. Nele, abra a pasta abaixo:

/acme-client/data/certs/acme-v01.api.letsencrypt.org.directory

Salve a pasta que tem o domínio desejado no seu computador, conforme mostrado abaixo:

Ao abrir a pasta em seu computador, você verá que há quatro arquivos distintos: cert.pem, chain.pem, fullchain.pem e key.pem. Para ativar o certificado nós vamos precisar de dois deles, o fullchain.pem e o key.pem. 

Por hora vamos abrir estes dois arquivos. Caso o seu sistema operacional peça algum programa para abrir os arquivos, selecione um editor de texto simples, como é o caso do Bloco de Notas. Deixe ambos os arquivos abertos, pois vamos precisar deles em breve.

Agora vamos ativar o SSL em nosso site. Falando especificamente do Hostinger, ele mostrará esta informação na seção Avançado, opção SSL. Na tela que se abriu, desça até a seção SSL personalizado.

No campo Domínio, escolha o domínio que você deseja ativar, em certificado (CRT), copie e cole o conteúdo do arquivo fullchain.pem, e em chave privada (key), copie e cole o conteúdo  arquivo do key.pem, conforme mostra a imagem abaixo:

Caso tudo tenha sido feito com sucesso, ao clicar no botão instalar você verá uma mensagem informando que o SSL foi instalado com sucesso.

Você pode forçar os usuários a verem a versão segura do seu site. No Hostinger, basta selecionar a opção “Forçar HTTPS”, que aparece na seção de SSL.

Para testar se tudo funcionou corretamente, tente abrir o site seguro em seu navegador, ou seja, o endereço ativado começando com https://.

Se o procedimento foi feito corretamente, você verá um cadeado sendo exibido no endereço. Destaco que seus arquivos temporários podem causar problemas no teste, por isso é interessante testar em modo privado caso aconteça algum erro, e em seguida limpar o histórico do seu navegador.

Por fim, os certificados da Let’s Encrypt tem uma validade de 90 dias e neste período você precisa renovar os certificados, todavia, podemos automatizar este processo na Hostinger, fazendo uma Tarefa Cron, para isso, vá até a seção Avançado, opção Tarefas Cron.

Na opção Digite, escolha Custom, em comando de execução, copie o código que você usou para gerar o certificado, que no meu caso de exemplo foi:

php bin/acme issue --domains ssl-tutorial.brunokitsune.net:www.ssl-tutorial.brunokitsune.net --path /home/x333333333/domains/brunokitsune.net/public_html/subs/ssl-tutorial:/home/x333333333/domains/brunokitsune.net/public_html/subs/ssl-tutorial --server letsencrypt

Escolha a execução 1 vez por mês, a cada dois meses, e nos demais mantenha as opções padrões, conforme mostrado na imagem que segue abaixo:

Feito isso basta salvar e o certificado estará renovado. Caso aconteça algum problema, um e-mail automático do Let’s Encrypt será enviado para você informando que aconteceu algo inesperado, neste caso basta reemitir o certificado e atualiza-lo em seu painel de controle.

Gostou do tutorial? Se ficou alguma dúvida basta usar o formulário de contato disponível na parte superior da página! 

Anuncio Patrocinado