+5

Configurando o Apache com SSL e PHP no Windows

criado por Marcos Regis em 01/10/2009 10:50pm
Criando um Virtual Host para usar SSL
Os comandos a seguir serão todos executados em um prompt de comando.
Vá em IniciarExecutar 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"
Caso tenha alterado será necessário alterar o comando para apontar para o diretório correto.
Já dentro da pasta correta digite o commando:
openssl genrsa -des3 -out server.key 1024
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):
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
Será pedido a senha do primeiro passo. Digite-a.
Vamos criar o arquivo de chave sem senha. Execute o comando:
openssl rsa -in server.key -out server.key
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:
Copy server.* ..\conf\*

Comentários:

Mostrando 1 - 10 de 17 comentários
Rossano disse:
Olá Marcos,

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.
05/08/2012 8:39pm (~5 anos atrás)

Marcos Regis disse:
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 (~5 anos atrás)

Marcos Regis disse:
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 (~5 anos atrás)

Marcos Regis disse:

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 (~5 anos atrás)

Rossano disse:
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á.
05/08/2012 12:46pm (~5 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 (~5 anos atrás)

Marcos Regis disse:
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.
01/08/2012 5:20pm (~5 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 (~5 anos atrás)

Perfeito, funcionou direitinho!
04/04/2012 11:48am (~5 anos atrás)

Marcos Regis disse:
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 (~6 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)