Instalando um certificado SSL no Apache2
Prezados Colegas,
Primeiramente saudações pinguianas a todos!
Eu sei que já faz um bom tempo que não posto nenhum arquivo, mas esses dias ocorreu a necessidade da implementação de um certificado SSL para um subdomínio no apache.
A compra do certificado
Existe várias entidades certificadoras que vendem vários tipos de certificados com diversos preços diferentes. O que eu achei mais em conta, foi no site www.cheapssls.com
Nesse site você encontra certificado SSL seguro “Positive SSL” (PositiveSSL) expedido pela “Comodo CA” (Certificate Authority – entidade certificadora que faz a emissão do certificado) por $5.99/ano (se pagar adiantado alguns anos) ou $8.95 (se comprar apenas por 1 ano). Tinha também o Rapid SSL (RapidSSL) com preço um pouco mais caro, $7.99/ano. Você pode fazer o pagamento pelo PayPal, mas também aceitam cartão de crédito (internacional).
A nível de testes, você pode adquirir um certificado da “Comodo CA”, válidos por 90 dias, através desse link:
https://www.comodo.com/e-commerce/ssl-certificates/free-ssl-certificate.php
Agora, vamos colocar a mão na massa. Primeiro, vamos instalar as ferramentas necessárias no servidor com o comando abaixo:
apt-get install openssl ssl-cert
Agora vamos criar o diretório no qual iremos guardar nossos certificados:
mkdir /etc/apache2/ssl/
Vamos então entrar no diretório:
cd /etc/apache2/ssl/
Agora precisamos gerar as chaves:
openssl req -nodes -newkey rsa:2048 -keyout subdominio.dominio.com.br.key -out subdominio.dominio.com.br.csr
CALMA! AINDA NÃO PRESSIONE “ENTER”
Primeiro vamos entender o que esse comando vai fazer:
Esse comando irá criar dois arquivos. O subdominio.dominio.com.br.key contém a chave privada. Esse arquivo NÃO DEVE ser fornecido nem divulgado. Trate-o com chmod 600.
Em particular, certifique-se de fazer o backup da chave privada, como não há meios de recuperá-lo, ela não deve ser perdida. A chave privada é utilizada como entrada no comando para gerar um Pedido de Assinatura de Certificado (CSR).
A CSR é um arquivo contendo as informações de pedido de certificado, incluindo sua chave pública. Depois de criar seu CSR, você vai copiar e colocar o seu conteúdo no formulário web, quando foi solicitado no campo de cadastro no site onde você está comprando o certificado.
Agora, entenda que assim que você pressionar a tecla “enter”, você será solicitado a digitar as informações que irão constar em sua RSE:
Veja como as perguntas serão feitas e como responder:
Country Name (2 letter code) [AU]: BR
State or Province Name (full name) [Some-State]: RJ
Locality Name (eg, city) []: Rio de Janeiro
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Minha Empresa
Organizational Unit Name (eg, section) []: Analista de Suporte
Common Name (eg, YOUR name) []: subdominio.dominio.com.br
Email Address []: [email protected]
Please enter the following ‘extra’ attributes to be sent with your certificate request
A challenge password []: “Apenas Enter”
An optional company name []: “Apenas Enter”
Após isso, se você der o comando ls, você irá verificar que ele gerou os arquivos subdominio.dominio.com.br.key e subdominio.dominio.com.br.csr
Lembre-se que o conteúdo do arquivo “subdominio.dominio.com.br.csr” deve ser utilizado para finalizar a compra e registro do certificado (colar no campo “Enter CSR”).
Após finalizar a compra, o provedor do certificado envia os seguintes arquivos para serem instalados no servidor:
- PositiveSSLCA2.crt (Intermediate CA Certificate)
- AddTrustExternalCARoot.crt (Root CA Certificate)
- (nome-do-seu-dominio).crt (Your SSL Certificate)
Você deve colocar esses arquivos no diretório /etc/apache2/ssl/
Os 2 primeiros arquivos são usados para gerar o arquivo usado pelo Apache (criar arquivo com extensão ”.ca-bundle”). Basta juntar os conteúdos em um único arquivo com nome “subdominio.dominio.com.br.ca-bundle, colocando primeiro o “Intermediate CA” seguido pelo “Root CA”), com o comando:
cat PositiveSSLCA2.crt AddTrustExternalCARoot.crt >> subdominio.dominio.com.br.ca-bundle
Depois disso, vamos finalmente configurar o subdomínio no apache:
vim /etc/apache2/conf.d/subdominio.conf
Deixe-o assim:
<VirtualHost *:443> ServerName subdominio.dominio.com.br:443 DocumentRoot /var/www/subdominio DirectoryIndex index.php index.htm index.html TransferLog /var/log/apache2/subdominio.log SSLEngine on SSLCertificateKeyFile /etc/apache2/ssl/subdominio.dominio.com.br.key SSLCertificateFile /etc/apache2/ssl/PositiveSSLCA2.crt SSLCertificateChainFile /etc/apache2/ssl/subdominio.dominio.com.br.ca-bundle ServerSignature off </VirtualHost>
Agora é só reiniciar o apache:
/etc/init.d/apache2 restart
Isso é tudo!
Espero ter colaborado.
Esse artigo foi útil? Colabore com o nosso site para podermos continuar dando mais dicas como essa!
Formas de doação:
- Boleto / Cartão de crédito: https//bit.ly/AprendendoLinux
- Pix: [email protected]
- PicPay: @henrique_fagundes
- PayPal: [email protected]
- Bitcoin: bc1qtnn5z058htzy799dslwrpjcdpm0vuta3vrj28l
Favorecido: Luiz Henrique Marques Fagundes