Para todos los que quieren cambiar la zona horaria con CentOS, Ubuntu, Fedora, Debian para sus servidores.
Estaba acostumbrado a usar tzdata pero al parecer en las versiones más «recientes» no viene por defecto. Para poder hacer el cambio de la zona horaria usaremos el comando timedatectl. Para esto necesitamos tener acceso a la máquina en donde queremos cambiar la configuración, puede ser físicamente o de manera virtual a través de una consola.
Si ocupamos simplemente el comando nos da la siguiente información :
root@MANAGER:~# timedatectl Local time: Wed 2015-11-11 09:30:44 CLT Universal time: Wed 2015-11-11 12:30:44 UTC RTC time: Wed 2015-11-11 12:30:44 Timezone: America/Santiago (CLT, -0300) NTP enabled: yes NTP synchronized: no RTC in local TZ: no DST active: n/a
En donde aparece la zona universal y la local que son los datos que nos interesan. En mi caso yo ya cambié la zona horaria de este servidor.
Ahora, veamos la lista de las zonas horarias y seleccionemos la que nos interesa. En este caso usaré grep para obtener la zona horario correspondiente a Santiago. De no usar grep esto devolvería la lista de todas las zonas horarias disponibles.
root@MANAGER:~# timedatectl list-timezones | grep Santiago
America/Santiago
Ya teniendo nuestra zona horaria simplemente le decimos al servidor que es la que queremos ocupar.
root@MANAGER:~# timedatectl set-timezone America/Santiago
La verdad es para nada complejo, puedes además hacerlo a través de php si no tienes acceso a la consola del servidor pero eso lo veremos en otra oportunidad.
Origen: Ubuntu 14.04 LTS : Set System Timezone : Server World