Four things to do:

  • Add the hostname entry to /etc/hosts. Use the format detailed here.

  • If your hostname is "your_hostname", type hostname your_hostname at a command prompt to make the change effective.

  • Define the hostname in /etc/sysconfig/network to make this setting persist across reboots.

  • Reboot the system or restart services that depend on hostname (cups, syslog, apache, sendmail, etc.)


If by domain name you mean domain suffix, then /etc/resolv.conf is where the domain goes. Just add a line domain yourdomain.com

Then to set your server's hostname, there's only one good place for it, and it's /etc/sysconfig/network. Add a line HOSTNAME=yourhostname, and don't put the domain suffix in the hostname, as it will take it from /etc/resolv.conf.

You do not need to add anything (and shouldn't) in /etc/hosts to define your hostname. This is the wrong way to do it.

To test your setup, use the hostname command:

  • Use hostname -s to get the short name (should reflect what you have in /etc/sysconfig/network

  • Use the hostname -d command to test your domain (should reflect what you have in /etc/resolv.conf)

  • To test it all together, you can use hostname -f or hostname -A for the very long version.