WIP: server setup guide

develop
Nathan Steel 4 years ago
parent 28da09c5bf
commit 8fb106ff43

@ -0,0 +1,99 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="title" content="I've started a blog">
<meta name="description" content="A new step for aney.co.uk, there's now a blog.">
<meta name="keywords" content="Blog, articles, news">
<meta name="author" content="Nathan (Aney) Steel">
<meta name="theme-color" content="white">
<meta name="theme-color" content="black">
<link rel="stylesheet" type="text/css" href="/main.css">
<link rel="icon" type="image/png" href="/images/favicon.svg">
<title>Debian Server Setup</title>
</head>
<body>
<header>
<h1>Debian Server Setup</h1>
<hr/>
<nav>
<a href="/">home</a>
<a href="/equipment.html">equipment</a>
<a href="/projects.html">projects</a>
<a href="/blog/">blog</a>
<a href="/sitemap.html">misc</a>
<a href="/support.html">support</a>
</nav>
<hr/>
</header>
<main>
<section>
<p>This section assumes you have a fresh Debian 11 install on a server (either physical or VPS)</p>
<p>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.</p>
</section>
<section>
<p>This first section will be done on the physical PC, or on the VPS via their website</p>
<h2>Update the OS</h2>
<p>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.</p>>
<pre>
<code>
root# apt update && apt upgrade
</code>
</pre>
<h2>Install essential packages</h2>
<p>These are packages that are needed for accessing, and controlling the server</p>
<pre>
<code>
root# apt install sudo ssh
</code>
</pre>
<h3>Some useful packages too</h3>
<pre>
<code>
root# apt install vim htop wget curl tmux
</code>
</pre>
<h2>Add a user, and give super user privilleges</h2>
<p>You want to avoid using root as much as possible in regular use, so a new user for yourself is a must</p>
<pre>
<code>
root# adduser <USERNAME>
root# usermod -aG sudo <USERNAME>
</code>
</pre>
<p>*replace <USERNAME> with the user you want to create, e.g. nathan</p>
<h2>Set static IP</h2>
<p><strong>TODO: Homeserver</strong>. 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.</p>
<h2>Secure ssh</h2>
<h2>Setup UFW</h2>
<h2>Set hostname</h2>
<p>Setting the name for a server is an important step, but the name doesn't need to be serious</p>
</section>
<section>
<p>This next section can be done via a terminal, or a SSH client else you can secure shell with e.g. PuTTY for Windows</p>
<h2>Create an SSH key</h2>
<h2>SSH into the server</h2>
</section>
</main>
<footer>
<hr/>
<p>Written by <a href="http://www.aney.co.uk" target="_blank" rel="noopener noreferrer">@aney</a> with <a href="https://danluu.com/web-bloat/" target="_blank" rel="noopener noreferrer">web bloat</a> in mind | <a href="https://github.com/Aney/website" target="_blank" rel="noopener noreferrer">Source Code</a></p>
</footer>
</body>
</html>

@ -0,0 +1,112 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="title" content="Aney's guide to server hosting">
<meta name="description" content="Learn to host a public/private server with a bunch of great services">
<meta name="keywords" content="Blog, articles, news, server, hosting, website">
<meta name="author" content="Nathan (Aney) Steel">
<meta name="theme-color" content="white">
<meta name="theme-color" content="black">
<link rel="stylesheet" type="text/css" href="/main.css">
<link rel="icon" type="image/png" href="/images/favicon.svg">
<title>Aney's guide to server hosting</title>
</head>
<body>
<header>
<h1>Aney' guide to server hosting</h1>
<hr/>
<nav>
<a href="/">home</a>
<a href="/equipment.html">equipment</a>
<a href="/projects.html">projects</a>
<a href="/blog/">blog</a>
<a href="/sitemap.html">misc</a>
<a href="/support.html">support</a>
</nav>
<hr/>
</header>
<main>
<section>
<p class="intro">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.<br/>I'll be adding to this guide whenever I get time, and will update it's readibility once it's 'complete'.</p>
<h2>Basic Server setup</h2>
<ul>
<li>Get a server</li>
<li><a href="/blog/debian-server-setup.html">Basic Debian Server setup (with some security)</a></li>
<li>Get a domain name</li>
<li>Connect your server and domain name</li>
</ul>
<p>Now you officially own a server, but currently all you can do is SSH into it, so let's get some services on there</p>
<h2>Nginx Webserver</h2>
<p>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</p>
<ul>
<li>Install nginx</li>
<li>Setup your first website</li>
<li>Add an SSL certificate w/Certbot</li>
<li>Nginx web hardening</li>
<li>Add PHP to your webserver (optional)</li>
</ul>
<h2>MariaDB Database</h2>
<p>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</p>
<ul>
<li>Install mariaDB</li>
<li>SQL cheatsheet</li>
<li>Adminer install</li>
<li>Backup databases (optional)</li>
</ul>
<h2>Backup your server!</h2>
<p>Backups are super useful. If something breaks, or gets accidentally deleted you can always use a backup to get back to operational</p>
<ul>
<li>Setup rsync</li>
<li>Setup rdiff-backup</li>
<li>Setup backup cronjob(s)</li>
</ul>
<h2>Run virtual machines</h2>
<p>Virtual machines allow you to use your server as multiple servers at once, with different operating systems, services, files, etc.</p>
<ul>
<li>Setup Qemu/KVM</li>
<li>Setup a bridged adapter</li>
<li>Setup a virtual machine</li>
<li>Virsh cheatsheet</li>
</ul>
<h2>Proxy services to port 80/433</h2>
<p>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</p>
<h2>Additional services/potential guides</h2>
<ul>
<li>Install debain on home server</li>
<li>Self hosting and port forwarding</li>
<li>Password protect webpages</li>
<li>git</li>
<li>samba</li>
<li>Open Media Vault</li>
<li>minecraft</li>
<li>terraria</li>
<li>umami</li>
<li>uptime kuma</li>
<li>torrentbox</li>
<li>jellyfin</li>
<li>VPN</li>
<li>mailserver</li>
<li>cockpit for noob-friendly server management</li>
</ul>
</section>
</main>
<footer>
<hr/>
<p>Written by <a href="http://www.aney.co.uk" target="_blank" rel="noopener">@aney</a> with <a href="https://danluu.com/web-bloat/" target="_blank" rel="noopener">web bloat</a> in mind | <a href="https://github.com/Aney/website" target="_blank" rel="noopener">Source Code</a></p>
</footer>
</body>
</html>

@ -31,10 +31,17 @@
<main> <main>
<section> <section>
<h2>2022</h2>
<ul>
<li><a href="/blog/guide-to-server-hosting.html">Aney's guide to server hosting</a> - 22/05/2022</li>
</ul>
<h2>2021</h2> <h2>2021</h2>
<ul> <ul>
<li><a href="/blog/ive-started-a-blog.html">I've started a blog</a> - 20/11/2021</li> <li><a href="/blog/ive-started-a-blog.html">I've started a blog</a> - 20/11/2021</li>
</ul> </ul>
</section> </section>
</main> </main>

Loading…
Cancel
Save