Últimos artículos
Loading...
miércoles, 2 de enero de 2013

Pagekite dominios locales y Drupal.

miércoles, enero 02, 2013
Buenas! este año nuevo les traigo un regalito :)


  1. Caso: tenemos en nuestro servidor local varios dominios de desarrollo(Obviamente configurados con VirtualHost).
  2. Queremos darle salida externa y de manera rápida y eficiente al exterior, ya sea que estas en la playa y desde tu movil ir trabajando como si estuvieras en tu maquina local, configurando el sitio, etc. Para mostrarselo al cliente y que no piense que todo este tiempo nos la hemos pasado viendo videos de gatitos! o para buscar ayuda a algún fallo, etc.
  3. Una de las soluciones es configurar con algún servicio de DNS gratuito, solución vetusta en estos tiempos.
  4. Usar un servicio como localtunnel (no se por que pero es lento, corre con fallos, y la documentación brilla por su ausencia, sumado a que nunca lo pude hacer funcionar con el dominio personalizado de desarrollo) Y la instalación es un dolor de muelas!
  5. Usar Pagekite! Opto por este servicio.


¿Como se usa?
Yo tengo este dominio de desarrollo llamado sitio1.dev por ejemplo (Noten que esta configurado con virtualhost)


Simplemente se van al sitio de Pagekite http://pagekite.net/ arriba a la derecha tienen los pasos para instalarlo. realmente muy simple. Tiene soporte para Windoors, Linux, Android, OSX. :)

Una vez instalado solo ejecutan en consola(Al menos en linux lo hago así)

$pagekite.py --signgup

El sistema les va pidiendo los datos de registro. O de lo contrario ejecutan:

$pagekite.py 80 tunombre.pagekite.me Y el proceso de registro empieza.

Una vez finalizado estos pasos, automáticamente te dará como respuesta que el proceso se creo de manera correcta y puedes acceder a la url personalizada.

https://tunombre.pagekite.me

Pero un momento, eso va a direccionar a tu localhost! Entonces acá viene lo interesante.

Simplememnte ejecutamos
$pagekite.py sitio1.dev:80 tunombre.pagekite.me +rewritehost

Listo ya tienes tu servidor local accesible en tu dominio personalizado! Ahora tus clientes o los curiosos pueden visitar tu desarrollo local.

Pero un momento! eso no sirve en Drupal, ¿por que? Por que por defecto todas las llamadas a CSS o Scripts lo hace con una ruta absoluta! a tu dominio local...

Solucion 1:

Ir a tu settings.php y configurar tu $base_url y $cookie_domain con la url de pagekite, quedaria asi:

$base_url = 'https://tunombre.pagekite.me' ; // NO trailing slash!
$cookie_domain = '.tunombre.pagekite.me';

Pero solo funcionaria cuando estés usando el servicio con el dominio de pagekite.

Solución 2:

Por defecto Pagekite nos envia en los headers un array con el dominio de pagekite:

$_SERVER['HTTP_X_OLD_HOST'] = "tunombre.pagekite.me" Genial lo vamos a usar como referencia.

En tu settings.php:
if(isset($_SERVER['HTTP_X_OLD_HOST']) && $_SERVER['HTTP_X_OLD_HOST'] != ""){

     //pagekite.py sitio1.dev:80 tunombre.pagekite.me +rewritehost

$base_url = 'https://' . $_SERVER['HTTP_X_OLD_HOST'] ;  // NO trailing slash!

$cookie_domain = '.' . $_SERVER['HTTP_X_OLD_HOST'];

}

Listo! Drupal tomara la ruta que contiene $_SERVER['HTTP_X_OLD_HOST'] para armar las urls absolutas siempre y cuando estén en pagekite, mientras que en local las rutas absolutas seguiran trabajando de la misma manera de siempre.

Receta simple fácil y extremadamente útil!
Ojo: Pagekite tiene un costo mensual muy económico, que vale la pena gastar para tan buen servicio.

Referencias Pagekite Quickstar

Be happy!


1 Comentarios:

  1. Fascinating blog! Your depiction is attention-grabbing. Thanks for sharing your valued vision. Selecting a Content Management System is extremely essential moving forward. I have used Drupal. Because SinceI found out the most innovative Ivy League schools use Durpal, everything clicked For a development platform I picked GetPantheon including features like Git version control which content management system have you used?

    ResponderEliminar

 
Toggle Footer