DML School of Technology

Linux Server Administration

Advanced About 40 hours 8 modules

Run a real Linux server the way professionals do: secure remote access, users and permissions, services, firewalls, websites over HTTPS, databases, backups you can restore, monitoring and troubleshooting. Covers both AlmaLinux (Red Hat family) and Ubuntu. Includes graded assignments, a capstone project and a final exam.

21 readings, 8 quizzes and 3 assignments

What you will be able to do

  • Connect to servers securely with SSH keys and harden SSH against attack
  • Manage users, groups, sudo rights and file permissions on the principle of least privilege
  • Install, update and run software as systemd services, and read their logs
  • Configure firewalld and ufw so only the services you intend are reachable
  • Host websites with Nginx or Apache and secure them with free HTTPS certificates
  • Create databases and least-privilege database users, and keep them off the internet
  • Build automated backups and prove them with a restore test
  • Monitor a server, work with SELinux instead of disabling it, and troubleshoot failures methodically

Before you start

You should be comfortable using a computer and typing commands carefully. No previous Linux experience is required, but this is a demanding course: plan about 5 hours a week for 8 weeks.

You need a Linux server you are allowed to break: a virtual machine on your own computer (free), a small rented VPS, or a lab server from your school. The first lesson explains how to set one up.

Course outline

1. The server and the shell

  1. How Linux servers are run Reading
  2. Your first SSH session Reading
  3. Finding your way around the filesystem Reading
  4. Module 1 quiz Quiz

2. Files, users and permissions

  1. Working with files and text Reading
  2. Users, groups and sudo Reading
  3. Permissions and ownership Reading
  4. Module 2 quiz Quiz
  5. Assignment: a shared project folder Assignment

3. Software, processes and services

  1. Installing and updating software Reading
  2. Processes, signals and resources Reading
  3. Services with systemd, and the journal Reading
  4. Module 3 quiz Quiz

4. Networking and secure access

  1. Networking from the server's point of view Reading
  2. SSH keys and hardening Reading
  3. Firewalls with firewalld and ufw Reading
  4. Module 4 quiz Quiz
  5. Assignment: harden your server Assignment

5. Storage, backups and scheduling

  1. Disks and filesystems Reading
  2. Backups you can restore Reading
  3. Scheduling with cron and systemd timers Reading
  4. Module 5 quiz Quiz

6. Serving websites

  1. Web servers and virtual hosts Reading
  2. HTTPS with Let's Encrypt Reading
  3. MySQL and MariaDB essentials Reading
  4. Module 6 quiz Quiz

7. Security, monitoring and troubleshooting

  1. Keeping a server secure, and SELinux Reading
  2. Logs, monitoring and alerts Reading
  3. When something breaks: a method Reading
  4. Module 7 quiz Quiz

8. Capstone and final exam

  1. Capstone: deploy and protect a website Assignment
  2. Final exam Quiz