Saltar al contenido

Instalación SSL en servidor wamp: Error en httpd-ssl.conf

Investigamos en el mundo online para mostrarte la solución para tu dilema, si tienes inquietudes puedes dejarnos la pregunta y responderemos con mucho gusto, porque estamos para servirte.

Solución:

Cómo configurar WAMPServer para usar HTTPS SSL

Este no es un proceso trivial. Con suerte, este tutorial hará que SSL funcione para usted. Sin embargo, configurarlo correctamente una vez que esté funcionando depende TOTALMENTE DE USTED.

Lectura adicional para todos los que transitan por este camino

OK,

He basado este tutorial en la creación de un sitio llamado www.wamphelpers.dev Entonces, donde sea que vea ese nombre, cámbielo por el nombre del sitio que está tratando de proteger.

Empecé creando un sitio no seguro, en wamp www wamphelpers

agregó un host virtual para ese sitio, en wampbinapacheapacheversionconfextrahttpd-vhosts.conf


    DocumentRoot "c:/wamp/www"
    ServerName localhost
    ServerAlias localhost
    
        AllowOverride All
        Require local
    



    DocumentRoot "c:/wamp/www/wamphelpers"
    ServerName wamphelpers.dev
    ServerAlias www.wamphelpers.dev
    
        AllowOverride All
        Require local
    

Agregó su nombre de dominio a C: windows system32 drivers etc hosts

Algunos verificadores de virus bloquean el acceso al archivo HOSTS, por lo que es posible que deba deshabilitar su verificador de virus o configurarlo para que no bloquee el archivo de hosts temporalmente..

127.0.0.1 wamphelpers.dev www.wamphelpers.dev
::1       wamphelpers.dev www.wamphelpers.dev

Ahora reinicie el dnscache de la siguiente manera desde una ventana de comando iniciada usando ‘Ejecutar como administrador’

net stop dnscache
net start dnscache

Luego creó un script simple en wamp www wamphelpers index.php


Ahora para activar los nuevos hosts virtuales que ha definido, edite wampbinapacheapacheversionconfhttpd.conf y encuentra esta linea

# Virtual hosts
#Include conf/extra/httpd-vhosts.conf

y quitar el # comentar personaje como tal

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

Guarda el archivo.

Ahora reinicie Apache y asegúrese de que su sitio web alojado virtualmente no seguro esté funcionando Antes de continuar.


El kit de herramientas de openssl.
Los archivos openssl.exe, ssleay32.dll y libeay32.dll vienen con, y están ubicados en, la carpeta C: wamp bin apache apachex.yz bin ¡¡Esto debería ser todo lo que necesita para crear su certificado autofirmado !!

SIN EMBARGO: Estos no me funcionaron en ninguna de las versiones de Apache que había instalado. Siempre recibí este mensaje de error.

mensaje de error

Donde el número ordinal cambió según la carpeta de la versión de Apache en la que estaba.

Si recibe este error, no se preocupe, esto es lo que debe hacer.

instale la última versión de OPENSSL TOOLKIT

Esto se puede obtener desde aquí.

NOTA: No use la versión V1.1 todavía, el equipo de PHP aún no ha compilado PHP con estos nuevos enlaces, así que quédese con la V1.0. versiones hasta que lo hagan.

Elija la última versión de ‘Win32 OpenSSLv xxx Light’ o ‘Win64 OpenSSLv xxx Light’ para que coincida con su versión instalada de WAMPServer, ya que esto es todo lo que necesita.

Esto descargará un archivo .exe que puede ejecutar para instalar este kit de herramientas.

Hará la siguiente pregunta, le sugiero que la responda así para que no termine instalando algo en C: windows system32. Después de todo, este es un conjunto de herramientas y cambia con bastante frecuencia. Es mejor mantener estas cosas separadas y no convertirlas en un sistema global.

sugerencia de instalación de openssl

Una vez que esté instalado (en la carpeta que especificó en la instalación), debería estar listo para comenzar el proceso de generación keys y certificados!


