Cloud-Hosted Hostname Solution
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 Services™ uses the google_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.