Introduction

Linode is a cloud hosting provider that offers a wide of cloud computing services at an affordable price. This includes Virtual Private Servers (VPS), managed by Kubernetes clusters and other infrastructure solutions. It was founded in 2003 and in 2022, Akamai acquired Linode for $900 million.

What is a VPS?

A VPS, or Virtual Private Server, is a virtualized server that acts as an independent and isolated server within a physical server or a larger cloud-based infrastructure. It's a popular hosting solution that offers a balance between the cost-effectiveness of shared hosting and the control and flexibility of a dedicated server. Think of it as having a server that won't clog up space in your living room. You can choose between the dedicated option (more expensive 💵) or the cheaper alternative, the shared solution. However, it is on a case-by-case basis where you will choose which option is best for you.

Setting up a Linode server

  1. Create a Linode Account:

    • Go to the Linode website (linode.com).

    • Sign up for an account by providing your email, password, and billing information. You can also use Github and Google as single sign-on options.

  2. Choose a Plan:

    • Once you're logged in, you should be at the dashboard, it is here where you shall be asked to create a "Linode"

      • image
      • You will be sent to another page whereby you have to then select a ew option before deploying your Linode.

  3. Select an Image (Distribution):

    • Choose an operating system image. Linode offers a variety of options, including different Linux distributions and application stacks.

    • For most beginners, Ubuntu is the best Linux distro. It is best to use the most recent if you want to be always updated with the latest features and security updates. Or if you want more stability, then use the LTS version instead as it is the more recent and most stable.

  4. Choose a Data Center:

    • Select a data centre location for your server. Choose one that's geographically close to your target audience for better performance. Or one that is closest to your geographical location if it will be a personal setup. Not all areas are covered e.g. Africa so you'll have to try to pick one that is closest.

  5. Choose a Plan:

    • Once you're logged in, select a plan that suits your needs. Linode offers various plans with different resources.

    • This is where you can pick if you want a dedicated CPU (Mr moneybags) or the shared option - which is around $5 dollars a month.

  6. Set Linode label:

    • This will basically be the name of your Linode and will be a unique name to differentiate from others, should you have others.

  7. Configure Server Options:

    • Set a root password or add your SSH key if you prefer SSH access.

    • Choose any additional options you need, such as backups or node balancers.

  8. Deploy Your Linode:

    • Click the "Create" or "Deploy" button to create your Linode server. This will provision the server with the chosen image and options.

      • image

Accessing your Server

Once your server is deployed, you'll receive an IP address. You can access your server via SSH using the following command (replace your_server_ip with your actual IP address):

ssh root@your_server_ip

Secure your server

Once you're in, I am sure you want to play around and deploy your fancy app or host your grandma's blog. You have to remember that this is a brand new instance and thus will need to be secured with the latest updated and packages. This is where you need to know some CLI - command line interface - knowledge. It can be daunting at first but you'll get the hang of it.

  • Update your server's packages: apt update && apt upgrade (for Debian/Ubuntu) or yum update (for CentOS).

  • Configure a firewall (e.g. using ufw on Debian/Ubuntu or firewalld on CentOS) to restrict incoming and outgoing traffic.

  • Disable the root login and password authentication for SSH. Instead, use SSH keys for secure access.

Final Steps...

From here you can install any necessary software and packages for your specific use case. For example, if you're setting up a web server, you might install Nginx or Apache, and a database like MySQL or PostgreSQL.