Before I get into how, first I wanted to ask "why"? Why go through the pain and cost of setting up your own cloud server?
There are more reasons than I could list, but some examples are hosting your own website, running your own NextCloud server, or starting your own email server. Whatever your reason, this guide is designed to walk you through the steps of getting a basic headless Linux server.
For this tutorial, I'll be using Hetzner. There are a lot of alternatives, such as AWS and DigitalOcean, but I've started using Hetzner because it's EU based, user friendly, and less expensive that a lot of the alternatives.
The first thing you'll do is create a new project. A project is a way of grouping resources together, such as servers, load balancers, IPs, volumes, networks, firewalls, and snapshots.
https://console.hetzner.cloud/projects
Once you have a project, then you can create your first server.
When creating a server, it's a good idea to choose a location that is close to you and your users. I personally choose Ashburn, VA because I live on the east cost of the USA, but you can choose any location that's best for you.
Next, you'll pick the operating system. If you are new to Linux command line, I would recommend starting with one that's widely documented and is actively maintained, such as Ubuntu.
After you've chosen your operating system, you'll choose the type of server to created. I recommend starting with the cheapest option to get going.
The networking section shouldn't require any changes unless you know what you're doing. You need at least a public IPv4 to connect to your server later.
In order to connect to the server you'll need to use SSH (Secure Shell). By default Hetzner will email you root credentials you can use to log in. However, you can instead generate an SSH key for additional security. This tutorial will not cover that.
For your first test server, you can skip down to naming the server. Then you can create and buy the server.
Congratulations, you've made your own server!
To connect to it, you'll need to use ssh to connect to the IP address of the server.
- Details