Linode is a heavyweight Linux cloud hosting provider for technically oriented VPS users. I have been using Linode for several years now and I can’t say enough good things about them. As opposed to some of their competitors, Linode users are expected to know their way around Linux (or at least have the motivation to learn). Five years ago, when I first signed up with them and provisioned my first distro, I had never even logged into Linux. Fast forward to today and while I still have quite a bit to learn, I am very comfortable setting up, securing and hardening a new server and performing ongoing maintenance.
Their documentation and tutorials are very detailed and helpful and their support team is exceptional. Over the years I have worked with many of them, even gotten to know a few well, and the entire team is a class act. Support techs have always been friendly and very patient with me and always willing to go above and beyond.. again, as long as you are willing to show some motivation and at least try to work out your issues (Google, check the Linode forums, etc.) a support tech will always be available to help guide you to your final solution.
The Linode data centers are super stable and are outfitted with top-tier servers and equipment. Finally, they have a very diverse pricing structure and are always UPGRADING the packages. Several times, RAM and SSD Storage has gone up while the package price has never changed! Good luck seeing that with any of the other providers!
Over the years, I have assembled a set of different tutorials and documents that I use when provisioning, setting-up, securing and hardening a new server and finally have decided to compile them all in one place. So this blog post/tutorial is primarily for me but hopefully it can help you get your first (or hundredth) server online. If you have any question please do not hesitate to leave them here and I will try to respond as soon as possible! Good luck…
Welcome to Linode!
This tutorial will help you sign up for an account, set up a Linux distribution, boot your Linode, and perform some basic system administration tasks. If you’ve already created an account and booted your Linode, skip ahead to Connect to Your Linode via SSH.
If you haven’t already signed up for a Linode account, start with this section.
- Create a new account at the Linode Sign Up page.
- Sign in and enter your billing and account information. Linode accounts are usually activated instantly, but some require manual review prior to activation. If your account is not immediately activated, you will receive an email with additional instructions.
- Select a Linode plan and data center location:
If you’re not sure which data center to select, use our speed test to determine which location provides the best performance for your target audience. You can also generate MTR reports for each of the data centers to determine which of our facilities provides the best latency from your particular location.
Provision Your Linode
After your Linode is created, prepare it for operation by setting up a Linux distribution.
Log In to the Linode Manager
The Linode Manager is a web-based control panel that allows you to manage your Linode virtual servers and services. Log in with the username and password you created when you signed up. After you’ve created your first Linode, you can use the Linode Manager to:
- Boot and shut down your virtual server,
- Access monitoring statistics,
- Update your billing and account information,
- Request support and perform other administrative tasks.
Deploy an Image
Once you’ve created a new Linode, click the name or Dashboard to open the Linode Manager Dashboard.
- Click on Deploy an Image to reach the Deploy page.
- Select a Linux distribution from the Image menu. You can choose from:
If you’re new to the Linux operating system, consider selecting Ubuntu 16.04 LTS. Ubuntu is the most popular distribution among Linode customers and one of the most well-supported by online communities, so resolving any issues you may have should be simple.
- Enter a size for the disk in the Deployment Disk Size field. By default all of the available space is allocated, but you can set a lower size if you plan on cloning a disk or creating multiple configuration profiles. You can always create, resize, and delete disks later.
- Select a swap disk size from the Swap Disk menu.
- Enter a root password for your Linode in the Root Password field. This password must be provided when you log in to your Linode via SSH. It must be at least 6 characters long and contain characters from two of the following categories:
- lowercase and uppercase case letters
- punctuation characters
- Click Deploy. The Dashboard’s Host Job Queue area will report the deployment progress in real time.
NoteUse a StackScript to quickly deploy software platforms and system configuration options to your Linux distribution. Some of the most popular StackScripts do things like install the Apache web server, configure a firewall, and set up the WordPress content management system.
Boot Your Linode
Your Linode is now provisioned with the distro of your choice but it’s turned off, as indicated in the Dashboard.
- Click Boot to turn on your Linode.
- When booted, the Server Status will change from Powered Off to Running and there will be a successfully completed System Boot job in the Host Job Queue.
Connect to Your Linode via SSH
Communicating with your Linode is usually done using the secure shell (SSH) protocol. SSH encrypts all of the data transferred between the SSH client application on your computer and the Linode, including passwords and other sensitive information. There are SSH clients available for every operating system.
- Linux: You can use a terminal window, regardless of desktop environment or window manager.
- Mac: The Terminal application comes pre-installed with OS X and can be launched from Applications > Utilities.
- Windows: There is no native SSH client, but you can use a free, open source application called PuTTY.
Find your Linode’s IP Address
Your Linode has a unique IP address that identifies it to other devices and users on the internet.
Find your Linode’s IP address from the Linode Manager.
- Click the Linodes tab.
- Select your Linode.
- Click the Remote Access tab.
- Copy the addresses in the Public IPs section.
In this example, the Linode’s IPv4 address is 126.96.36.199 and its IPv6 address is 2600:3c03::f03c:91ff:fe70:cabd. Unless your internet service provider supports IPv6, use the IPv4 address.
Once you have the IP address and an SSH client, you can log in via SSH. The following instructions are written for Linux and Mac OS X. If you’re using PuTTY as your SSH client in Windows, follow these instructions.
- Enter the following into your terminal window or application. Replace the example IP address with your Linode’s IP address:
- If this is the first time connecting to your Linode, you’ll see the authenticity warning below. This is because your SSH client has never encountered the server’s key fingerprint before. Type
yesand press Enter to continue connecting.
The authenticity of host '198.51.100.4 (198.51.100.4)' can't be established. RSA key fingerprint is 11:eb:57:f3:a5:c3:e0:77:47:c4:15:3a:3c:df:6c:d2. Are you sure you want to continue connecting (yes/no)?
After you enter
yes, the client confirms the addition:
Warning: Permanently added '198.51.100.4' (RSA) to the list of known hosts.
- The login prompt appears for you to enter the password you created for the
- The SSH client initiates the connection. When the connection is completed the following prompt appears:
If you recently rebuilt an existing Linode, you might receive an error message when you try to reconnect via SSH. SSH clients try to match the remote host with the known keys on your desktop computer, so when you rebuild your Linode, the remote host key changes.To reconnect via SSH, revoke the key for that IP address.
For Linux and Mac OS X:
ssh-keygen -R 198.51.100.4
For Windows, PuTTY users must remove the old host IP addresses manually. PuTTY’s known hosts are in the registry entry:
Install Software Updates
The first thing you should do after connecting to your Linode is update the Linux distribution’s software. This applies the latest security patches and bug fixes to help protect your Linode against unauthorized access.
Installing software updates should be performed regularly.
Ubuntu / Debian
apt-get update && apt-get upgrade
NoteUbuntu may prompt you when the Grub package is updated. If prompted, select
keep the local version currently installed.
emaint sync -a
After running a sync, it may end with a message that you should upgrade Portage using a
--oneshot emerge command. If so, run the Portage update. Then update the rest of the system:
emerge --uDN @world
slackpkg update slackpkg upgrade-all
Set the Hostname
A hostname is used to identify your device in an easy-to-remember format. The hostname is stored in the
/etc/hostname file. Your system’s hostname should be something unique. Some people name their servers after planets, philosophers, or animals. Note that the hostname has no relationship to websites or email services hosted on it, aside from providing a name for the system itself. Your hostname should not be “www” or anything too generic. If you want to assign your system a fully qualified domain name, see our guide on using your system’s hosts file.
Once you’re done, you can verify by running the command
Arch / CentOS 7 / Debian 8 / Fedora / Ubuntu 16.04 and above
example_hostname with one of your choice.
hostnamectl set-hostname example_hostname
Debian 7 / Slackware / Ubuntu 14.04
example_hostname with one of your choice.
echo "example_hostname" > /etc/hostname hostname -F /etc/hostname
hostname with one of your choice.
echo "HOSTNAME=example_hostname" >> /etc/sysconfig/network hostname "hostname"
Enter the following commands to set the hostname, replacing
example_hostname with the hostname of your choice:
echo "HOSTNAME="example_hostname"" > /etc/conf.d/hostname /etc/init.d/hostname restart
hosts file, located at
/etc/hosts, creates static associations between IP addresses and hostnames, with higher priority than DNS. Open this file in a text editor and add a line for your Linode’s public IP address. You can associate this address with your Linode’s Fully Qualified Domain Name (FQDN) if you have one, and with the local hostname you set in the steps above. In the example below,
203.0.113.10 is the public IP address,
hostname is the local hostname, and
hostname.example.com is the FQDN.
127.0.0.1 localhost.localdomain localhost 203.0.113.10 hostname.example.com hostname
If you have IPv6 enabled on your Linode, you may also want to add an entry for your IPv6 address:
1 2 3
127.0.0.1 localhost.localdomain localhost 203.0.113.10 hostname.example.com hostname 2600:3c01::a123:b456:c789:d012 hostname.example.com hostname
The value you assign as your system’s FQDN should have an “A” record in DNS pointing to your Linode’s IPv4 address. For Linodes with IPv6 enabled, you should also set up an “AAAA” record in DNS pointing to your Linode’s IPv6 address. For more information on configuring DNS, see Adding DNS Records.
For more information about the
hosts file and how to configure it, see Using your System’s hosts File
Set the Timezone
By default, your Linode will be set to UTC time. You may want to change this to the timezone you live in, or where a majority of your users live, to make log file timestamps more sensible.
Debian / Ubuntu
Arch Linux / CentOS 7 / Fedora
- View a list of available time zones:
- Use the
Page Downkeys to navigate. Find the time zone you want. Remember it, write it down, or copy it as a mouse selection. Then press q to exit the list.
- Set the time zone:
timedatectl set-timezone 'America/New_York'
- View a list of available time zones:
- Write the selected time zone to the
echo "EST" > /etc/timezone
- Configure the
sys-libs/timezone-datapackage, which will set
emerge --config sys-libs/timezone-data
Check the Time
View the current date and time according to your server.
Thu Feb 16 12:17:52 EST 2018
Now that you have an up-to-date Linode, secure your server and your Linode Manager from unauthorized access. Read the Securing Your Server guide and the Linode Manager Security Controls guide to get you going. Make sure you follow Linode system status and maintenance updates by visiting the Linode Status page and by subscribing to Linode status updates.