Меняем часовой пояс и синхронизируем время сервера

Наш сервер может быть настроен не совсем так, как нам нужно. Особенно, если он расположен не в России и не у нашего хостера. Или наш хостер криворук.

Проверим. Вводим в консоле команду date и получаем, например такое

Mon Apr 14 21:44:37 EDT 2014

Очевидно, что EDT это совсем не наш часовой пояс

Меняем его так

  1. mv /etc/localtime /etc/localtime-old
  2. ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime

И теперь мы видим результат date

Tue Apr 15 05:45:00 MSK 2014

Уже круто. Но еще не всё.

В php.ini меняем date.timezone = UTC на date.timezone = Europe/Moscow

Это позволит нам получать правильное значение по команде php date();

И наконец, если со временем что-то не так, то его можно синхронизировать с помощью пакета ntp, используя любую из команд

  1. ntpdate -d ntp.ru
  2. ntpdate -d ntp1.imvp.ru
  3. ntpdate -d ntp.nasa.gov
  4. ntpdate -d time.nist.gov