Configurando o Apache com SSL e PHP no Windows
Criando um Virtual Host para usar SSL
Os comandos a seguir serão todos executados em um prompt de comando.
Vá em Iniciar→Executar ou pressione a tecla [Windows] + a tecla [R].
Digite: cmd
Se usou o arquivo de instalação indicado e não alterou o caminho de destino do Apache no prompt digite:
Caso tenha alterado será necessário alterar o comando para apontar para o diretório correto.
Já dentro da pasta correta digite o commando:
O sistema vai pedir para ser digitado uma senha digite uma palavra com no mínimo 8 caracteres (ex.: homersimpson )
Em seguida digite o comando (Atenção ao caminho para o arquivo openssl.cnf que deve ser informado – no exemplo estou usando o padrão sem modificações na instalação do Apache):
Digite a senha que foi digitada no passo anterior.
Neste ponto será necessário preencher uma espécie de formulário.
Segue um exemplo :
Novamente uma senha será pedida. Se ela for digitada, toda vez que o apache iniciar ele pedirá por esta senha, apenas pressione ENTER, pois será usado uma configuração sem requisição de passphrase
O último item pode ser ignorado ou dado algum nome:
Vamos criar o certificado :
Será pedido a senha do primeiro passo. Digite-a.
Vamos criar o arquivo de chave sem senha. Execute o comando:
Digite a senha criada no primeiro passo
Neste momento alguns arquivos terão sido criados no diretório atual. São eles server.key, server.csr e server.crt.
Copie-os para o diretório conf (um nível acima)
Pode-se usar o comando:
Os comandos a seguir serão todos executados em um prompt de comando.
Vá em Iniciar→Executar ou pressione a tecla [Windows] + a tecla [R].
Digite: cmd
Se usou o arquivo de instalação indicado e não alterou o caminho de destino do Apache no prompt digite:
cd "%PROGRAMFILES%\Apache Software Foundation\Apache2.2\bin"
Já dentro da pasta correta digite o commando:
openssl genrsa -des3 -out server.key 1024
Em seguida digite o comando (Atenção ao caminho para o arquivo openssl.cnf que deve ser informado – no exemplo estou usando o padrão sem modificações na instalação do Apache):
openssl req -new -key server.key -out server.csr -config ..\conf\openssl.cnf
Digite a senha que foi digitada no passo anterior.
Neste ponto será necessário preencher uma espécie de formulário.
Segue um exemplo :
################################################################ Country Name (2 letter code) [AU]:BR State or Province Name (full name) [Some-State]:Sao Paulo Locality Name (eg, city) []:Sao Paulo Organization Name (eg, company) [Internet Widgits Pty Ltd]:Regis Incorporation Organizational Unit Name (eg, section) []:Desenvolvimento Common Name (eg, YOUR name) []:desenv Email Address []:admin@marcosregis.com ################################################################
Novamente uma senha será pedida. Se ela for digitada, toda vez que o apache iniciar ele pedirá por esta senha, apenas pressione ENTER, pois será usado uma configuração sem requisição de passphrase
O último item pode ser ignorado ou dado algum nome:
An optional company name []:Regis
Vamos criar o certificado :
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Vamos criar o arquivo de chave sem senha. Execute o comando:
openssl rsa -in server.key -out server.key
Neste momento alguns arquivos terão sido criados no diretório atual. São eles server.key, server.csr e server.crt.
Copie-os para o diretório conf (um nível acima)
Pode-se usar o comando:
Copy server.* ..\conf\*
Em breve atualizarei o artigo para utilizar as versões mais recentes de cada programa e farei um adendo para uso com Wamp.
05/08/2012 2:02pm
(~12 anos atrás)
Rossano, não utilizo WAMP mas sei que tem versão com suporte a SSL sim. Procure os logs e veja o motivo do erro.
05/08/2012 1:53pm
(~12 anos atrás)
Ibrahim, até já li umas informações há um tempo atrás sobre simular uma CA, mas acho isso totalmente desnecessário.
Ela não é necessária para usar um dominio com SSL. Se o que quer é que o navegador não exiba a mensagem de domínio inseguro, somente comprando mesmo um certificado de uma CA válida.
05/08/2012 1:53pm
(~12 anos atrás)
Prezado,
Solicito auxílio, pois segui todos os passos deste tutorial entretanto a partir do passo sobre Include conf/extra/httpd-ssl.conf o Apache não start mais. Estou utilizando o WAMP wampserver2.2e-php5.4.3-httpd2.2.22-mysql5.5.24-32b, porém não sei se o mesmo dá suporte ao SSL.
Poderia por gentileza me orientar sobre o que fazer?
E, como verifico se esta instalação dá suporte ao SSL.
Aproveitando a oportunidade, o tutorial é simplesmente esplêndido, detalhado e de fácil compreensão para execução dos passos.
Agradeço desde já.
Solicito auxílio, pois segui todos os passos deste tutorial entretanto a partir do passo sobre Include conf/extra/httpd-ssl.conf o Apache não start mais. Estou utilizando o WAMP wampserver2.2e-php5.4.3-httpd2.2.22-mysql5.5.24-32b, porém não sei se o mesmo dá suporte ao SSL.
Poderia por gentileza me orientar sobre o que fazer?
E, como verifico se esta instalação dá suporte ao SSL.
Aproveitando a oportunidade, o tutorial é simplesmente esplêndido, detalhado e de fácil compreensão para execução dos passos.
Agradeço desde já.
05/08/2012 12:46pm
(~12 anos atrás)
Só enrosco no CA. Estou tentando configurar o conf do apache para pegar um. Mas acho que falta algo. É que sem CA algumas coisas falham. Tem idéia de como configurar uma CA pra rodar?
01/08/2012 6:33pm
(~12 anos atrás)
Bacana que achou útil IBrahim e mais ainda de que utilizou versões atualizadas.
Estava querendo atualizar o artigo e acho que já é hora de espantar a preguiça e fazer isso.
Estava querendo atualizar o artigo e acho que já é hora de espantar a preguiça e fazer isso.
01/08/2012 5:20pm
(~12 anos atrás)
Cara, nunca tinha instalado o apache com ssl antes. E agora graças a você isso foi possível. Muito obrigado. O procedimento funcionou perfeitamente com Apache 2.2.22, PHP 5.4.5 Thread Safe, MySql 5.5.25a e phpMyAdmin 3.5.2 no Windows 7 Professional 32Bits.
01/08/2012 11:12am
(~12 anos atrás)
Conforme explicado nas mensagens de e-mail, muito cuidado com as extensões que for escolher no momento da instalação. Se escolher dar suporte a Oracle ou a Postgre sem ter os requerimentos atendidos o Apache não irá iniciar.
31/01/2011 8:31pm
(~14 anos atrás)
Muito obrigado pelo rápido retorno!
Encontrei no log a seguinte mensagem:
(OS 3)The system cannot find the path specified. : httpd.exe: could not open error log file C:/Apache2/logs/error.log.
Unable to open logs
Isso ocorre após eu descomentar Include conf/extra/httpd-ssl.conf, e caso eu faça o rollback, ou seja, comente a linha novamente, consigo restartar o serviço normalmente.
Alguma idéia?
Mais uma vez muito obrigado.
Um abraço.