If you have an unused old computer, there are many great ways it can be utilized. You may want to build a small home server, spin up your own bitcoin or Monero node, convert it into a media streaming device or perhaps even build your own router.
You may have evicted the computer into a damp, dusty corner because it took twenty minutes to boot Windows, leading you to believe its days were numbered. However, in most instances, these devices are still competent once liberated from their borked operating systems.
Installing Ubuntu Server is a topic already widely covered on all corners of the internet; however, since many of the x86 guides I plan to publish require a Linux base, I wanted to list the steps that I frequently follow in a dedicated article to avoid repeating the steps in each guide.
For many, this is a simple task. Still, for beginners unfamiliar with Linux, I want to make it as easy as possible, hopefully preventing them from giving up before they even begin their journeys into sovereignty.
You will need a keyboard and monitor; however, once Ubuntu is successfully installed, all future interactions with the device are carried out via SSH using another computer on the same network. If you don’t own a monitor, you can also use a TV if the computer has an HDMI port.
First, Download Ubuntu Server and write the image to a USB flash drive. The image is approximately 1.5GB in size, so any flash drive of 2GB or larger should suffice. I recommend using Balena Etcher when creating bootable external media, as it’s available on all popular platforms and verifies the integrity of the image upon completion.
Insert your bootable Ubuntu USB stick into a free port and power up the machine, holding down your system’s boot menu key. This key will vary depending on your system, but it is usually either F2, F12, or delete. If you encounter difficulties booting the drive, visit your systems BIOS and ensure that “Legacy Boot” is enabled and that “Secure Boot” is disabled.
Once the boot menu is displayed, select the Ubuntu drive from the list of bootable devices, then when prompted, select “Try or Install Ubuntu Server“. Ubuntu will now boot into the installation interface.
Follow these installation steps;
- Select language.
- Select keyboard layout & variant.
- Using the spacebar, check “Ubuntu Server” and then continue.
- The next step will display the node’s local IP address. Make a note of this, ignoring the /24 at the end, then select “Done” to continue.
- Skip the proxy step unless you have a specific need for it.
- Skip past the archive mirror step, leaving it set to default.
- Check “Use an entire disk“, ensuring the correct drive is selected. Before continuing, ensure that “Set up this disk as an LVM group” is unchecked.
- Select “Done” on the storage confirmation screen & “Continue” when the “Confirm destructive action” prompt appears.
You will create an administrator account for your server in the following step. Choose a lowercase username and enter it into the “Name” and “Username” fields. Give your device an identifiable name and enter it into the “Server’s Name” field. In the last two fields, you will need to enter and confirm a password for the account. This password needs to be secure, but I’d advise against using special characters or making it too complex, as you will need to enter it whenever you wish to access the server. Select “Done” to finalize, ensuring you have made a secure backup of all credentials.
On the next menu, it’s imperative to check “Install OpenSSH Server” before continuing. This is essential for accessing the node via SSH once the monitor and keyboard are detached.
The next screen offers the opportunity to select and automatically install some popular server snaps, such as Docker and Nextcloud. I prefer to install any required software manually, so I use the tab key to skip straight to “Done“, leaving all snaps unchecked, and hit enter to continue.
The installation will start and usually be completed in 1-2 minutes. You will see an “Install complete!” heading upon completion. Select “Reboot now“, and you will be prompted to remove the USB flash drive, then press enter to restart. Once the server restarts, you will find yourself on a black screen with a prompt asking you to log in to your admin account. This can be ignored, and you can safely remove the keyboard and monitor from the device since they are no longer required.
Accessing the Server via SSH.
From this point onwards, all server interaction will be carried out from another computer connected to the same network using SSH. If your computer is running Linux or OSX, then you will already have a native Terminal application. If using Windows, you can download a popular SSH client called PuTTY.
Upon opening a new terminal window, you will need to log in to your server using the device’s IP address noted earlier and the account username and password you created during the Ubuntu setup. The steps slightly differ depending on your computer’s operating system, but the information required to gain SSH access remains the same.
Since I use Linux as my primary operating system, I can gain SSH access by opening a terminal window and running the following command. You will, of course, need to edit the command using your username and IP.
If this is the first time you have used SSH to access this IP, you will be prompted to confirm the connection. Simply type “Yes” and hit enter to confirm.
If you have previously accessed this IP via SSH, you may receive a warning stating, “Warning: Remote Host Identification Changed“. If you encounter this, you will need to remove all lines listed for the IP in your host’s file, which on Linux is typically located at “/home/user/.ssh/known_hosts“. Be careful not to delete entries for other IP addresses and then save and exit. You can now rerun the command to gain SSH access.
You will be prompted to enter your user password. Use the password you created previously to gain SSH access. The command prompt should display your server’s hostname, confirming that you are connected to the correct device.
You are now ready to install whatever packages you need, depending on your plans for the server. I will publish guides for different services in the near future, but you can also find some great projects by browsing Github.
One final step I would advise all readers to consider is binding your server’s IP as a static address from your router’s admin page. This will prevent unexpected issues caused by a sudden IP change after a power loss or similar event.
Yes, it really is that simple. Thank you for reading, and good luck.