Generar keys y Certificados.

PASO 1: Genere una clave privada RSA

Primero tenemos que crearnos un certificado. El proceso normal (pagado) es crear su certificado y luego pasarlo a una autoridad de firma. Es por eso que cuesta dinero, como tienen que hacerlo, con la debida diligencia, comprobar que usted es quien dice ser y que el sitio en el que utilizará el certificado es real y legítimo.

El kit de herramientas de openssl se utiliza para generar una clave privada RSA y una CSR (solicitud de firma de certificado) que se utilizará para nuestro certificado. El primer paso es crear su clave privada RSA. Esta key es un RSA de 1024 bits key que se cifra mediante Triple-DES y se almacena en formato PEM para que sea legible como texto ASCII.

Abra una ventana de comando (cuadro Dos) usando [b]Ejecutar como administrador[/b]
Cambie el directorio al lugar donde instaló el kit de herramientas OpenSSL anterior. En mi caso este es

CD c:appsOpenSSL-Win32bin

Haga una carpeta para que se coloque la salida (para mantener ordenada la carpeta bin) Usé el sitio web

md website

Ahora ingrese este comando:

openssl genrsa -out websiteserver.key 2048

Esto debería haber creado un archivo en la carpeta del sitio web llamado servidor.key, sin contraseña key, compruebe que existe.

Paso 2: generar una CSR (solicitud de firma de certificado)

Durante la generación del CSR, se le solicitarán varios datos. Estos son los X.509 attributes del certificado. Una de las indicaciones será para “Nombre común (por ejemplo, FQDN del servidor o SU nombre) []: “.
Es importante que este campo se complete con el nombre de dominio completo del servidor que se protegerá mediante SSL.
Entonces, si el sitio web a proteger será https://www.wamphelpers.dev, luego ingrese www.wampheplers.dev en este mensaje. solía wamphelper.dev como mi ServerName es ServerName wamphelpers.dev

No ingrese nada a la pregunta: Una contraseña reto []:]Simplemente presione Entrar. Si ingresa una frase de contraseña aquí cuando comience a iniciar Apache con SSL configurado, Apache no se iniciará y le dará este mensaje de error: –

[error] Init: SSLPassPhraseDialog incorporado no es compatible con Win32

Básicamente, si ingresa una frase de contraseña, se supone que Apache lo desafiará por esa frase de contraseña cada vez que se inicie. Obviamente, esto no le hará la vida más fácil, pero principalmente en Windows no funciona y hará que Apache se bloquee cuando intente solicitar la contraseña, con el error anterior.

El comando para generar el CSR es el siguiente:

openssl req -new -key websiteserver.key -out websiteserver.csr


Example question and answers:
Country Name (2 letter code) [AU]:GB
State or Province Name (full name) [Some-State]: Hampshire
Locality Name (eg, city) []: Portsmouth
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Wamp Helpers Ltd
Organizational Unit Name (eg, section) []: Information Technology
Common Name (e.g. server FQDN or YOUR name) []: wamphelpers.dev
Email Address []: [email protected]

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: ( leave blank just hit the enter key )
An optional company name []: ( leave blank just hit the enter key )

Paso 3: generar un certificado autofirmado

En este punto, deberá generar un certificado autofirmado porque no planea que su certificado sea firmado por una CA o desea probar su nueva implementación de SSL mientras la CA está firmando su certificado.

PRE – ADVERTENCIA
Este certificado generará un error en el navegador del cliente en el sentido de que la autoridad del certificado firmante es desconocida y no confiable. Esto es inevitable ya que estamos firmando el certificado nosotros mismos, pero, por supuesto, la web de confianza no sabe quiénes somos.
Vea un ejemplo más adelante en este documento que muestra cómo decirle a su navegador que realmente confía en este certificado.

openssl x509 -req -days 365 -in websiteserver.csr -signkey websiteserver.key -out websiteserver.crt


