Curso de Virtual Host y SSL en Xampp

Curso de Virtual Host y SSL en Xampp

Vamos a Crear Dominios Virtuales en Xampp. y asi dejamos de usar y meter todos nuestros proyectos en la carpeta xampp\htdocs

Ahora piensa en un solo nombre de dominio que abarcará a todos tus proyectos web. Esto te servirá para probar por ejemplo las apps de Google o Facebook y no tienes que estar creando varias apps. mis apps de desarrollador en facebook  apuntan a *.web.sem por lo que esta misma app de facebook lo puedo probar con todos mis proyectos y no tengo que estar creando varias apps en facebook.

En mi caso mi dominio virtual de pruebas es:

web.sem

de modo que mis proyectos formarán parte de sus subdominios. Ejemplo.

proyecto.web.sem
biblioteca.web.sem
otro.web.sem

Vamos a desarrollar un Ejercicio:

  1. 1.- Crear una pagina web y guardarlo en: E:\html_public\proyecto\
  2. 2.- Crear y Administrar Dominios Virtuales.
  3. 3.- Crear y Autofirmar Certificados SSL.
  4. 4.- Instalar Certificados SSL
  5. 5.- Acceder a la Página con la siguiente Dirección: proyecto.web.sem con protocolos http: y https:

Desarrollaremos este ejercicio en los siguientes videos.

Ayudas:

Archivo de httpd-vhosts.conf de Xampp

Autorizar La Carpeta Personalizada.

<Directory "E:/html_public">
	Options Indexes FollowSymLinks Includes ExecCGI
	AllowOverride All
	Require all granted
</Directory>

Crear virtualhost http://proyecto.web.sem

<VirtualHost proyecto.web.sem:80>
   ServerName proyecto.web.sem
   DocumentRoot "E:/html_public/proyecto"
</VirtualHost>

Crear virtualhost SSL https://proyecto.web.sem

<VirtualHost proyecto.web.sem:443>
   ServerName proyecto.web.sem
   DocumentRoot "E:/html_public/proyecto"
   SSLEngine on
   SSLCertificateFile "C:/xampp/apache/conf/certificados/websem.crt"
   SSLCertificateKeyFile "C:/xampp/apache/conf/certificados/websem.key"
</VirtualHost>

CREAR Y AUTOFIRMAR CERTIFICADO SSL

Consola de Windows Modo Administrador

cd C:\xampp\apache\conf\certificados
openssl req -new -nodes -keyout websem.key -out websem.csr -days 365
openssl x509 -req -days 365 -in websem.csr -signkey websem.key -out websem.crt

 ACTUALIZACIÖN: los codigos anteriores generan certificados V1 y los navegadores actuales ya no los admiten. Para poder autofirmar un certificado V3 con todos los datos requeridos por los navegadores actuales (subjectAltName es un dato obligatorio que solo ver en la V3 de los certificados), debemos crear un archivo de configuración personalizada y luego crear y autofirmar añadiendo el parametro -config C:/xampp/apache/conf/certificados/crear.conf

codigo para el archivo: C:/xampp/apache/conf/certificados/crear.conf (recuerda cambiar los datos por los tuyos)

[ca]
copy_extensions = copy
[req]
prompt = no
default_bits = 2048
default_keyfile = websem.key
encrypt_key = no
distinguished_name = req_distinguished_name
string_mask = utf8only
req_extensions = v3_req
x509_extensions	= v3_ca

[v3_ca]
subjectAltName = @alternate_names
keyUsage = digitalSignature, keyEncipherment

[req_distinguished_name]
C=PE
ST=Arequipa
L=Arequipa
O=Sem Soft Peru
OU=WebSite Developers
CN=*.web.sem
emailAddress=semsof@semsoft-peru.com

[v3_req]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment

[alternate_names]
DNS.1 = www.web.sem
DNS.2 = test.web.sem
#DNS.3 = añadir todos los que desees

Como podrás notar los datos que ingresabamos manualmente al momento de solicitar la petición lo hemos ingresado en este archivo personalizado por lo tanto ahora no te pedirá ningún dato y ejecutará mas rapido.

// en cmd navegar hasta la carpeta donde desees crear los certificados.
//cd C:/xampp/apache/conf/certificados

openssl req -out websem.csr -newkey rsa:2048 -nodes -keyout websem.key -config C:/xampp/apache/conf/certificados/crear.conf
openssl req -new -x509 -key websem.key -sha256 -out websem.crt -days 365 -config C:/xampp/apache/conf/certificados/crear.conf
openssl x509 -in websem.crt -text -noout

 

Fecha: Nov 04, 2016 Nro de Vistas: 8369
Invítame un Café

Si nuestros tutoriales te ayudaron una manera de dar gracias es apoyándonos. Esto nos permitirá seguir publicando mas tutoriales.