🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo cambiar la zona horaria en DirectAdmin (guía paso a paso)

Actualizado el 12 de junio de 2026

¿Por qué es importante tener la hora correcta en tu servidor?

Antes de ponernos manos a la obra, es fundamental que entiendas por qué esto es más importante de lo que parece. Tener la hora incorrecta en tu servidor DirectAdmin puede provocar errores muy molestos: correos electrónicos con marcas de tiempo erróneas, certificados SSL que no se validan correctamente, registros de errores (logs) confusos y problemas con las tareas programadas (cron jobs). Imagina que un cliente te envía un correo a las 3 de la tarde, pero en tu servidor son las 9 de la mañana. El caos está asegurado.

Además, muchos servicios de terceros, como pasarelas de pago o APIs, verifican la sincronización horaria de tu servidor por razones de seguridad. Si tu reloj está desfasado por más de unos minutos, podrías recibir rechazos inesperados. Por eso, cambiar zona horaria directadmin es una tarea de mantenimiento básico que todo administrador debería dominar, incluso si no eres un experto en Linux.

Requisitos previos y consideraciones iniciales

Para llevar a cabo este proceso, necesitarás acceso al panel de control de DirectAdmin como administrador principal (admin) o, en su defecto, acceso SSH al servidor. Si solo tienes acceso como usuario revendedor o de correo, no podrás modificar la zona horaria global del sistema, aunque sí podrías cambiar la tuya en algunas aplicaciones web como Roundcube o PHP, pero eso es un parche, no la solución real.

La hora del servidor se gestiona en dos capas:

  1. La hora del sistema operativo (Linux). Es la hora base que usa todo el servidor.
  2. La hora de PHP. Es la que usan tus sitios web y aplicaciones.

Lo ideal es configurar ambas correctamente. En esta guía te enseñaré a hacerlo de forma segura y paso a paso. Recuerda que cualquier cambio que hagas puede afectar a los servicios en ejecución, así que te recomiendo hacerlo en horas de poco tráfico si es posible.

Método 1: Cambiar la zona horaria desde el panel de DirectAdmin (Interfaz Web)

Este es el método más sencillo y recomendado para la mayoría de los usuarios. DirectAdmin incluye una opción nativa para ajustar la zona horaria del sistema sin necesidad de tocar la consola. Sigue estos pasos:

  1. Accede a tu panel de DirectAdmin como administrador principal. La URL suele ser https://tu-dominio.com:2222 o https://tu-ip:2222.

  2. Una vez dentro, busca el menú "System Info & Utilities" (Información y utilidades del sistema). En versiones recientes, puede aparecer como "System" o un icono de engranaje.

  3. Dentro de ese menú, busca la opción llamada "Time Zone" o "Zona Horaria". Haz clic en ella.

  4. Verás un listado desplegable con todas las zonas horarias disponibles. Selecciona la que corresponda a tu ubicación. Por ejemplo, si estás en Madrid, España, deberías elegir Europe/Madrid. Si estás en México D.F., elige America/Mexico_City. Es importante que uses la nomenclatura estándar de "Continente/Ciudad".

  5. Después de seleccionar tu zona, haz clic en el botón "Save" o "Update".

  6. ¡Importante! DirectAdmin te preguntará si deseas actualizar también la hora del reloj del sistema. Acepta la opción que dice "Sync with NTP" o "Update System Clock" si está disponible. Esto sincronizará la hora con un servidor de tiempo externo para mayor precisión.

Una vez hecho esto, la hora base del servidor debería cambiar. Para verificar que todo ha ido bien, puedes ejecutar el comando date en la terminal o simplemente revisar la hora en el panel.

Método 2: Cambiar la zona horaria por SSH (Línea de comandos)

Si prefieres el control total o el panel no te funciona, puedes hacerlo directamente en el sistema operativo. Este método es más técnico pero igual de efectivo. Conecta por SSH a tu servidor con el usuario root o un usuario con privilegios sudo.