Example output:
Loading 'screen' into random state - done
Signature ok
subject=/C=GB/ST=Hampshire/L=Portsmouth/O=WampHelpers Ltd/OU=Information Technology/CN=www.wamphelpers.dev/[email protected]
Getting Private key

Paso 4: instalación de la clave privada y el certificado

Cree estos 2 directorios bajo la versión de Apache que está utilizando.

md c:wampbinapacheapachex.y.zconfssl.key
md c:wampbinapacheapachex.y.zconfssl.crt

Y copie el archivo que acabamos de generar en ellos así:

copy websiteserver.crt c:wampbinapacheapachex.y.zconfssl.crt
copy websiteserver.key c:wampbinapacheapachex.y.zconfssl.key

Paso 5: configurar Apache para activar SSL

Edite httpd.conf, compruebe que esta línea no esté comentada

LoadModule authn_socache_module modules/mod_authn_socache.so

LoadModule ssl_module modules/mod_ssl.so

LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

Quite el comentario ‘#’ de esta línea también

Include conf/extra/httpd-ssl.conf

Luego mueve esa línea después de este bloque … así


SSLRandomSeed startup builtin
SSLRandomSeed connect builtin


# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf

Paso 6: configurar PHP para activar SSL

Edite su php.ini (use los menús de wampmanager para editar el correcto)

Eliminar el comentario ‘;’ de esta linea

extension=php_openssl.dll

Paso 7: Configure el host virtual de sus sitios seguros

Sí, para todos los que dicen los detractores de Virtual Host, ahora no pueden evitar el proceso.

Editar wampbinapacheapachex.y.zconfextrahttpd-ssl.conf

Apache publica este archivo y contiene una ubicación de archivo predeterminada. Podemos dejar la mayor parte de este archivo como está, pero necesitamos configurar el host virtual aquí para que coincida con la ubicación real de nuestros sitios y algunas otras cosas para que:

encuentra estas líneas

DocumentRoot "c:/Apache2/htdocs"
ServerName www.example.com:443
ServerAdmin [email protected]
ErrorLog "c:/Apache2/logs/error.log"
TransferLog "c:/Apache2/logs/access.log"

y cámbialos a

DocumentRoot "c:/wamp/www/wamphelpers"
ServerName wamphelpers.dev:443
ErrorLog "c:/wamp/logs/ssl_error.log"
TransferLog "c:/wamp/logs/ssl_access.log"

Encontrar

SSLCertificateFile "c:/Apache2/conf/server.crt"

y cambia a

SSLCertificateFile "c:/wamp/bin/apache/apachex.y.x/conf/ssl.crt/server.crt"

Encontrar

SSLCertificateKeyFile "c:/Apache2/conf/server.key"

y cambia a

SSLCertificateKeyFile "c:/wamp/bin/apache/apachex.y.x/conf/ssl.key/server.key"

Encontrar


    SSLOptions +StdEnvVars

y cambia a

Sintaxis de Apache 2.2


    SSLOptions +StdEnvVars
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1 localhost ::1

Sintaxis de Apache 2.4


    SSLOptions +StdEnvVars
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Require local

Encontrar

SSLSessionCache        "shmcb:c:/Apache2/logs/ssl_scache(512000)"
SSLSessionCacheTimeout  300

y cámbialo a

SSLSessionCache        "shmcb:c:/wamp/logs/ssl_scache(512000)"
SSLSessionCacheTimeout  300

Encontrar

CustomLog "c:/Apache24/logs/ssl_request.log" 
      "%t %h %SSL_PROTOCOLx %SSL_CIPHERx "%r" %b"

y cambia a

CustomLog "c:/wamp/logs/ssl_request.log" 
          "%t %h %SSL_PROTOCOLx %SSL_CIPHERx "%r" %b"

Básicamente, busque en el archivo conf y cualquier comando que no esté comentado, pero que tenga una referencia a un archivo o carpeta, debe cambiarse para hacer referencia a la estructura de carpetas de WAMPServer y no a ‘C: / Apache2 ….’

