🎯 About this course
You can already run a Linux machine. This course teaches you to run a website on it: how a request reaches a page, how nginx and Apache choose what to answer, how a certificate works, how to put a proxy in front of an application, how to run that application as a supervised service with protected settings, how to release and roll back safely, and how to harden, cache and watch it. Every exercise names who needs it and why, uses a simulated web server that behaves like the real one, and ends with a check of the effective state rather than the file you meant to edit.
By the end you will be able to
- Describe how a web request reaches a page through a name, a port, a server block and a status code.
- Configure nginx and Apache to serve sites and virtual hosts, and read access and error logs to find the cause of a fault.
- Analyse a TLS certificate for names, dates and key, and configure https with a redirect.
- Configure a reverse proxy, a pool of copies, rate limits and a private path, and tell a 502 from a 504.
- Use systemd units, protected settings and a tested database backup to run an application as a service.
- Plan a release with a link, a smoke test and a rollback, and clean old releases safely.
- Apply hardening, caching and watching to a web server: headers, refused dot-files, correct owners, a cache of shared pages, log rotation, a health check and a runbook.
- Analyse the parts of a web service and the path of one request, and size it by the capacity that survives a failure.