Publicado por Juan Pablo el 2.Sep.2007 | Comentarios (5)
Una de las tareas del desarrollador o webmaster es hacerle mantenimiento al sitio web, a menudo el mantenimiento pasa a ser la reparación de un bug o la mejora en algún script. Por lo general el sitio es desarrollado en un servidor de Desarrollo y cuando todo está en regla se migra al servidor de Producción. Pero a menudo es necesario detener toda actividad en el sitio de Producción, ¿cómo lo podemos lograr?, usando el siguiente tip:
El sitio está asociado a un archivo de configuración o setup, éste aparece llamado en todas las páginas; en consecuencia es el primer archivo leído por el servidor para mostrar cualquier página, entonces:
// config.php
$mantenimiento = 1;
$ip = '255.256.254.25';
if ( $mantenimiento )
{
if ( $_SERVER['REMOTE_ADDR'] != $ip )
die('Sitio en mantenimiento, volveremos en un momento');
}
Obviamente el $ip debe ser el ip del desarrollador, con esto cerramos el sitio a cualquier visitante que no seamos nosotros y de esta forma probar los cambios que hacemos sin causar dolor. Para regresar a producción sólo seteamos $mantenimiento en 0 y todo volverá a la normalidad.
Relacionados:
Enlace Permanente, Comentarios (5), Publicada en: PHP
Muchas gracias por el truquillo este, me viene fenomenal.
y yo que hacía esto en caliente... vamos a implementarlo, gracias.
buen punto juque. recuerda que también está la opción de usar "order allow, deny" en el .htaccess. así no hay que meter mano en los PHPs o donde sea. :)
Efectivamente tomás, ese es otro camino: para complementar la información sería algo más o menos así:
Order Deny,Allow
Deny from all
Allow from 255.256.254.25
En un .htaccess ubicado en la raíz. Pero lo que habría que hacer es reconfigurar apache para que no muestre ese feo "Forbidden".
Gracias gracias gracias por el truquillo; generalmente cuando necesitaba algo así, hacía las cosas a la mala: ponía un *.htm con un mensaje y renombraba el main para evitar accesos. Soluciones a la chilena les llaman.
Saludos!