Linux-101/Linux-201/Lab-Sheet.md
Starbeamrainbowlabs 569ee27123
All checks were successful
continuous-integration/laminar-elessar Build 46 succeeded in 1 minute 5 seconds .
Merge branch 'master' of git.starbeamrainbowlabs.com:sbrl/Linux-101
2019-06-20 17:02:11 +01:00

47 lines
1.3 KiB
Markdown

# Linux 201: Web Server Setup
## Introduction
- Goals
- Understand the process of setting up a web server
- Understand why security is important when setting a web server.
- Setup a basic web server to serve static files
- Non-goals - links to useful tutorials will be provided at the end of this lab sheet
- Setting up HTTPS - This requires a domain name
-
## Things to mention in the slide deck
-
- Apache vs Nginx
- Thread-based vs event-based servers
## Basic Security
- Creating a non-root account
- `sudo` permissions
- The Linux security model: Knowing why you're typing your password
- SSH
- Disable root login
- SSH Keys
- Firewall
- `ufw`
- https://starbeamrainbowlabs.com/blog/article.php?article=posts/047-Linux-Security-Part-1.html
## Installing a Web Server
- systemd services
- Nginx is a service
-
- Installing Nginx
- `sudo apt install nginx`
## Configuration
- `/etc/nginx/nginx.conf`
- `/etc/nginx/sites-available/*`
- `/etc/nginx/sites-enabled/*`
## References and Further Reading
- [Nginx](https://www.nginx.com/)
- [How to Secure a Linux Server](https://github.com/imthenachoman/How-To-Secure-A-Linux-Server/)
- [SSL Certificates](https://letsencrypt.org)
- [Freeside Discord Invite](http://discord.freeside.co.uk)