From 8fb106ff43550bbc8b0a6c8973c576458394878a Mon Sep 17 00:00:00 2001 From: Nathan Steel Date: Sun, 22 May 2022 23:03:31 +0100 Subject: [PATCH] WIP: server setup guide --- blog/debian-server-setup.html | 99 ++++++++++++++++++++++++++ blog/guide-to-server-hosting.html | 112 ++++++++++++++++++++++++++++++ blog/index.html | 7 ++ 3 files changed, 218 insertions(+) create mode 100644 blog/debian-server-setup.html create mode 100644 blog/guide-to-server-hosting.html diff --git a/blog/debian-server-setup.html b/blog/debian-server-setup.html new file mode 100644 index 0000000..5c9a49a --- /dev/null +++ b/blog/debian-server-setup.html @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + Debian Server Setup + + + +
+

Debian Server Setup

+
+ +
+
+ +
+
+

This section assumes you have a fresh Debian 11 install on a server (either physical or VPS)

+

It will cover installing the essentials for access, and basic security so you don't need to worry in the future. This section may seem a little daunting for a first-time linux user, but most of it is copy/paste, hopefully with enough description to understand what is being done.

+
+ +
+

This first section will be done on the physical PC, or on the VPS via their website

+

Update the OS

+

Even with a fresh install of Debian from the latest ISO, there may be some updates you're missing, and it's a good idea to have these, especially in case they're security updates.

> +
+					
+						root# apt update && apt upgrade	
+					
+				
+ +

Install essential packages

+

These are packages that are needed for accessing, and controlling the server

+
+					
+						root# apt install sudo ssh	
+					
+				
+

Some useful packages too

+
+					
+						root# apt install vim htop wget curl tmux	
+					
+				
+ +

Add a user, and give super user privilleges

+

You want to avoid using root as much as possible in regular use, so a new user for yourself is a must

+
+					
+						root# adduser 	
+						root# usermod -aG sudo 
+					
+				
+

*replace with the user you want to create, e.g. nathan

+ +

Set static IP

+

TODO: Homeserver. If the server is a physical PC in your home you will need to set a static IP, otherwise your router could assign a differnent IP on reboot, and this would mess with port forwarding, and internal DNS.

+ +

Secure ssh

+ +

Setup UFW

+ +

Set hostname

+

Setting the name for a server is an important step, but the name doesn't need to be serious

+ +
+ +
+

This next section can be done via a terminal, or a SSH client else you can secure shell with e.g. PuTTY for Windows

+

Create an SSH key

+

SSH into the server

+ + +
+
+ + + + + diff --git a/blog/guide-to-server-hosting.html b/blog/guide-to-server-hosting.html new file mode 100644 index 0000000..8e0b125 --- /dev/null +++ b/blog/guide-to-server-hosting.html @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + Aney's guide to server hosting + + + +
+

Aney' guide to server hosting

+
+ +
+
+ +
+
+

If you want to start getting into server hosting, system administration, or just want to get a basic minecraft/web server up for you and your friends, then welcom. We all start somewhere, and I would love if I could get your foot in the door.
I'll be adding to this guide whenever I get time, and will update it's readibility once it's 'complete'.

+ +

Basic Server setup

+ +

Now you officially own a server, but currently all you can do is SSH into it, so let's get some services on there

+ +

Nginx Webserver

+

A great first service for any server is a website, even if it's just a little page to let people know you own the server

+
    +
  • Install nginx
  • +
  • Setup your first website
  • +
  • Add an SSL certificate w/Certbot
  • +
  • Nginx web hardening
  • +
  • Add PHP to your webserver (optional)
  • +
+ +

MariaDB Database

+

A database is a great tool to store, access, and filter data. Typically used alongside a website, or other services, but can be useful standalone if you know what you're doing

+
    +
  • Install mariaDB
  • +
  • SQL cheatsheet
  • +
  • Adminer install
  • +
  • Backup databases (optional)
  • +
+ +

Backup your server!

+

Backups are super useful. If something breaks, or gets accidentally deleted you can always use a backup to get back to operational

+
    +
  • Setup rsync
  • +
  • Setup rdiff-backup
  • +
  • Setup backup cronjob(s)
  • +
+ +

Run virtual machines

+

Virtual machines allow you to use your server as multiple servers at once, with different operating systems, services, files, etc.

+
    +
  • Setup Qemu/KVM
  • +
  • Setup a bridged adapter
  • +
  • Setup a virtual machine
  • +
  • Virsh cheatsheet
  • +
+ +

Proxy services to port 80/433

+

Many services you install will be accessible via the web, but will use a different ports. Proxying these allows access (and security) without the need to append a port to the server address

+ +

Additional services/potential guides

+
    +
  • Install debain on home server
  • +
  • Self hosting and port forwarding
  • +
  • Password protect webpages
  • +
  • git
  • +
  • samba
  • +
  • Open Media Vault
  • +
  • minecraft
  • +
  • terraria
  • +
  • umami
  • +
  • uptime kuma
  • +
  • torrentbox
  • +
  • jellyfin
  • +
  • VPN
  • +
  • mailserver
  • +
  • cockpit for noob-friendly server management
  • +
+ +
+
+ + + + + diff --git a/blog/index.html b/blog/index.html index cb2910f..f022bff 100644 --- a/blog/index.html +++ b/blog/index.html @@ -31,10 +31,17 @@
+ +

2022

+ +

2021

+