[{"data":1,"prerenderedAt":28},["ShallowReactive",2],{"doc-en-vps-timezone-configuration":3},{"path":4,"slug":5,"title":6,"description":7,"category":8,"subcategory":9,"icon":10,"date":11,"author":12,"order":13,"image":14,"tags":15,"keywords":19,"docGroup":25,"docGroupIcon":25,"link_fr":26,"bodyHtml":27},"\u002Fdocs\u002Fen\u002Fvps\u002Fvps-linux\u002Fvps-timezone-configuration","vps-timezone-configuration","How to Configure Your VPS's Timezone","Configure your Winheberg VPS's timezone with timedatectl or on Alpine Linux, and check NTP synchronization.","vps","vps-linux","tabler:file-text","2026-07-24","Winheberg",6,"\u002Fstatics\u002Fimages\u002Fdocs\u002Fen\u002Fvps-linux\u002Fvps-timezone-configuration.webp",[8,16,17,18],"timezone","timedatectl","ntp",[20,21,22,23,24],"vps timezone","timedatectl set-timezone","ntp linux vps","alpine tzdata","europe\u002Fparis vps","","\u002Fdocs\u002Fvps-linux\u002Fconfigurer-fuseau-horaire-vps","\u003Ch2>Context\u003C\u002Fh2>\n\u003Cp>You just rented a \u003Cstrong>Linux VPS\u003C\u002Fstrong> at Winheberg and want to check or change its timezone? At Winheberg, every VPS ships \u003Cstrong>preconfigured on the \u003Ccode>Europe\u002FParis\u003C\u002Fcode> timezone\u003C\u002Fstrong> to save you this step. But if you live in another part of the world, or want to use a different timezone (for example \u003Cstrong>UTC\u003C\u002Fstrong> for international infrastructure), this guide shows you how.\u003C\u002Fp>\n\u003Cp>Setting the \u003Cstrong>right timezone\u003C\u002Fstrong> is essential for readable logs, scheduled tasks (cron) that run at the right time, and correct dates across all your applications.\u003C\u002Fp>\n\u003Cp>This guide covers every distribution we offer, namely Debian 11\u002F12\u002F13, Ubuntu 23.10\u002F24.04\u002F25.04, AlmaLinux 9\u002F10, Rocky Linux 9\u002F10, Fedora 41\u002F42, and Alpine Linux 3.22.\u003C\u002Fp>\n\u003Ch2>Why set the right timezone?\u003C\u002Fh2>\n\u003Cp>When your VPS is misconfigured, several issues can show up day to day. \u003Cstrong>System logs\u003C\u002Fstrong> show a shifted time, which complicates debugging. \u003Cstrong>Cron jobs\u003C\u002Fstrong> don&#39;t run at the intended time. \u003Cstrong>Emails sent\u003C\u002Fstrong> from the server carry an incorrect timestamp. And \u003Cstrong>web applications\u003C\u002Fstrong> show the wrong time to your users.\u003C\u002Fp>\n\u003Cp>In short, it&#39;s a quick step worth doing as soon as you set up your VPS.\u003C\u002Fp>\n\u003Ch2>Prerequisites\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>An active \u003Cstrong>Linux VPS\u003C\u002Fstrong> at Winheberg\u003C\u002Fli>\n\u003Cli>Root SSH access to your server\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Set the timezone based on your distribution\u003C\u002Fh2>\n\u003Cdiv class=\"md-tabs\" data-md-tabs>\u003Cdiv class=\"md-tabs__nav\" role=\"tablist\">\u003Cbutton type=\"button\" role=\"tab\" class=\"md-tabs__btn md-tabs__btn--active\" data-md-tab=\"0\" aria-selected=\"true\">Debian, Ubuntu, AlmaLinux, Rocky, Fedora (systemd)\u003C\u002Fbutton>\u003Cbutton type=\"button\" role=\"tab\" class=\"md-tabs__btn\" data-md-tab=\"1\" aria-selected=\"false\">Alpine (OpenRC)\u003C\u002Fbutton>\u003C\u002Fdiv>\u003Cdiv class=\"md-tabs__body\">\u003Cdiv role=\"tabpanel\" class=\"md-tab__panel md-tab__panel--active\" data-md-panel=\"0\">\u003Cp>These distributions all use \u003Cstrong>systemd\u003C\u002Fstrong>, and therefore the \u003Ccode>timedatectl\u003C\u002Fcode> command, which makes managing the timezone very simple.\u003C\u002Fp>\n\u003Ch3>1. Check the current timezone\u003C\u002Fh3>\n\u003Cp>Connect to your VPS via SSH, then run the following command.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">timedatectl\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>You&#39;ll get a result similar to this.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>               Local time: Mon 2026-05-18 16:32:10 CEST\n           Universal time: Mon 2026-05-18 14:32:10 UTC\n                 RTC time: Mon 2026-05-18 14:32:10\n                Time zone: Europe\u002FParis (CEST, +0200)\nSystem clock synchronized: yes\n              NTP service: active\n          RTC in local TZ: no\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The \u003Cstrong>Time zone\u003C\u002Fstrong> line shows the current timezone. Here, the server is correctly set to \u003Ccode>Europe\u002FParis\u003C\u002Fcode>, which corresponds to \u003Cstrong>CEST\u003C\u002Fstrong> in summer (\u003Ccode>+0200\u003C\u002Fcode>) or \u003Cstrong>CET\u003C\u002Fstrong> in winter (\u003Ccode>+0100\u003C\u002Fcode>). This is our VPS&#39;s default configuration.\u003C\u002Fp>\n\u003Cp>If you see a different timezone (for example \u003Ccode>Etc\u002FUTC\u003C\u002Fcode>), move to the next step to change it.\u003C\u002Fp>\n\u003Ch3>2. List available timezones\u003C\u002Fh3>\n\u003Cp>Linux has a complete database of world timezones. To list them, use the following command.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">timedatectl list-timezones\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The list is long. To filter by region, add a \u003Ccode>grep\u003C\u002Fcode>. For example, to show only European timezones.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">timedatectl list-timezones | grep Europe\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>You&#39;ll see \u003Ccode>Europe\u002FParis\u003C\u002Fcode>, \u003Ccode>Europe\u002FLondon\u003C\u002Fcode>, \u003Ccode>Europe\u002FBerlin\u003C\u002Fcode>, etc. show up.\u003C\u002Fp>\n\u003Cdiv class=\"markdown-alert markdown-alert-tip\">\u003Cspan class=\"alert-icon\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"M12 16v-4\"\u002F>\u003Cpath d=\"M12 8h.01\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\u003Cdiv class=\"markdown-alert-body\">\u003Cp>For metropolitan France, the right timezone is always \u003Cstrong>\u003Ccode>Europe\u002FParis\u003C\u002Fcode>\u003C\u002Fstrong>. It automatically handles the switch between daylight saving and standard time, with no action needed on your part.\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Ch3>3. Change the timezone\u003C\u002Fh3>\n\u003Cp>Once you&#39;ve identified the timezone that fits your needs, apply it with the \u003Ccode>timedatectl set-timezone\u003C\u002Fcode> command.\u003C\u002Fp>\n\u003Cp>For France, for example.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">timedatectl set-timezone Europe\u002FParis\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>No confirmation message, that&#39;s normal. The command is silent when everything goes well.\u003C\u002Fp>\n\u003Cp>For other regions, here are a few common examples.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\"># UTC (useful for international infrastructure)\ntimedatectl set-timezone Etc\u002FUTC\n\n# Belgium \u002F Netherlands\ntimedatectl set-timezone Europe\u002FBrussels\n\n# Switzerland\ntimedatectl set-timezone Europe\u002FZurich\n\n# Canada (Montreal)\ntimedatectl set-timezone America\u002FMontreal\n\n# United States (New York)\ntimedatectl set-timezone America\u002FNew_York\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>4. Check that the change was applied\u003C\u002Fh3>\n\u003Cp>Rerun the \u003Ccode>timedatectl\u003C\u002Fcode> command to confirm.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">timedatectl\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The \u003Cstrong>Time zone\u003C\u002Fstrong> line should now show the new timezone, and the local time should match reality.\u003C\u002Fp>\n\u003Cp>You can also simply type \u003Ccode>date\u003C\u002Fcode> to see the current time.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">date\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>5. Check NTP synchronization\u003C\u002Fh3>\n\u003Cp>Having the right timezone is good. But your server&#39;s actual time also needs to be accurate. That&#39;s the role of the \u003Cstrong>NTP\u003C\u002Fstrong> (\u003Cem>Network Time Protocol\u003C\u002Fem>) protocol, which automatically syncs your VPS&#39;s clock with reference time servers.\u003C\u002Fp>\n\u003Cp>Check that NTP synchronization is active.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">timedatectl\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>You should see these two lines.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>System clock synchronized: yes\n              NTP service: active\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>If that&#39;s not the case, enable it with this command.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">timedatectl set-ntp true\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cdiv class=\"markdown-alert markdown-alert-important\">\u003Cspan class=\"alert-icon\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Cpath d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10z\"\u002F>\u003Cpath d=\"M12 8v4\"\u002F>\u003Cpath d=\"M12 16h.01\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\u003Cdiv class=\"markdown-alert-body\">\u003Cp>Without NTP synchronization, your VPS&#39;s clock can drift by several seconds a day, which can cause issues for SSL certificates, databases, or scheduled tasks.\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cdiv role=\"tabpanel\" class=\"md-tab__panel\" data-md-panel=\"1\" hidden>\u003Cp>Alpine doesn&#39;t use systemd, so the \u003Ccode>timedatectl\u003C\u002Fcode> command doesn&#39;t exist. The process is different, but still simple.\u003C\u002Fp>\n\u003Ch3>1. Install the timezone data\u003C\u002Fh3>\n\u003Cp>By default, Alpine doesn&#39;t include the full timezone database to stay lightweight. You first need to install the \u003Ccode>tzdata\u003C\u002Fcode> package.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">apk add tzdata\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>2. Check the current timezone\u003C\u002Fh3>\n\u003Cp>To see the time and timezone used on your server, run the following command.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">date\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>You&#39;ll get something like this.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Mon May 18 16:32:10 CEST 2026\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>3. List available timezones\u003C\u002Fh3>\n\u003Cp>All timezones are stored in \u003Ccode>\u002Fusr\u002Fshare\u002Fzoneinfo\u002F\u003C\u002Fcode>. To browse the European ones, for example.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">ls \u002Fusr\u002Fshare\u002Fzoneinfo\u002FEurope\u002F\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>4. Change the timezone\u003C\u002Fh3>\n\u003Cp>To apply a timezone, you create a symbolic link to the matching zone file at \u003Ccode>\u002Fetc\u002Flocaltime\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>For France, for example.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">ln -sf \u002Fusr\u002Fshare\u002Fzoneinfo\u002FEurope\u002FParis \u002Fetc\u002Flocaltime\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>For other common regions.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\"># UTC\nln -sf \u002Fusr\u002Fshare\u002Fzoneinfo\u002FEtc\u002FUTC \u002Fetc\u002Flocaltime\n\n# Belgium\nln -sf \u002Fusr\u002Fshare\u002Fzoneinfo\u002FEurope\u002FBrussels \u002Fetc\u002Flocaltime\n\n# Canada (Montreal)\nln -sf \u002Fusr\u002Fshare\u002Fzoneinfo\u002FAmerica\u002FMontreal \u002Fetc\u002Flocaltime\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>You can also save the timezone persistently in \u003Ccode>\u002Fetc\u002Ftimezone\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">echo &quot;Europe\u002FParis&quot; &gt; \u002Fetc\u002Ftimezone\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>5. Check the change\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-bash\">date\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The time should now match the chosen timezone.\u003C\u002Fp>\n\u003Ch3>6. NTP synchronization on Alpine\u003C\u002Fh3>\n\u003Cp>On Alpine, the NTP service is called \u003Ccode>chronyd\u003C\u002Fcode> or \u003Ccode>openntpd\u003C\u002Fcode>. To install and enable chrony (the simplest option), run these commands.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">apk add chrony\nrc-update add chronyd\nrc-service chronyd start\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Your Alpine VPS is now synced to the real time 🎯\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Ch2>If you run into trouble\u003C\u002Fh2>\n\u003Cp>Here are the most common errors you might run into.\u003C\u002Fp>\n\u003Ch3>❌ timedatectl, command not found on Alpine\u003C\u002Fh3>\n\u003Cp>That&#39;s normal, Alpine doesn&#39;t use systemd. Use the \u003Cstrong>Alpine tab\u003C\u002Fstrong> above with symbolic links instead.\u003C\u002Fp>\n\u003Ch3>❌ The timezone changes but the time stays wrong\u003C\u002Fh3>\n\u003Cp>Check that the NTP service is actually active. On Debian, Ubuntu, Fedora, Rocky, and AlmaLinux, the \u003Ccode>timedatectl\u003C\u002Fcode> \u003Ccode>set-ntp true\u003C\u002Fcode> option is enough. On Alpine, install and start \u003Ccode>chrony\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch3>❌ Failed to set time zone, Access denied\u003C\u002Fh3>\n\u003Cp>You don&#39;t have administrator rights. Prefix the command with \u003Ccode>sudo\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">sudo timedatectl set-timezone Europe\u002FParis\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>❌ On Alpine, ls \u002Fusr\u002Fshare\u002Fzoneinfo\u002F returns few files\u003C\u002Fh3>\n\u003Cp>You haven&#39;t installed \u003Ccode>tzdata\u003C\u002Fcode>. Run \u003Ccode>apk add tzdata\u003C\u002Fcode> then try again.\u003C\u002Fp>\n\u003Ch2>Need help?\u003C\u002Fh2>\n\u003Cp>If you run into an issue setting up your VPS&#39;s timezone, our team is here. Open a ticket in the \u003Cstrong>Technical\u003C\u002Fstrong> department from your client area and fill in the \u003Cstrong>Related Product\u003C\u002Fstrong> field with the VPS in question.\u003C\u002Fp>\n\u003Cp>Your VPS is now on the right time 🕐, ready for your logs, your crons, and your applications.\u003C\u002Fp>\n",1788993144573]