Apache SSL

De UniWiki
Ir para: navegação, pesquisa

Guia para a configuração do acesso seguro SSL do Apache no Windows

Este tópico demonstra como configurar um ambiente de teste SSL no Apache (Windows).

O Apache utilizado é o 2.2 da instalação do XAMP, o path de instalação é "D:\Arquivos de Programas\webserver" referenciada no texto como [$webserver].

1. Preparando o ambiente do openssl.exe.

1.1 Crie a seguinte pasta: "C:\openssl-1.0.0e\ssl".
1.2 Copie o arquivo openssl.cnf existente na pasta [$webserver]\php\extras para a nova pasta.
1.3 Renomeie os seguintes arquivos (acrescentando ".old" ao nome do arquivo):
[$webserver]\apache\conf\ssl.crt\server.crt
[$webserver]\apache\conf\ssl.csr\server.csr
[$webserver]\apache\conf\ssl.key\server.key
1.4 Criando novos arquivos de controle e certificado.
1.4.1 Abra o prompt de comando e acesse a pasta [$webserver]\Apache\bin
1.4.2 Para criar o arquivo de senha primário, execute a seguinte linha de comando:
openssl genrsa -des3 -out server.key 1024
O openssl irá solicitar que seja digitada uma senha, informe uma senha com o mínimo de 8 e o máximo de 20 caracteres (guarde a senha).
1.4.3 Para criar o arquivo "server.csr", execute a seguinte linha de comando:
openssl req -new -key server.key -out server.csr
Digite a senha (a que você informou no inicio)
Neste ponto será necessário preencher os dados do certificado, segue um exemplo:
Country Name (2 letter code) [AU]:BR

State or Province Name (full name) [Some-State]:Parana
Locality Name (eg, city) []:Londrina
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Uniware Informatica
Organizational Unit Name (eg, section) []:Desenvolvimento
Common Name (eg, YOUR name) []:Alexandre
Email Address []:seu.email@uniware.com.br
An optional company name []:Uniware

1.4.4 Para criar o certificado, digite a seguinte linha de comando:
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Digite a senha (a que você informou no inicio)
1.4.5 Agora vamos remover a senha dupla do arquivo server.key para que quando o apache for inicializado não solicite a senha. Comando:
openssl rsa -in server.key -out server.key
Digite a senha (a que você informou no inicio)
1.4.6 Neste ponto todos os arquivos do certificado já foram criados, porem estão todos na pasta "apache\bin", copie cada arquivo para seu local conforme a tabela abaixo:
Arquivo Destino
server.crt [$webserver]\apache\conf\ssl.crt\server.crt
server.csr [$webserver]\apache\conf\ssl.csr\server.csr
server.key [$webserver]\apache\conf\ssl.key\server.key
1.4.7 Finalmente, devemos autorizar o DocumentRoot para rodar SSL, abra o arquivo [$webserver]\apache\conf\extra\httpd-ssl.conf
Edite o arquivo, localize a linha
<VirtualHost _default_:443>
Logo abaixo, altere o path do DocumentRoot apontando para a mesma pasta root do apache.
1.4.8 Reinicie o apache, se ele reiniciar normal funcionou.

NOTA!
Como o certificado foi gerado por você, será necesário adicionar uma excessão para o certificado.

Outras referências: Configurando Apache 2.2 com SSL e PHP 5x no Windows (PHP Brasil)