Paso 1: Ver la hora actual

Lo primero es ver qué hora tiene el servidor en este momento. Escribe:

date

Te mostrará la hora y la zona horaria actual (si está configurada). También puedes ver el archivo de configuración directamente:

cat /etc/timezone

Este archivo contiene una línea de texto simple con la zona horaria (por ejemplo, Etc/UTC).

Paso 2: Cambiar la zona horaria con timedatectl (Recomendado)

La mayoría de las distribuciones Linux modernas (como Ubuntu 18.04+, Debian 9+, CentOS 7+) usan systemd, por lo que puedes usar el comando timedatectl para listar y cambiar la zona.

Primero, lista todas las zonas disponibles para encontrar la tuya:

timedatectl list-timezones | grep -i madrid

O si buscas por país:

timedatectl list-timezones | grep -i mexico

Una vez localizada, aplícala con el siguiente comando. Por ejemplo, para poner la hora de Madrid:

sudo timedatectl set-timezone Europe/Madrid

Para verificar que se ha aplicado correctamente, ejecuta de nuevo:

timedatectl

Verás una línea que dice "Time zone: Europe/Madrid (CEST, +0200)". Esto confirma que directadmin timezone se ha actualizado a nivel de sistema.

Paso 3: Cambiar la zona horaria manualmente (Método clásico)

Si tu sistema no usa systemd o prefieres el método antiguo, puedes hacerlo editando archivos de configuración.

  1. Elimina el archivo de zona horaria actual y crea un enlace simbólico al nuevo.

    sudo rm -f /etc/localtime
    sudo ln -s /usr/share/zoneinfo/Europe/Madrid /etc/localtime
    

    Sustituye Europe/Madrid por la ruta de tu zona. Puedes encontrarlas en /usr/share/zoneinfo/.

  2. Actualiza el archivo /etc/timezone (en sistemas Debian/Ubuntu):

    echo "Europe/Madrid" | sudo tee /etc/timezone
    
  3. Reinicia el servicio cron para que las tareas programadas usen la nueva hora:

    sudo systemctl restart cron
    

    O si usas SysVinit: sudo service cron restart.

Configurar la zona horaria de PHP en DirectAdmin

Este paso es crucial. Aunque hayas cambiado la hora del sistema, PHP puede tener su propia configuración que anula la del servidor. Si tus aplicaciones web muestran la hora incorrecta, el problema suele estar aquí.

Método A: Desde el panel de DirectAdmin

  1. Ve a "Custom Build" en el menú principal de administrador.

  2. En la pestaña "PHP", busca la opción de configuración. A menudo hay un botón llamado "Configure PHP.ini".

  3. Dentro del archivo php.ini, busca la línea que dice ;date.timezone =. Debes quitar el punto y coma (;) al principio para descomentarla y escribir tu zona horaria.

    Debería quedar así:

    date.timezone = Europe/Madrid
    
  4. Guarda el archivo y reinicia PHP. Puedes hacerlo desde el mismo panel en la sección de "Services" (Servicios) o ejecutando:

    sudo systemctl restart httpd
    

    O si usas PHP-FPM: sudo systemctl restart php-fpm.

Método B: Vía SSH

Si prefieres la consola, puedes editar el php.ini directamente. La ruta puede variar, pero suele estar en /usr/local/lib/php.ini o /etc/php.ini.

sudo nano /usr/local/lib/php.ini

Busca la línea de date.timezone y modifícala. Después, reinicia el servidor web:

sudo systemctl restart httpd

Verificar que todo funciona correctamente

