Initial Node Setup — Get Started
The Common Question
First of all let’s start with answering a very common question.
- Question: I have a spare computer. Can I run my node from home?
- Answer : In short, maybe it is technically possible, but it is NOT a good idea for the long term projects.
Home environment is not suitable for data centers such as stable internet connection, electricity and cooling. So, the most convenient (and affordable) way is to rent a VPS (Virtual Private Server) or Dedicated Server from a good service providers.
Connecting to your server
You need a client software installed on your computer to remotely connect and manage your new server. Putty and Termius are good apps if you have a Windows computer. If you have a Mac, Termius is a good option. They are both free.
Download and install Putty to your computer.
- Create shortcut to your server within Putty.
- Ensure that your node is kept alive while you work by changing above settings.
Download and install Termius to your computer.
- Creating shortcut : Click Hosts > Add > New Host
- Name your server / project and enter your server IP.
- Enter SSH port (optional), server username and password
Initial Setup of your server
First of all let’s install all available patches and updates of Ubuntu. This will take couple of minutes:
Create a new user for your node
Root is the most powerful account of Linux. But it should not be used for day to day operation for security of your node. So let’s create a new user.
You may name your node and add new password as you wish considering those are aligned with security requirements (i.e. strong password and uncommon user name).
Grant sudo permission to this new user, so that it can run commands that require root privileges when needed (without connecting with root user).
Another security best practice is to prevent remotely login with root.
To do that, open the sshd_config file with the nano text editor, and change the line PermitRootLogin yes to no.
Press Ctrl + O and Enter to save. Press Ctrl + X to quit from nano.
Run the following command in order to take the change effect. Please note that you will not be able to login with root user anymore. But that is ok, since you have the new user with sudo capability.
Wait a couple of minutes and reconnect to your server, but this time login with the new user (not with root) and new password.
Now your server is ready for further project setup!