Experience >>> Server Hosting

Dylan Nelson: Project I'm currently working on

> Practicing server hosting
  > Requires more computer hardware experience
  > and a bit more os/setup work

Robots:

Navigation Jumps:



Introduction


I have quite a bit of computer hardware experience, but I don't get to practice it much since industries have pushed towards cloud computing. Self hosting is still a valuable skill and works great for smaller projects and particular use cases where cloud isn't required. Also many skills are transferable, such as using docker or setting up firewall.


Hardware



For around $60, and an old outdated laptop, I can have a custom server with minimal to no monthly costs.

Benefits of Self Hosting
AWS Free Tier Old Computer
RAM 1 GB 32GB
Storage 5GB 2048 GB+
Uptime 750 Hours/Month Unlimited

There's a handful of other reasons too. Customizability, no sunk costs, no surge pricing, no subscriptions, and no certification required.


Operating System - Linux


For the OS, I chose the Linux Ubuntu Server since it's widely used and has lots of documentation. It's also free and relatively easy to setup. They also provide a free desktop OS, which helps bring in users and developers

Using a Linux server has a few benefits. Being a server OS, it's designed to be "headless." Headless means that there's no desktop, and it's interacted with through a terminal. Similar to the original computers. This ultimately saves resources and improves automation

OS Install Setup: (simplified)

  1. Download and flash Ubuntu Server's ISO to a removable drive

  2. Boot the server from the removable drive 🐛
    • Depending on the BIOS/PC, the process of telling a computer to boot from a specific drive can vary. It may require pressing F8 before another drive boots, going into BIOS settings, or nothing at all.

  3. Complete the setup prompts
    • Linux will ask for some help: connecting to the internet, knowing which drive to use, and what packages + settings you want. Depending on the version or OS, this may be easy or complicated

Post-Install Setup: (optional)

  1. Activate Firewall 🦺
    • In My situation, I'll be port forwarding, exposing the server to the internet. I went through a firewall setup to ensure only certain ports are open.
  2. Setup + Test SSH 🖥️📡🖥️
    • Many people prefer to connect to the server on another computer. This means you won't need a second monitor, keyboard, etc. Establishing this connection can be done many ways. I used OpenSHH which came default on Ubuntu Server and Mobaxterm to provide a UI for the SSH connection. I tried VSCode for hours and it was all errors.
  3. Move/Store Server Hardware 📦
    • If you don't plan to interact with the computer much, then consider placing it somewhere safe and secure. Away from liquids, pets, and in a spot with good wifi (or wired is best). Airflow and clean air matter to the health of the hardware.

Software

~ Currently in progress ~ Come back later ~

Network

Contact: