Tenho tentado aprender como configurar SSL com apache 2.0 no Windows com mod_ssl, certifiquei-me de que o arquivo mod_ssl.so esteja no diretório do módulo e o arquivo de configuração esteja incluído no diretório conf (httpd-ssl.conf), habilitou o módulo removendo o comentário da opção LoadModule para mod_ssl.so.
Criei um certificado autoassinado e coloquei o arquivo crt e o arquivo-chave no diretório conf.
As informações no meu arquivo de configuração SSL são as seguintes:
<VirtualHost _default_:443>
ServerAdmin [email protected]
DocumentRoot "D:/Dev-Ops/apache/Apache2/htdocs/secure/"
ServerName localhost:443
ServerAlias localhost:443
SSLEngine on
SSLEnable
SSLCertificateFile "D:/Dev-Ops/apache/Apache2/conf/server.cert"
SSLCertificate "D:/Dev-Ops/apache/Apache2/conf/server.key"
</VirtualHost>
Tenho certeza de que posso estar fazendo algo errado aqui (sou um novato no Apache e em todas essas coisas). Atualmente recebo um erro dizendo:
Erro de sintaxe na linha 8 de D:/Dev-Ops/apache/Apache2/conf/httpd-ssl.conf: Comando inválido 'SSLEnable', talvez escrito incorretamente ou definido por um módulo não incluído na configuração do servidor
Minhas perguntas são:
Preciso ter o OpenSSL instalado (já o tenho instalado) no meu computador para que o mod_ssl funcione? Em caso afirmativo, há algo que preciso configurar para garantir que ambos se comuniquem?
O que há de errado com a configuração do VirtualHost acima? e o que posso fazer para acertar?
Cada versão do Apache precisa ter uma versão específica do mod_ssl? em caso afirmativo, onde posso obter o arquivo binário mod_ssl.so para download (é muito agitado encontrar esse arquivo minúsculo! ou estou procurando nos lugares errados!), se ele precisar ter uma versão específica do mod_ssl, o que seria a melhor versão para Apache 2.0?
O que está causando o erro que mencionei acima? (Certifiquei-me de que meus arquivos estão no lugar certo, todas as diretivas de configuração estão habilitadas, etc.).
Por favor, você pode sugerir um bom lugar/livro/link para eu começar a aprender mais sobre o servidor web apache e suas diversas aplicações em ambientes de produção?
Por favor, alguém pode me ajudar logo? Toda a sua ajuda será muito apreciada.
ATUALIZAR
Eu retirei o host virtual para o seguinte:
<VirtualHost _default_:443>
DocumentRoot "D:/Dev-Ops/apache/Apache2/htdocs/secure/"
SSLCertificateFile "D:/Dev-Ops/apache/Apache2/conf/server.cert"
SSLCACertificatePath "D:/Dev-Ops/apache/Apache2/conf/"
</VirtualHost>
e recebo o seguinte erro exibido no navegador:
Quando tento o mesmo com as seguintes diretivas de configuração (com SSLEngine ativado)
<VirtualHost _default_:443>
DocumentRoot "D:/Dev-Ops/apache/Apache2/htdocs/secure/"
SSLEngine on
SSLCertificateFile "D:/Dev-Ops/apache/Apache2/conf/server.cert"
SSLCACertificatePath "D:/Dev-Ops/apache/Apache2/conf/"
</VirtualHost>
Estou recebendo o seguinte erro no arquivo error.log:
[error] Init: SSLPassPhraseDialog builtin is not supported on Win32 (key file D:/Dev-Ops/apache/Apache2/conf/server.cert)
Eu fiz muitas pesquisas sobre como remover a senha e regenerar o certificado, substituindo o existente por um recém-produzido; no entanto, isso não parece funcionar para mim! Estou começando a me perguntar se o problema é a versão do meu mod-ssl (como posso/onde posso descobrir se é compatível com a versão do meu apache! e se não for compatível, onde posso obter o arquivo . então arquive para acertar as coisas!)
Por favor, alguém pode me explicar isso? e me ajude a resolver esse problema!
Responder1
Preciso ter o OpenSSL instalado (já o tenho instalado) no meu computador para que o mod_ssl funcione? Em caso afirmativo, há algo que preciso configurar para garantir que ambos se comuniquem?
Depende de como você o instalou. Você deve usar o MSI que termina com -win32-x86-openssl
, que deve ter tudo o que você precisa.
O que há de errado com a configuração do VirtualHost acima? e o que posso fazer para acertar?
Remove SSLEnable
, não é uma diretiva válida.
Cada versão do Apache precisa ter uma versão específica do mod_ssl? em caso afirmativo, onde posso obter o arquivo binário mod_ssl.so para download (é muito agitado encontrar esse arquivo minúsculo! ou estou procurando nos lugares errados!), se ele precisar ter uma versão específica do mod_ssl, o que seria a melhor versão para Apache 2.0?
Veja a resposta à sua primeira pergunta, parece que você precisa instalar a partir do MSI correto; o .so
arquivo não inclui tudo o que você precisa para obter uma configuração SSL funcional.
O que está causando o erro que mencionei acima? (Certifiquei-me de que meus arquivos estão no lugar certo, todas as diretivas de configuração estão habilitadas, etc.).
Veja a resposta à segunda pergunta.
Por favor, você pode sugerir um bom lugar/livro/link para eu começar a aprender mais sobre o servidor web apache e suas diversas aplicações em ambientes de produção?
A documentação é um bom lugar para começar, pesquisandoapache2aqui pode ser um bom recurso, e há muitos documentos de instruções na Internet.
Responder2
Você deveria ler odocumentação mod_ssl. Você verá que não há nenhuma diretiva SSLEnable
aí.