Apache SSL
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 |
- 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:
- 1.4.4 Para criar o certificado, digite a seguinte linha de comando:
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.
- 1.4.7 Finalmente, devemos autorizar o DocumentRoot para rodar SSL, abra o arquivo [$webserver]\apache\conf\extra\httpd-ssl.conf
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)