Question

How do i change hostname?

How do i change the hostname of a running server?

Show comments

Submit an answer


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

KFSys
Site Moderator
Site Moderator badge
May 26, 2020
Pinned Answer

Hi all,

To change the hostname of your server, you’ll need to follow 4 quick and easy steps. Let’s begin:

Enter your Droplet

Firstly, you’ll need to SSH to your Droplet with either root or a sudo user. You can do that using the command

ssh root@YourDropletIP

Another way would be using the droplet’s console from your Control Panel with DigitalOcean.

Change the hostname using hostnamectl

The first step once you have entered the droplet would be to use the hostnamectl command. Let’s say we want to name our droplet ‘ExampleName’. To do so, we need to execute the command like so

sudo hostnamectl set-hostname ExampleName

The hostnamectl command does not produce output. On success, 0 is returned, a non-zero failure code otherwise.

Update the /etc/hosts file

Next on our list would be to update the hosts file located in the etc folder. You can use any editor you want from nano, vi, vim.

sudo nano /etc/hosts

In there you’ll see something similar to

# Your system has configured 'manage_etc_hosts' as True.
# As a result, if you wish for changes to this file to persist
# then you will need to either
# a.) make changes to the master file in /etc/cloud/templates/hosts.debian.tmpl
# b.) change or remove the value of 'manage_etc_hosts' in
#     /etc/cloud/cloud.cfg or cloud-config from user-data
#
127.0.1.1 PreviousNameHere
127.0.0.1 localhost

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Change the line which says the following

127.0.1.1 PreviousNameHere

to be

127.0.1.1 ExampleName

Save the file and exit.

Here I want to do a disclaimer, the line 127.0.1.1 PreviousNameHere Will actually contain your previous hostname and not PreviousNameHere.

Edit the cloud.cfg file

It’s possible you have the cloud-init package installed. In such a case, you’ll need to update one last file - /etc/cloud/cloud.cfg.

First, check if the file exists

ls -lah /etc/cloud/cloud.cfg

If the package is installed the output will look like the following:

-rw-r--r-- 1 root root 3.5K May 26 07:01 /etc/cloud/cloud.cfg

If it isn’t installed

ls: cannot access '/etc/cloud/cloud.cfg': No such file or directory

In the case it’s installed, you’ll need to edit it as well. Open the file,

sudo nano /etc/cloud/cloud.cfg 

Find the line

# This will cause the set+update hostname module to not operate (if true)
preserve_hostname: false

and change it to be

# This will cause the set+update hostname module to not operate (if true)
preserve_hostname: true

Save the file and exit.

That’s it, you are ready now!!

To make sure everything is working properly, execute the command

hostnamectl

Regards, KFSys

Do the following:

  • Step 1. sudo nano /etc/hosts

  • Step 2. change 127.0.1.1 your-current-hostname to 127.0.1.1 your-new-hostname. Then save the file.

  • Step 3. sudo nano /etc/hostsname

  • Step 4. change currently entered hostname in that file and enter your new hostname. Save the file after.

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Become a contributor for community

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

DigitalOcean Documentation

Full documentation for every DigitalOcean product.

Resources for startups and SMBs

The Wave has everything you need to know about building a business, from raising funding to marketing your product.

Get our newsletter

Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.

New accounts only. By submitting your email you agree to our Privacy Policy

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.