SSL para PHP no Windows Server 2003

1

Eu tenho o Windows Server 2003 R2 com Apache 2.2.4 e PHP 5.2.6. Eu quero acessar páginas sobre https (SSL).

E eu recebo esse erro (Zend Framework GData):

Unable to find the socket transport "ssl" - enter code here did you forget to enable it when you configured PHP?

Então o que eu fiz. Fui ao php.ini e não anotei a linha

extension=php_openssl.dll

Eu também instalei o Win32 OpenSSL .

Mas nada funciona. O que devo fazer?

    
por Oto Brglez 26.01.2010 / 16:27

2 respostas

1

Ok, há vários passos para verificar aqui:

  • Primeiramente, crie um arquivo phpinfo () para verificar se a extensão SSL do PHP está realmente ativada, sei que você disse que o ativou, mas verifique se você fez isso no arquivo PHP.ini correto e se a alteração está realmente entrando em vigor.
  • Verifique se libeay32.dll e ssleay32.dll estão em algum lugar no Windows PATH
  • Verifique se php_openssl.dll está no diretório de extensões
  • Verifique se o seu arquivo phpinfo () está mostrando o diretório de extensões correto.
por 26.01.2010 / 16:35
1

Estas são as partes relevantes do tutorial em:

para continuar trabalhando usando o link .

Ok, vamos fazer as próximas etapas. ;)

  1. Criar certificado SSL e chave

a. Ekstrak OpenSSL para o seu diretório, e copie este arquivo:

openssl.cnf to .\Apache2.2.11\conf\
from folder bin, copy all files to .\Apache2.2.11\bin\

// Substitua os arquivos antigos! : D

b. Abra a janela de comandos do DOS digitando CMD no seu menu de pesquisa.

c. Digite este cd C: \ wamp \ bin \ apache \ apache2.2.11 \ bin

d. Crie uma chave privada de servidor com criptografia de 1024 bits, digitando este comando: openssl genrsa -des3 -out server.key 1024

// Ele pedirá uma senha (senha), basta digitar qualquer senha que você goste.

e. Remova a frase secreta da chave privada RSA (mantendo uma cópia de backup do arquivo original). Digite isto:

copy server.key server.key.org

openssl rsa -in server.key.org -out server.key

// Ele perguntará a frase secreta, basta digitá-la.

f. Crie um certificado autoassinado (estrutura X509) com a chave RSA que você acabou de criar. Digite isto: openssl req -new -x509 -nodes -sha1 -days 365 -key server.key -out server.crt -config C: \ wamp \ bin \ apache \ apache2.2.11 \ conf \ openssl.cnf

  1. Copie os arquivos server.key e server.crt

a. No Apache2.2.11 \ conf \, crie duas pastas nomeadas como ssl.key e ssl.crt

b. Copie o arquivo server.key para a pasta ssl.key e o arquivo server.crt para a pasta ssl.crt

  1. Edite o arquivo httpd.conf, php.ini e httpd_ssl.conf

a. Abra o arquivo httpd.conf

b. Remova o comentário "#" na linha que diz: "LoadModule ssl_module modules / mod_ssl.so

c. Remova o comentário "#" na linha que diz: Incluir conf / extra / httpd-ssl.conf

d. Abra este arquivo- > C: \ wamp \ bin \ php \ php5.3.8 \ php.ini

e. Remova o comentário ";" na linha que diz: extension = php_openssl.dll

f. Abra este arquivo - > C: \ wamp \ bin \ apache \ Apache2.2.11 \ conf \ extra \ httpd_ssl.conf

g. Encontre a linha que diz:.

h. Logo depois, mude a linha que diz:

Change the line “DocumentRoot …” to DocumentRoot “C:/wamp/www/”
Change the line “ServerName…” to ServerName localhost:443
Change the line “ErrorLog….” to Errorlog “C:/wamp/bin/apache/Apache2.2.11/logs/sslerror.log”
Change the line “TransferLog ….” to TransferLog “C:/wamp/bin/apache/Apache2.2.11/logs/sslaccess.log”
Change the line “SSLCertificateFile ….” to SSLCertificateFile “C:/wamp/bin/apache/Apache2.2.11/conf/ssl.crt/server.crt”
Change the line “SSLCertificateKeyFile ….” to SSLCertificateKeyFile “C:/wamp/bin/apache/Apache2.2.11/conf/ssl.key/server.key”
Change the line which says <Directory “C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin”> or something like that (sorry I’m forget what its default dir :p) to <Directory “C:/wamp/www/”>
Add the following lines inside those <Directory … >…</Directory> tags:
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
Change the line “CustomLog…” to CustomLog “C:/wamp/bin/apache/Apache2.2.11/logs/ssl_request.log”
  1. Verifique se funciona!

a. Nas janelas de comandos anteriores do DOS, digite httpd -t. Se ele exibir Sysntax estiver OK, vá para a próxima etapa. Se não, corrija a sintaxe errada e refaça o passo 3.

b. Reinicie o servidor Apache. Se a reinicialização for bem-sucedida, abra o navegador e digite http.s localhost /

Como vai? Funciona, né? Parabéns! : D

  1. Tente isto: htt.localhost
por 04.12.2013 / 15:59