Datos personales

martes, 24 de noviembre de 2015

Usar Virtual Host en Apache para tener sitios web en el equipo offline

Como configurar una instalación existente del servidor Apache, para tener disponibles en el disco duro de la PC o el equipo local, sitios web completos donde navegar sin conexión. Utilizar el módulo Virtual Host para probar el funcionamiento de las páginas web antes de subirlas al servidor en internet. Tener disponible en nuestra PC el contenido y réplica de sitios web útiles.
Virtual Host es un módulo de Apache que nos permite configurar en el servidor dominios diferentes, para navegar y explorar offline de la misma forma que lo hacemos en internet.
Método ideal y muy útil para desarrolladores o aficionados que permite acceder a sitios cuyo contenido se tenga almacenado en el disco duro del equipo local. De esa forma podemos tener una copia completa o réplica de sitios para comprobar su funcionamiento antes de subir cualquier archivo nuevo o modificado al servidor en la red.
También podemos tener a mano sitios web completos, en los que buscar información a la que necesitamos acceder con frecuencia, sin tener que conectarnos a la red.
Al introducir en un navegador web la dirección url del sitio deseado, se accederá a él virtualmente, exactamente igual que si fuera navegando en internet.
El método consiste en crear y configurar en Apache varias unidades o host virtuales utilizando el módulo VirtualHost, cada una con el nombre que le corresponde en la red.



Que es Virtual Host, ventajas


Con el término Virtual Host se refiere a la posibilidad de ejecutar más de un sitio web en un único equipo. Puede estar basado en el uso de la dirección IP o el nombre del sitio, en este caso pueden ejecutarse varios sitios en una única dirección IP.
Las ventajas son evidentes ya que al ser posible que bajo una única dirección IP, se le pueda brindar servicio de hosting o alojamiento web a varios sitios, esto trae aparejado una disminución en el costo de tales servicios y por lo tanto su accesibilidad por mayor número de usuarios.
Usarlo en un equipo local convierte nuestra sencilla PC, en casi un verdadero servidor web.
Más información en: apache.org





Como crear o montar una unidad o host virtual en Apache con Virtual Host


Para crear o montar una o varias unidades o hosts virtuales en una instalación existente de Apache, sigue los siguientes pasos:
✔ Si aún no se tiene un servidor Apache funcionando en el equipo, instálalo, sigue las instrucciones de la siguiente página:
◄ Como instalar y configurar el servidor web Apache en Windows.
✔ Crea una carpeta en el equipo donde estarán los archivos de los sitios web que se quieran utilizar offline. En este ejemplo hipotético será: C:\web
✔ Crea subcarpetas, cada una con los archivos de cada sitio en su interior, deben tener el nombre original del sitio, por ejemplo: C:\web\norfipc.com.
✔ Abre el archivo de configuración de Apache httpd.conf con el Bloc de notas u otro editor de texto plano, agrégale las siguientes líneas:

✔ Sustituye los siguientes valores:
C:/servidor_web = La carpeta predeterminada del servidor.
norfi = Tu nombre
✔ Ahora por cada sitio o unidad virtual a montar agrega las siguientes líneas: ✔ Por cada nueva unidad creada suma uno al valor del parámetro: ServerAdmin norfi-host2, sustituye la ruta en cada caso y el nombre del sitio.
✔ Cierra el archivo httpd.conf y guarda los cambios.



Como navegar offline en el sitio, unidad o host virtual creado


Es necesario que cada vez que nos conectemos o desconectemos a la red, cambiar los valores en el archivo hosts, de hacerse manualmente sería tan tedioso que no valdría la pena.
Es algo sencillo si creamos una pequeña aplicación o archivo batch con solo unas líneas de código, que se encargue el al ejecutarlo renombrar dos archivos hosts diferentes para usarlos de forma alterna.
Dichos archivos hosts necesitamos crearlos previamente, uno para emplearlo al estar conectados a internet y otro al encontrarnos offline.

Crear los archivos hosts


Sigue los pasos a continuación:
Accede a la carpeta: C:\Windows\System32\drivers\etc, esta es la ubicación de tu archivo hosts.
1- Crea con el Bloc de notas un nuevo archivo de texto, renómbralo a:
hosts-internet (sin extensión de archivo)
Agrega en su interior solamente:
127.0.0.1 localhost
Guarda los cambios.
2- Crea con el Bloc de notas un nuevo archivo de texto, cámbiale el nombre a:
hosts-local (sin extensión de archivo)
Agrega en su interior:
127.0.0.1 localhost
127.0.0.1 norfipc.com

Crea tantas líneas como unidades virtuales sean creadas, cada línea con la dirección IP 127.0.0.1, a continuación un espacio en blanco seguido del nombre de la unidad o sitio.
Guarda los cambios.
3- Crea con el Bloc de notas un nuevo archivo de texto, cámbiale el nombre a: cambiar-host.cmd, puede ser cualquier nombre pero siempre terminado en la extensión: .CMD
Agrega en su interior:
@echo off
mode con cols=30 lines=7
echo Escoge
set /p host=1 Internet y 2 local:
if %host%== 1 goto internet
if %host%== 2 goto local
:internet 
pushd "%systemroot%\system32\drivers\etc"
copy "%cd%\hosts-internet" "%cd%\hosts"
exit
:local
pushd "%systemroot%\system32\drivers\etc"
copy "%cd%\hosts-local" "%cd%\hosts"
exit
PAUSE
Guarda los cambios y mueve el archivo cambiar-host.cmd al escritorio u otro lugar de fácil acceso.
El archivo batch creado permitirá al ejecutarlo alternar el uso de dos archivos hosts diferentes, uno para utilizar conectado a la red, el otro para trabajar sin conexión.
Mostrará una interface similar a la siguiente:
Escoge:
1 Internet y 2 local:
Solo será necesario escribir el número correspondiente y oprimir la tecla Enter.



Probar la unidad o host virtual creado


Solo resta para probar reiniciar el servidor Apache, a continuación ejecuta el archivo cambiar-host.cmd, selecciona la opción 2 y oprime la tecla Enter.
Introduce en el navegador web la dirección URL del sitio del que ha sido creada la unidad virtual y navega libremente.
Cualquier conflicto que surja podrá ser analizada su causa leyendo el archivo log, que se encuentra en este ejemplo en la ruta: logs/norfipc-host.-error_log





Como descargar sitios web completos para navegar en ellos offline


Si tienes uno o varios sitios web en internet, puedes tener una copia exacta de ellos en cada unidad o host virtual, también puedes descargar sitios completos que no sean muy grandes para acceder a su contenido sin necesidad de conectarse a la red. En mi caso tengo copias de sitios públicos con información técnica en las que necesito hacer consultas frecuentemente y cuyo contenido no es necesario de actualizar a menudo.
Para descargar el contenido del sitio que te interese, siempre que no sea privado y que no se infrinja ninguna regla legal puedes utilizar la pequeña aplicación WGET, que creará una copia idéntica de forma sencilla y a toda velocidad.
Puedes usar la aplicación con diversos parámetros para evitar la descarga de tipos de archivos que sea innecesarios o que cuyo tamaño retarden la tarea o hagan excesivo el tamaño de la copia.
Para eso lee las siguientes páginas en este sitio:

No hay comentarios:

Publicar un comentario