Después de realizar los cambios, es hora de comprobar que todo está en orden.

  1. Verifica la hora del sistema:

    date
    

    Debería mostrar la hora correcta de tu zona.

  2. Verifica la hora de PHP. Crea un archivo temporal en tu dominio principal:

    echo "<?php echo date('Y-m-d H:i:s'); ?>" > /var/www/html/tiempo.php
    

    Luego accede a http://tu-dominio.com/tiempo.php en tu navegador. Debería mostrarte la hora correcta. Si es así, perfecto. Si no, es que PHP está usando una caché de opcache. Reinicia PHP de nuevo.

  3. Revisa los logs del sistema. Asegúrate de que los mensajes de error y los registros de acceso tienen la hora correcta.

Solución de problemas comunes (FAQ)

[WARNING] Mi servidor sigue mostrando la hora UTC aunque cambié la zona en DirectAdmin.

Esto es normal si no has reiniciado los servicios. Después de cambiar la zona horaria en el panel, ve a "System Info" -> "Services" y reinicia "Cron" y "HTTPD". Si el problema persiste, verifica que el archivo /etc/localtime apunta a la zona correcta.

[INFO] ¿Qué hago si no encuentro mi ciudad en la lista?

No te preocupes. La lista usa nombres de ciudades grandes. Si vives en una ciudad pequeña, busca la más cercana o la capital de tu país. Por ejemplo, si vives en Valencia, España, puedes usar Europe/Madrid, ya que comparten la misma zona horaria.

[TIP] ¿Debo usar NTP para sincronizar la hora automáticamente?

Sí, es muy recomendable. Tener un reloj que se desvía unos segundos cada día puede causar problemas. Instala ntp o chrony para mantener la hora sincronizada automáticamente con servidores de tiempo atómicos.

[WARNING] Ten cuidado con los contenedores o VPS.

Si tu servidor es un VPS o un contenedor (como Docker o LXC), es posible que la hora la controle el host (el servidor físico). En ese caso, los cambios que hagas dentro del contenedor podrían no tener efecto o ser revertidos. Deberás contactar con tu proveedor de hosting para que ajuste la zona horaria a nivel de host.

[INFO] ¿Afecta esto a mis cuentas de correo?

Sí, indirectamente. La hora que se muestra en los correos entrantes y salientes se basa en la hora del servidor. Si cambias la zona horaria, los nuevos correos tendrán la hora correcta. Los correos antiguos conservarán la hora que tenían en su momento, lo cual es lógico.

Conclusión y buenas prácticas finales

Cambiar zona horaria directadmin es un proceso sencillo si sigues los pasos adecuados. Ya sea desde el panel de control o por SSH, lo importante es que la hora del sistema y la de PHP estén sincronizadas con tu ubicación geográfica.

Aquí tienes un resumen de las mejores prácticas:

  • Siempre usa la nomenclatura Continente/Ciudad en lugar de abreviaturas como CST o GMT+2, ya que estas últimas pueden ser ambiguas y no tienen en cuenta el horario de verano.
  • Reinicia los servicios después de hacer cualquier cambio para asegurarte de que se aplican correctamente.
  • Configura NTP para evitar desviaciones en el reloj a largo plazo.
  • Documenta el cambio en tus notas de administración para saber qué zona horaria está configurada en cada servidor.

Si has llegado hasta aquí, ya eres capaz de configurar hora directadmin sin problemas. Este conocimiento te ahorrará muchos quebraderos de cabeza con los logs de errores, las tareas programadas y la comunicación con tus clientes.

Recuerda que si estás usando un panel alternativo como Syspanel (antes conocido como HestiaCP), el proceso es similar, pero el acceso se realiza a través del puerto 2106 y las rutas de configuración pueden variar ligeramente. En Syspanel, la opción de zona horaria suele estar en "Configuración del servidor" o directamente editando el archivo /etc/syspanel/syspanel.conf. La lógica es la misma: cambiar la zona horaria del sistema y de PHP.

Espero que esta guía te haya sido de gran ayuda. Si tienes alguna duda, no dudes en consultar la documentación oficial de DirectAdmin o preguntar a tu proveedor de hosting. ¡Buena suerte con tu servidor!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel