How to Install Ubuntu Server in Minutes | Step–by–Step Setup

January 11th, 2024
How to Install Ubuntu Server in Minutes | Step–by–Step Setup

This tutorial will cover how to install Ubuntu server in minutes using a pre-configured Ubuntu dedicated server by Cherry Servers and set it up for production usage. To install Ubuntu manually, head over to the official Ubuntu download page.

Cherry Servers provides bare metal and virtual private (with shared or dedicated resources) server solutions.

What is Ubuntu?

Ubuntu is one of the most popular free open-source operating systems based on Debian-based Linux. Ubuntu server, its server-oriented product, provides a minimal stable system tailored for production environments. It comes with no GUI by default, and the most common drivers commonly used in Desktop environments are not included to favor performance.

How to install Ubuntu server

Ubuntu server comes with a wide variety of applications and services that can be easily installed. Those include applications to run your web and Internet servers, such as HTTP servers, database servers, game servers, email servers, DNS servers, and more.

What’s more, Ubuntu provides various installation images and supports ARM, POWER, RISC-V, and even IBM Z architectures. The installation can be done on bare metal (physical servers), virtual machines (VirtualBox, QEMU), or cloud computing providers such as Cherry servers, AWS, Google Cloud, and Azure.

In this tutorial, we will guide you through the installation of an Ubuntu server on Cherry Servers bare metal cloud (dedicated) server, getting the most out of the raw power of a physical server. Depending on workloads and server requirements, you can also opt for a virtual server and follow the same steps.

Prerequisites

To follow along this tutorial, you will need the following:

  • a Linux workstation from which you will connect the newly deployed server;
  • a Cherry Servers account.

Step 1: Generate and upload SSH key

We will use an SSH key to connect to our server, as it is more secure than using a password and provides a passwordless login.

1. Generate SSH key pair

We will now generate an ssh key pair on your workstation, the computer you will use to connect to the server we are deploying.

Create a new key pair with the following command:

ssh-keygen -C "Cherry servers"

The -C switch will add a comment in your key so that you can easily identify it later.

When prompted for a passphrase, leave empty and press Enter for no passphrase.

Your keys are generated in ~.ssh/ by default.

~/.ssh$ ls
id_rsa  id_rsa.pub

2. Upload SSH key on Cherry Servers profile

Now that we have our SSH key, we will upload it to Cherry servers so that it can be deployed on the server that we will create.

Go to https://portal.cherryservers.com/settings/ssh-keys and click on Add SSH key:

add ssh key

We can now copy/paste the content of our ssh public key, id_rsa.pub, here:

upload key

Step 2: Install Ubuntu server

We will now install Ubuntu server on a dedicated bare-metal server.

deploy new server

1: Choose server

Cherry servers provide servers in different regions and models. In this tutorial, we will pick an Intel dedicated server in Lithuania with 8 cores and 32GB of RAM:

select server

2: Select operating system

We will use the pre-configured Ubuntu server operating system provided by Cherry Servers. With this option, we can deploy a running system in less than 10 minutes.

select OS

3: Instance name and SSH key

Before deploying, we will change the name of the server instance and make sure that our SSH key has been selected for the deployment:

change name

4. Deploy server and pay

Now that everything has been configured, we can deploy the server by clicking on Pay & Deploy Now:

Pay & Deploy Now

Step 3: Ubuntu server setup

Once the server is ready, we can proceed with the Ubuntu server setup. An email is sent to you with all the information needed to connect to the server via SSH. A KVM (Keyboard, Video, Mouse) access is also provided that allows full remote control of the physical server.

Connect via SSH using SSH key

We will now connect via ssh using the key we deployed earlier:

ssh root@<IP of server> -i ~/.ssh/id_rsa

Replace <IP of server> with the IP that has been assigned to your server. You can find this IP either via Cherry Servers customer portal or via the email sent to you when the server was deployed.

Once logged in, you will get your root terminal access:

root@ubuntuserver:~#

Note: If you have problems with connecting to the server, check here for more information.

Update system packages

The first thing to do is to update the packages list:

apt update

We then proceed to a system upgrade:

apt upgrade

When asked about updating the sshd configuration, choose the default option: Keep the local version

Proceed to a reboot to fully upgrade the server.

As we are using a dedicated physical server, you can also access the Remote KVM console to have full control of the reboot process:

KVM console

Secure SSH connection

We will now secure the SSH by disabling Password authentication. Edit /etc/ssh/sshd_config with your favorite editor and change PasswordAuthentication to no:

PasswordAuthentication no

Save the modification and restart sshd

systemctl restart ssh

You can also enforce the SSH security with Fail2Ban to prevent brute-force attacks

Create a new user

We will also create a new user with sudo privileges:

adduser didier

We now add the user to the sudo group:

usermod -aG sudo didier

Enable automatic updates

Automatic unattended updates are activated and started on Ubuntu. This will help make your server secure by installing security patches.

You can confirm if the service is running with the following command:

sudo systemctl status unattended-upgrades.service

Conclusion

In this tutorial, we have covered how to install Ubuntu server on Cherry servers dedicated bare-metal servers. We have also covered how to set up the server for a production environment. Having full control over the physical server gives you all the power to host your services online.

You can find more guidelines on Ubuntu's website and about Cherry servers solutions on https://www.cherryservers.com/.

With over 20 years in IT, Didier has been creating technical documentation for companies, catering to both technical and non-technical audiences. Didier is an expert in Linux system administration, DevOps, cloud computing, cybersecurity, IT consulting, management consulting, technical writing, Diataxis framework, Doc-as-Code, UX Writing, Jamstack, MkDocs, Docker, containers, open-source, SDLC, and Python programming. His hands-on technical expertise, coupled with his strong communication skills, enables him to bridge the gap between developers and end-users. Didier creates user guides, API References, end-user documentation, how-tos, and tutorials. He is an expert in authoring using modern technologies such as Markdown, Mermaid, and static-site generators. Didier also utilizes frameworks and methodologies such as Diaxiatis and Doc-as-code, applying structured writing techniques. Currently, Didier works as a freelance technical writer and documentation consultant, assisting organizations in creating comprehensive and easy-to-understand documentation for their software and web applications. In his previous roles, Didier worked as a system and applications engineer and implemented style guides, tone and voice best practices, and documentation processes that streamline their release cycles. Didier resides in Vacoas, Mauritius.

Cloud VPS - Cheaper Each Month

Start with $9.99 and pay $0.5 less until your price reaches $6 / month.

We use cookies to ensure seamless user experience for our website. Required cookies - technical, functional and analytical - are set automatically. Please accept the use of targeted cookies to ensure the best marketing experience for your user journey. You may revoke your consent at any time through our Cookie Policy.
build: 5e5697b2.627