Como Instalar Certificado SSL no CentOS 7

Nesse artigo, você irá aprender a instalar o Certificado SSL no CentOS 7. Security Socket Layer (SSL) é um protocolo para web usado para proteger o tráfego para o seu servidor através de encriptação. Isso significa que toda informação está bloqueada e só pode ser acessada pelo seu destinatário pretendido.

Normalmente, espera-se que sites de e-commerce ou de serviços financeiros online tenham um certificado SSL para site já instalado, sobretudo se eles armazenam informações sensíveis, como detalhes de cartão de crédito.

Contudo, um certificado SSL é obrigatório para todos os sites, para proteger dados confidenciais dos usuários, como credenciais de login, números de documentos importantes, etc.

Por sorte, você pode facilmente obter um certificado SSL de um provedor como COMODO SSL ou Let’s Encrypt, que são os que usaremos em nosso tutorial de instalação.

Como Instalar o Apache no CentOS 7 de Modo Manual

Antes de instalar o SSL, certifique-se de que o Apache (software de servidor na web) já está instalado no CentOS.

Você pode facilmente testar isso ao digitar httpd -v enquanto acessa o servidor através do SSH. Se o Apache está instalado, você verá um resultado similar a esse abaixo:

Tela do CentOS que mostra se o Apache está instalado

Sorte que, na Hostinger, os usuários podem escolher se querem ter o Apache já pré-instalado no Servidor VPS ou se desejam instalá-lo manualmente.

No CentOS 7, o Apache pode ser instalado através de repositórios de software ao inserir o seguinte comando no terminal:

sudo yum install httpd

Agora, inicie o Apache ao digitar:

sudo systemctl start httpd

Se você quiser que o Apache inicie automaticamente durante o boot, habilite-o com:

sudo systemctl enable httpd
Interface de comandos exibindo como rodar o Apache

Como Instalar o Certificado SSL no CentOS 7 com Let’s Encrypt

Let’s Encrypt oferece um certificado SSL gratuito. Vamos dar uma olhada em como instalá-lo no seu servidor.

Importante: Nós usamos “hostinger-dev-9.xyz” como nosso site para testes, mas você tem que mudar para o nome de sua página.

Nós recomendamos primeiro checar o sistema apenas para garantir que ele está atualizado.

yum -y update

Depois, você vai precisar do mod_ssl para configurar o Let’s Encrypt.

yum -y install mod_ssl

Agora, configure o Apache ao criar uma pasta raíz de documentos para o website.

mkdir /var/www/hostinger-dev-9.xyz
Tela mostrando como configurar apache para Let's Encrypt

Neste passo, é necessário um arquivo de configuração de host virtual. Você pode criá-lo com o nano e digitar as seguintes linhas:

nano /etc/httpd/conf.d/hostinger-dev-9.xyz.conf

No nano, insira esse código:

<VirtualHost *:80>
ServerAdmin admin@test.com
DocumentRoot "/var/www/hostinger-dev-9.xyz"
ServerName hostinger-dev-9.xyz
ServerAlias www.hostinger-dev-9.xyz.com
ErrorLog "/var/log/httpd/test.error_log"
CustomLog "/var/log/httpd/test.access_log" common
</VirtualHost>

Substitua o proprietário do diretório /var/www/hostinger-dev-9.xyz com o seu usuário Apache para que ele possa reconhecer o endereço

chown -R apache:apache /var/www/hostinger-dev-9.xyz

Instalação do Certbot

Antes de instalar o certbot, garanta que você tem o repositório EPEL ativado ao inserir o seguinte comando:

yum -y install epel-release

Logo após vem a instalação do yum-utils

yum -y install yum-utils

Só então que você pode instalar o certbot para o Apache

yum -y install certbot-apache
Interface de comando mostrando instalação do certbot para Apache

Depois de instalar o certbot, rode-o executando:

certbot

Então terá um lembrete perguntando para você os nomes nos quais você quer ativar o https:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apacheStarting new HTTPS connection (1): acme-v01.api.letsencrypt.org
Which names would you like to activate HTTPS for?
-------------------------------------------------------------------------------
1: hostinger-dev-9.xyz
2: www.hostinger-dev-9.xyz
-------------------------------------------------------------------------------
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel):

Em seguida, apenas aperte enter para que tanto o hostinger-dev9.xyz quanto o www.hostinger-dev-9-xyz sejam redirecionados para https.

Outro aviso irá aparecer:

Choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect – Make no further changes to the web server configuration.
2: Redirect – Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

Selecione o número 2 para redirecionar ambos os seus nomes de websites para https.

You should see the output below if the process is done correctly
-------------------------------------------------------------------------------
Congratulations! You have successfully enabled
https://hostinger-dev-9.xyz and https://www.hostinger-dev-9.xyz
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=hostinger-dev-9.xyz
https://www.ssllabs.com/ssltest/analyze.html?d=www.hostinger-dev-9.xyz
-------------------------------------------------------------------------------

Renovação Automática de Certificado

Uma coisa boa sobre usar o Let’s Encrypt é que você pode configurar uma renovação automática de certificados.

Para configurar a renovação automática, insira o seguinte comando:

export EDITOR=/bin/nano

Isso vai configurar o nano como o editor padrão e que agora é capaz de editar o crontab:

crontab -e

Inclusive, o Let’s Encrypt sugere rodar a renovação automática do cronjob ao menos duas vezes ao dia. Para fazer isso, cole esse comando e salve o crontab:

* */12 * * * /usr/bin/certbot renew >/dev/null 2>&1

Como Instalar o Certificado SSL com o Comodo

COMODO SSL é um provedor de certificados SSL pago. Com ele, os usuários podem escolher criptografar o tráfego de seu servidor. Aqui está como instalá-lo no CentOS7.

Baixe os Certificados Intermediários (ComodoRSACA.crt) e Primários (domain_name.crt) e copie-os para o diretório do servidor. Isso vai guardar o seu certificado e os arquivos chave.

Encontre o arquivo de configuração do Apache. Geralmente, ele se chama httpd.conf ou apache2.conf. Locais comuns para o arquivo são /etc/httpd/ ou /etc/apache2/. Se ele não puder ser encontrado, a alternativa é procurar usando o grep ao digitar o comando abaixo:

grep -i -r "SSLCertificateFile" /etc/httpd/

Nota: mude “/etc/httpd/” para o seu diretório base da instação do Apache.

Agora, se você quiser habilitar o SSL no seu servidor, configure-o com o seu <VirtualHost> ao colar a seguinte linha nele:

<VirtualHost 31.220.62.130>
DocumentRoot /var/www/hostinger-dev-9.xyz
ServerName www.hostinger-dev-9.xyz
SSLEngine on
SSLCertificateFile /var/www/hostinger-dev-9.xyz.crt
SSLCertificateKeyFile /var/www/your_private.key
SSLCertificateChainFile /var/www/ComodoCA.crt
</VirtualHost>
  • 31.220.62.130: mude isso para o seu endereço de IP
  • SSLCertificateFile precisa ser alterado para o seu arquivo de certificação do COMODO (domain_name.crt, por exemplo)
  • SSLCertificateKeyFile é o arquivo chave que é gerado quando você criou o o seu CSR (Certificate Signing Request)
  • SSLCertificateChainFile é o arquivo de certificado intermediário do COMODO (ComodoRSACA.crt)

É importante checar o seu arquivo de configuração Apache antes de reiniciar. Se tiver um erro de sintaxe, o Apache pode nem sequer iniciar. Você pode digitar esse comando para garantir que tudo está funcionando bem:

apachectl configtest

Depois de tudo estar checado, reinicie o Apache com o suporte para SSL:

apachectl stop

E então:

apachectl start
exibição da tela de comando de como iniciar o apachectl

Caso o Apache não inicie com suporte para SSL, uso “apachectl startssl” em seu lugar.

Conclusão

O SSL é necessário para tornar seguro o tráfego no seu website, especialmente se ele lida com transações. COMODO SSL e Let’s Encrypt são dois provedores que deixam você instalar um certificado SSL no CentOS 7. Enquanto instalar algum deles pode ser complicado, certamente vale o esforço.

Author
O autor

Carlos E.

Carlos Estrella é formado em jornalismo pela UFSC e tem as funções de redator, tradutor e SEO na Hostinger Brasil. Já trabalhou com jornalismo de games e tecnologia e hoje aplica essa experiência escrevendo posts e tutoriais no blog da Hostinger. Suas paixões incluem games, dar rolês com a namorada e amigos e ler artigos aleatórios da Wikipédia de madrugada.