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:
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
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
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
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
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.