Overview
To configure VPS deployments, many cloud hosting providers use the dhclient
script, which includes the configuration of the instance’s hostname.
The dhclient
script may not preserve the locally-configured hostname, so hosting providers use scripts to work around this issue. For example, Google Cloud Platform Servicesgoogle_set_hostname
script.
The workaround scripts may interfere with WHM’s Change Hostname feature (WHM >> Home >> Networking Setup >> Change Hostname), which causes hostname configuration issues and a locked cPanel & WHM license.
The solution
To resolve this issue, you must create a dhclient
exit hook script to set the hostname properly.
Create the zzz-set-hostname.sh
file with the following contents in the /etc/dhcp/dhclient-exit-hooks.d/
directory, where hostname.example.com
represents your server’s new hostname:
#!/bin/sh
hostname hostname.example.com
/scripts/fixetchosts
You can also create the file with the following command, where hostname.example.com
represents your server’s new hostname:
mkdir -p /etc/dhcp/dhclient-exit-hooks.d/ && echo -ne '#!/bin/shnhostname hostname.example.comn/scripts/fixetchostsn' > /etc/dhcp/dhclient-exit-hooks.d/zzz-set-hostname.sh && chmod +x /etc/dhcp/dhclient-exit-hooks.d/zzz-set-hostname.sh
Make certain that you set the zzz-set-hostname.sh
file with 0755 permissions. If you don’t perform this action, the script won’t run.