Linux Server Administration
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
- How Linux servers are run
- Your first SSH session
- Finding your way around the filesystem
- Module 1 quiz
2. Files, users and permissions
- Working with files and text
- Users, groups and sudo
- Permissions and ownership
- Module 2 quiz
- Assignment: a shared project folder
3. Software, processes and services
- Installing and updating software
- Processes, signals and resources
- Services with systemd, and the journal
- Module 3 quiz
4. Networking and secure access
- Networking from the server's point of view
- SSH keys and hardening
- Firewalls with firewalld and ufw
- Module 4 quiz
- Assignment: harden your server
5. Storage, backups and scheduling
- Disks and filesystems
- Backups you can restore
- Scheduling with cron and systemd timers
- Module 5 quiz
6. Serving websites
- Web servers and virtual hosts
- HTTPS with Let's Encrypt
- MySQL and MariaDB essentials
- Module 6 quiz
7. Security, monitoring and troubleshooting
- Keeping a server secure, and SELinux
- Logs, monitoring and alerts
- When something breaks: a method
- Module 7 quiz
8. Capstone and final exam
- Capstone: deploy and protect a website
- Final exam