Configurando o Apache com SSL e PHP no Windows
Configurando o PHP para o Apache
Vou indicar duas formas de configurar o PHP. Uma é o modo NNF (já explicado o que é). A outra é o modo manual.
O modo manual é mais indicado para os casos de upgrade de versão de PHP. Para uma instalação limpa (do zero) o mais adequado é o modo usando o installer.
Se é a primeira vez que você instala o PHP em seu computador pode ignorar este passo e ir para a configuração NNF.
O primeiro passo para realizar um upgrade é fazer backup da configuração atual. Apenas compacte o seu diretório de isntalação do php.
Para ambos os métodos você deve parar o serviço do Apache. Isso pode ser feito digitando em um prompt de comando:
Modo Manual
Renomeie o arquivo php.ini para meu.php.ini
Baixe o pacote de instalação do PHP.
No momento em que escrevo este manual a versão disponível mais atual é a 5.2.12 que pode ser obtida através da URL http://br.php.net/get/php-5.2.12-Win32.zip/from/this/mirror.
Se estiver simulando um ambiente instale a mesma versão do servidor alvo.
Descompacte o conteúdo do arquivo no mesmo diretório onde o php está atualmente instalado e mande sobrescrever todos os arquivos (ex.:C:\php).
Abra o arquivo httpd.conf que está dentro do diretório conf do Apache e adicione ou substitua as seguintes linhas:
.
Certifique-se de alterar o caminho para o diretório do PHP corretamente alterando todas as referências para o caminho correto.
Copie o arquivo libmysql.dll contido na raiz do diretório de instalação do php para o diretório System32 do Windows sobrescrevendo a existente (se houver) ou para o diretório bin do Apache. Isto vai lhe poupar um monte de problemas com relação a conexão com o MySQL, muito comum quando se atualiza o PHP.
Abra o arquivo php.ini existente (se houver) e faça as modificações tendo como base seu arquivo de backup (meu.php.ini). Caso não haja nenhum arquivo php.ini você pode renomear de volta seu arquivo de backup. Preste atenção as seguintes linhas de exemplos:
Verifique se estas entradas existem e se o caminho corresponde corretamente à pasta de instalação do PHP.
Modo NNF
Execute o arquivo de instalação (no momento de escrever este manual a versão mais atual era a 5.2.12). Esta pode ser obtida a partir do link http://br.php.net/get/php-5.2.12-win32-installer.msi/from/this/mirror .
→
Escolha o diretório de destino ou use o padrão informado
Escolha a versão do Webserver para qual vai instalar o PHP como módulo. No nosso caso devemos selecionar a versão Apache 2.2
Neste momento devemos indicar ao instalador o diretório onde se encontra o arquivo de configuração do Apache (httpd.conf).
Navegue até o diretório conf do Apache e selecione-o. Clique em Next após tê-lo feito
Na configuração da instalação selecione os elementos que desejar.
Eu indico a seguinte escolha:
Em Extensions: GD2, Multi-Byte String, MySQL, PDO→MySQL, XML-RPC, XSL.
Caso vá utilizar Oracle e já tenha o client instalado selecione também Oracle e PDO→Oracle. em Extra: Pear Install
Clique em NEXT Finalize clicando em Install e depois em Finish.
Neste momento a instalação está concluída e ao iniciar o Apache ele já deverá carregar o PHP como módulo.
Extensões PECL e Pear precisarão ser adicionadas manualmente. O pacote de extensões PECL pode ser encontrado em http://museum.php.net/php5/pecl-5.2.6-Win32.zip. Esta é a versão mais atualizada e provavelmente não deverão sair novas versões visto que os itens mais recentes estão sendo embutidos junto com as extensões que acompanham o pacote principal.
Descompacte o conteúdo deste pacote dentro do diretório de extensões do PHP (ext). Para ativar uma extensão pecl contida neste pacote adicione uma linha para ele no php.ini.
Ex.:
Extensões Pear precisarão ser instaladas via comando ou manualmente. Cada pacote possui suas próprias características e portanto devem seguir suas próprias instruções.
Para a instalação manual o Pear deve ser instalado executando-se o arquivo go-pear.bat que se encontra dentro do diretório onde foi instalado o PHP.
Qualquer dúvida estou a disposição para esclarecê-las.
Vou indicar duas formas de configurar o PHP. Uma é o modo NNF (já explicado o que é). A outra é o modo manual.
O modo manual é mais indicado para os casos de upgrade de versão de PHP. Para uma instalação limpa (do zero) o mais adequado é o modo usando o installer.
Se é a primeira vez que você instala o PHP em seu computador pode ignorar este passo e ir para a configuração NNF.
O primeiro passo para realizar um upgrade é fazer backup da configuração atual. Apenas compacte o seu diretório de isntalação do php.
Para ambos os métodos você deve parar o serviço do Apache. Isso pode ser feito digitando em um prompt de comando:
net stop apache2
**NOTA** Neste exemplo não vou usar a versão 5.3 por achar que ainda é incomum ter esta versão em hosts. A instalação desta versão em nada difere da 5.2 e caso deseje usá-la baixe esta versão ao invés da indicada.
Modo Manual
Renomeie o arquivo php.ini para meu.php.ini
Baixe o pacote de instalação do PHP.
No momento em que escrevo este manual a versão disponível mais atual é a 5.2.12 que pode ser obtida através da URL http://br.php.net/get/php-5.2.12-Win32.zip/from/this/mirror.
Se estiver simulando um ambiente instale a mesma versão do servidor alvo.
Descompacte o conteúdo do arquivo no mesmo diretório onde o php está atualmente instalado e mande sobrescrever todos os arquivos (ex.:C:\php).
Abra o arquivo httpd.conf que está dentro do diretório conf do Apache e adicione ou substitua as seguintes linhas:
# Adicionando o módulo php ao apache LoadModule php5_module c:/php/php5apache2_2.dll # Adicionando suporte a extensão .php AddType application/x-httpd-php .php # configure o caminho para o arquivo php.ini PHPIniDir "c:/php"
Certifique-se de alterar o caminho para o diretório do PHP corretamente alterando todas as referências para o caminho correto.
Copie o arquivo libmysql.dll contido na raiz do diretório de instalação do php para o diretório System32 do Windows sobrescrevendo a existente (se houver) ou para o diretório bin do Apache. Isto vai lhe poupar um monte de problemas com relação a conexão com o MySQL, muito comum quando se atualiza o PHP.
Abra o arquivo php.ini existente (se houver) e faça as modificações tendo como base seu arquivo de backup (meu.php.ini). Caso não haja nenhum arquivo php.ini você pode renomear de volta seu arquivo de backup. Preste atenção as seguintes linhas de exemplos:
; Caminho para o diretório de extensões. extension_dir = "C:/php/ext/" ; Caminho para o arquivo de log de error. error_log = "c:/php/log/php_error.log" ; Path do php. Usado para buscar arquivos sem a necessidade de indicar o caminho completo include_path=".;C:/php/pear"
Verifique se estas entradas existem e se o caminho corresponde corretamente à pasta de instalação do PHP.
Modo NNF
Execute o arquivo de instalação (no momento de escrever este manual a versão mais atual era a 5.2.12). Esta pode ser obtida a partir do link http://br.php.net/get/php-5.2.12-win32-installer.msi/from/this/mirror .
→
Escolha o diretório de destino ou use o padrão informado
Escolha a versão do Webserver para qual vai instalar o PHP como módulo. No nosso caso devemos selecionar a versão Apache 2.2
Neste momento devemos indicar ao instalador o diretório onde se encontra o arquivo de configuração do Apache (httpd.conf).
Navegue até o diretório conf do Apache e selecione-o. Clique em Next após tê-lo feito
Na configuração da instalação selecione os elementos que desejar.
Eu indico a seguinte escolha:
Em Extensions: GD2, Multi-Byte String, MySQL, PDO→MySQL, XML-RPC, XSL.
Caso vá utilizar Oracle e já tenha o client instalado selecione também Oracle e PDO→Oracle. em Extra: Pear Install
Clique em NEXT Finalize clicando em Install e depois em Finish.
Neste momento a instalação está concluída e ao iniciar o Apache ele já deverá carregar o PHP como módulo.
Extensões PECL e Pear precisarão ser adicionadas manualmente. O pacote de extensões PECL pode ser encontrado em http://museum.php.net/php5/pecl-5.2.6-Win32.zip. Esta é a versão mais atualizada e provavelmente não deverão sair novas versões visto que os itens mais recentes estão sendo embutidos junto com as extensões que acompanham o pacote principal.
Descompacte o conteúdo deste pacote dentro do diretório de extensões do PHP (ext). Para ativar uma extensão pecl contida neste pacote adicione uma linha para ele no php.ini.
Ex.:
extension = php_extensao.dll
Para a instalação manual o Pear deve ser instalado executando-se o arquivo go-pear.bat que se encontra dentro do diretório onde foi instalado o PHP.
Qualquer dúvida estou a disposição para esclarecê-las.
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.