terça-feira, 27 de julho de 2021

Emitindo um certificado, configurando um servidor SSL Apache 2.4 Windows


1. Primeiramente devemos fazer a instalação do software para emissão do Certificado.

Para isto iremos usar o Openssl. No link abaixo poderá ser encontrado o download da versão do windows, ou seja 32 ou 64. 

http://slproweb.com/products/Win32OpenSSL.html

1.1. Faça a instalação da maneira recomendada, bastando clicar em NEXT até o final da instalação.


2. Gerando o Certificado SSL.

entre com o comando do windows CMD para abrir o prompt de comando no modo administrador.

openssl req -x509 -nodes -days 10000 -newkey rsa:2048 -keyout server.key -out server.crt

Então será pedido informações para o certificado, caso não deseje informar basta deixar todos os campos em branco.

Então será gerado na pasta do apache/conf os arquivos server.key e server.crt.

3. Instalando o Certificado

Então será necessário instalar o certificado gerador "server.crt",

no repositório do Windows.

Então basta clicar em cima do arquivo e instalar ele como arquivos

de certificado confiáveis.

4. Configurando o Apache

4.1 Entre na pasta apache/config e procure pelo arquivo "http.conf",

neste arquivo será necessário, habilitar o módulo ssl e o cache.

LoadModule socache_shmcb_module modules/mod_socache_shmcb.so (aproximadamente linha 174) LoadModule ssl_module modules/mod_ssl.so (aproximadamente linha 176)

4.2 Também no mesmo arquivo tirar o comentário na 527, para ter acesso ao arquivo httpd-ssl.conf.

Include conf/extra/httpd-ssl.conf (aproximadamente linha 527)

4.3 Vá até o arquivo httpd-ssl.conf que se encontra na pasta apache/conf/extra e altere o caminho do certificado gerado conforme abaixo.

SSLCertificateFile "c:/apache/ssl/server.crt" (aproximadamente linha 144) SSLCertificateKeyFile "c:/Apache/ssl/server.key" (aproximadamente linha 154)

Lembrando que os arquivos server.crt e server.key, devem estar na pasta indicada apache/ssl.

5. Criando o virtual host para a porta ssl.

5.1 vá até o arquivo httpd-vhosts.conf que se encontra na mesma pasta do httpd-ssl.conf, e inclua mais um virtual host para a porta desejada ssl.

Como exemplo:

<VirtualHost *:443>
ServerName seudominio.com.br
ServerAlias www.seudominio.com.br
DocumentRoot "C:/xampp/htdocs/seudominio"
<Directory "C:/xampp/htdocs/seudominio">
Options +Indexes +Includes +FollowSymLinks +MultiViews
Require all granted
</Directory>
SSLEngine on
SSLCertificateFile "c:/apache/ssl/server.crt"
SSLCertificateKeyFile "c:/apache/ssl/server.key"
SSLCertificateChainFile "c:/apache/ssl/server.crt"
</VirtualHost>

Indicando também o caminho do certificado.

Basta agora reinciar o servidor apache e fazer o teste. :D

Nenhum comentário:

Postar um comentário