Ahora asegúrese de que todos estos archivos que hemos cambiado estén guardados y reinicie Apache usando los menús de wampmanager.

Primero pruebe que el sitio desprotegido todavía está funcionando.

Luego intente usar su nuevo sitio protegido agregando ‘https: //’ al frente del nombre de dominio, es decir https://www.wamphelpers.dev sin las comillas simples, por supuesto.

Si Apache no se reinicia probablemente haya escrito algo mal. Pruebe las configuraciones así: –

Abrir una ventana de comando

cd wampbinapacheapachex.y.zbin
httpd -t

Esto analizará todos los archivos de configuración y debería darle un nombre de archivo y un número de línea donde se encontró un error.

Solucionarlo y volver a intentarlo.

El primer acceso a su sitio generará una página de mensaje similar a esta. Esto está usando FireFox, otros serán ligeramente diferentes, pero el concepto es el mismo.

ingrese la descripción de la imagen aquí

Esto se debe a que su certificado no está firmado por una autoridad confiable, NO SE PÁNICO, se supone que esto debe suceder.

Haga clic en ‘Comprendo el riesgo’ y aparecerá un botón que dice ‘Agregar excepción’ Presione el botón Agregar excepción, después de verificar que los detalles del sitio de certificados son suyos, y no volverá a ver este mensaje a menos que borre la lista de excepciones.

GRAN NOTA
A partir de Apache v2.2.12 y OpenSSL v0.9.8j, ahora es posible proteger más de un sitio por instancia de Apache. Este tutorial no cubre ese proceso. Consulte aquí para obtener más detalles:

Aquí

y aquí

y aquí

Y como dije en la parte superior, ahora debe investigar un poco todas las opciones disponibles en la configuración de SSL y hacer que todo funcione como desee en lugar de usar el valor predeterminado.

Es necesario activar el módulo LoadModule socache_shmcb_module modules / mod_socache_shmcb.so en el archivo httpd.conf en wampserver 2.5. Si no apache lanza el siguiente mensaje:

AH00526: Error de sintaxis en la línea 75 de C: /wamp/bin/apache/apache2.4.9/conf/extra/httpd-ssl.conf: SSLSessionCache: caché de sesión ‘shmcb’ no compatible (nombres conocidos :). Tal vez necesite cargar el módulo socache apropiado (mod_socache_shmcb?).

@RiggsFolly: algunos pequeños errores / errores tipográficos / adiciones en su tutorial. A continuación se utiliza en combinación con WAMPServer 2.5 64bits (Apache 2.4.9 y PHP 5.5.12) en Windows 7 SP1 64bits:

-httpd-vhosts.conf se encuentra en extra / httpd-vhosts.conf

-Cuando intente editar su archivo de hosts, asegúrese de deshabilitar cualquier virusscanner. Algunos de ellos bloquean el acceso al archivo de hosts.

-Asegúrese de abrir su editor de texto como administrador cuando edite su archivo de hosts o de lo contrario obtendrá un error al intentar guardar.

-no olvides quitar # al principio de la línea de host si alguna

-si usa WAMPServer de 64 bits, asegúrese de descargar la versión de 64 bits de OpenSSL

-el paso openssl genrsa -out sitio web servidor.key 2048 crea un servidor.key archivo y no privkey.pem!

-file wamp bin apache apachex.yz conf httpd-ssl.conf se encuentra en wamp bin apache apachex.yz conf extra httpd-ssl.conf (tal vez esto dependa de WAMPServer versión)

-Tuve que usar diferentes puertos para http (80-> 8080) y https (443-> 444), ya que creo que Skype los usaba. Cuando use puertos diferentes, asegúrese de usarlos en todos los lugares que vea 80 o 443 en este tutorial

-También tuve que habilitar socache_shmcb_module. El “httpd -t” también menciona esto.

Sección de Reseñas y Valoraciones

Eres capaz de añadir valor a nuestra información participando con tu veteranía en las acotaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *