Skip to content

Linux Complete Course: Zero to Production Ready

From "what is Linux" to a hardened, monitored production web server on AWS - one server, one story.

  • 78 lessons
  • 11 modules
  • 6h 25m of video
  • Beginner
That guide is part of the full course. Enroll below to unlock every lesson, video and guide.

What you will learn

  • Set up a safe Linux lab on AWS and connect with SSH keys, no passwords
  • Work confidently in the shell - files, pipes, find and grep
  • Control access with users, groups, permissions, sudo and ACLs
  • Install software and run apps as hardened systemd services
  • Manage disks, LVM, backups and restores you have actually tested
  • Lock the server down with firewalls, SSH hardening, fail2ban, AppArmor and auditd
  • Serve a real shop website with Nginx and free TLS certificates
  • Automate with Bash scripts and Ansible
  • Monitor with CloudWatch - metrics, logs, alarms and a dashboard built with Terraform

About this course

From “what is Linux” to a hardened, monitored production web server on AWS – one server, one story.

Every lesson is recorded on a real Ubuntu server: one shop, one server, built up from the first lesson to a hardened, monitored production web server. Each video comes with a written guide and copy-ready commands.

  • Getting a Linux machine – 5 lessons
  • Shell fundamentals – 7 lessons
  • Users, permissions, privilege – 7 lessons
  • Software and processes – 8 lessons
  • systemd and services – 6 lessons
  • Storage – 7 lessons
  • Networking – 8 lessons
  • Bash scripting and automation – 7 lessons
  • Security and hardening – 7 lessons
  • Observability with CloudWatch – 10 lessons
  • Operating in production – 6 lessons

Your instructor: Yemi Ayodipe. Cloud security engineer with 14+ years in AWS architecture and security. AWS Certified Solutions Architect – Professional and Security – Specialty.

Course content

11 modules · 78 lessons · 6h 25m
1 Module 1: Getting a Linux machine 5 lessons · 29 min
  1. What Is Linux? Distros, and Why Servers Run It (Beginner's Guide) Free preview 6:17
  2. Set Up a Safe Linux Lab on AWS EC2 (with an Undo Button) Free preview 10:14
  3. Connect to a Linux Server with SSH Keys (No Passwords) Free preview 5:10
  4. Put Your First Web Page Online with Nginx on Ubuntu Free preview 5:47
  5. Linux Course: Module 1 Recap and What's Next Free preview 1:41
2 Module 2: Shell fundamentals 7 lessons · 34 min
  1. Linux Terminal Basics: the Prompt, Commands, and Getting Help (man, --help, tldr) Free preview 5:21
  2. Navigate the Linux Filesystem: pwd, ls, cd and Where Everything Lives Free preview 5:09
  3. Linux Files for Beginners: Create, Copy, Move and Delete Safely Free preview 5:39
  4. View and Edit Files in Linux: cat, less, head, tail, nano and vim 5:04
  5. Linux Pipes and Redirection for Beginners (|, >, >>, 2>&1) - with Real Logs 5:08
  6. How to Find Files and Text in Linux: find, grep and locate 5:30
  7. Linux Course: Module 2 Recap and What's Next 1:53
3 Module 3: Users, permissions, privilege 7 lessons · 39 min
  1. Linux Users and Groups for Beginners: useradd, groupadd, usermod and id 5:17
  2. Linux File Permissions and Ownership Explained (chmod, chown, ls -l) 5:45
  3. Linux sudo Done Right: Least Privilege with visudo and sudoers.d 5:35
  4. Linux Shared Folders: umask, setgid and the Sticky Bit Explained 5:57
  5. Linux ACLs for Beginners: setfacl and getfacl Explained 5:28
  6. Linux Permissions Lab: Lock Down a Shared Project Folder 9:29
  7. Linux Course: Module 3 Recap - You've Finished Linux Basics 1:54
4 Module 4: Software and processes 8 lessons · 41 min
  1. Linux Package Managers: apt and dnf for Beginners 6:06
  2. Linux Repositories and GPG Keys: Add Software You Can Trust 5:56
  3. Linux Processes and Signals: ps, top, htop and kill 4:54
  4. Linux Jobs, nohup and tmux: Keep Programs Running After You Disconnect 4:27
  5. Linux cron and systemd Timers: Schedule Jobs for Beginners 5:09
  6. Automatic Security Updates on Ubuntu with unattended-upgrades 5:06
  7. Linux Course: Module 4 Recap - Software and Processes 1:29
  8. Linux Incident: The Disk Is Full (No Space Left on Device) 8:07
5 Module 5: systemd and services 6 lessons · 29 min
  1. How Linux Boots: GRUB, the Kernel, and systemd Explained 5:02
  2. systemctl for Beginners: Start, Stop, Reload and Enable Linux Services 5:02
  3. Write Your Own systemd Service and Timer (Unit Files for Beginners) 5:26
  4. Linux Logs for Beginners: journalctl and /var/log 4:49
  5. Harden a systemd Service: Dedicated User and Sandboxing (Lab) 7:35
  6. Linux Course: Module 5 Recap - systemd and Services 1:30
6 Module 6: Storage 7 lessons · 33 min
  1. Linux Disks, Partitions and Filesystems: Add a New Disk to a Server 5:08
  2. Linux /etc/fstab for Beginners: Mount a Disk Permanently (and Safely) 5:20
  3. Linux LVM for Beginners: Grow a Volume Without Downtime 5:09
  4. Linux Disk Usage: df, du and ncdu, and Cleaning Up Safely 4:39
  5. Linux Backups for Beginners: rsync, tar, and Testing the Restore 5:30
  6. Linux Course: Module 6 Recap - Storage 1:28
  7. Linux Incident: A systemd Service Crashes and Won't Stay Up 5:53
7 Module 7: Networking 8 lessons · 37 min
  1. IP Addresses, DNS and Routing on Linux: The Basics 5:19
  2. Inspect a Linux Server's Network: ss, dig, curl and nc 4:12
  3. Linux Firewalls for Beginners: ufw (and nftables underneath) 4:40
  4. Harden SSH and Install fail2ban on Ubuntu 6:11
  5. Nginx for Beginners: Your Own Site File and a Reverse Proxy 5:37
  6. Free HTTPS with Let's Encrypt and Nginx on Ubuntu 5:12
  7. Linux Course: Module 7 Recap - Networking 1:32
  8. Linux Incident: A Firewall Change Takes the Website Offline 4:24
8 Module 8: Bash scripting and automation 7 lessons · 30 min
  1. Your First Bash Script: Variables, Quoting and Running It 4:33
  2. Bash Conditions and Loops: if, test and for 4:16
  3. Bash Functions, Arguments and Exit Codes 4:42
  4. Safe Bash Scripts: set -euo pipefail and shellcheck 5:17
  5. awk, sed and cut: Analyse an Nginx Log on Linux 4:45
  6. Intro to Ansible: Configure a Linux Server the Same Way, Every Time 5:24
  7. Linux Course: Module 8 Recap - Bash Scripting and Automation 1:28
9 Module 9: Security and hardening 7 lessons · 31 min
  1. Linux Security Audit with Lynis (and the CIS Benchmarks) 5:32
  2. AppArmor for Beginners: Confine a Program (and Never Turn It Off) 5:39
  3. Linux Auditing with auditd: Who Opened That File? 5:06
  4. Secrets on a Linux Server: Keep Keys Out of Files and Shell History 4:23
  5. Patching an Ubuntu Server and Checking CVEs with pro fix 4:06
  6. Linux Course: Module 9 Recap - Security and Hardening 1:34
  7. Linux Incident: A Bad Deploy Makes Nginx Return 502 Bad Gateway 4:25
10 Module 10: Observability with CloudWatch 10 lessons · 54 min
  1. Why Observability Matters: Metrics, Logs and Alarms on a Linux Server 5:23
  2. Give an EC2 Server CloudWatch Permission with an Instance Role (Never Access Keys) 5:41
  3. Install the CloudWatch Agent on Ubuntu and Send Memory and Disk Metrics 5:07
  4. Send Nginx, Auth and System Logs to CloudWatch Logs with the CloudWatch Agent 5:29
  5. CloudWatch Logs Insights and Metric Filters: Count Nginx Errors and Failed SSH Logins 7:35
  6. Build a CloudWatch Dashboard for a Linux Web Server: CPU, Memory, Disk, Errors and Logs 7:46
  7. CloudWatch Alarms with SNS Email: Get Told When Your Linux Server Breaks 6:24
  8. Share a CloudWatch Dashboard Safely (and Why Not a Public Link) 5:04
  9. Linux Course: Module 10 Recap - Observability with CloudWatch 1:23
  10. Linux Incident: A CloudWatch Alarm at 2am and a Service That Stopped Itself 3:48
11 Module 11: Operating in production 6 lessons · 27 min
  1. CloudWatch Dashboard as Code with Terraform (Alarms and Metric Filters Too) 6:20
  2. Linux Performance Troubleshooting: From the CloudWatch Dashboard to the Process 4:31
  3. Containers on Linux for Beginners: Namespaces, cgroups and Docker 4:37
  4. A Linux Troubleshooting Runbook: One Method for Any Incident 3:41
  5. Linux Capstone: Build, Harden and Monitor a Production Web Server from Scratch 6:35
  6. Linux Course: Module 11 Recap - Operating in Production (and the End of the Course) 1:18