lunes, 22 de abril de 2013

Configuración de zona horaria para un servidor con Apache y PHP (Ubuntu Server)


Pues ya estoy de regreso de lleno a la rama de IT, ahora tengo menos tiempo, pero el día a día me volverá a dar mucho para escribir en este blog, así es que aprovechando les cuento:

Muchas veces cuando tenemos un servidor hosteado en la nube están configurados de manera estandar para todo el mundo, esto quiere decir que no usan la del país o región donde nosotros estamos, lo más común es que tengan el Meridiano "0" también conocido como la hora Universal "UTC".

En mi caso estoy en la ciudad de México, entonces yo quiero usar mi zona horaria, la cual es "America/Mexico_City", pero número uno, cómo saber su zona horaria? pueden buscar todas las zonas horarias que soporta Linux en la carpeta: "/usr/share/zoneinfo/"

Una vez que tengamos ubicada nuestra zona horaria tenémos que configurar la en el servidor, eso lo hacemos de la siguiente manera:

  1. Primero configuramos el archivo timezone:
    • sudo ln -sf /usr/share/zoneinfo/America/Mexico_City /etc/localtime 
  2. Luego exportamos los valores
    • TZ='America/Mexico_City'; export TZ
  3. Asignamos un servidor para actualizar la hora
    • sudo /usr/bin/rdate -s nist1.aol-va.symmetricom.com

Ahora, también es recomendable hacerlo para el PHP, ustedes pueden definir una zona horaria por default en el php.ini tendrán que poner la siguiente linea
date.timezone = America/Mexico_City
Y reiniciamos el apache para que aplique los cambios
sudo /etc/init.d/apache2 reload
Ahora ya tenemos configurado el servidor con nuestra zona horaria por default.