Linux Engineering
The way of the penguin is vast and unforgiving. One wrong chmod and the kingdom falls. Here you shall master the shell, tame the network, and learn why "it works on my machine" is not a valid deployment strategy.
Database Services
6 lessonsRDBMS fundamentals, MySQL and PostgreSQL administration, replication, and backup strategies.
- 1 Relational Database Fundamentals Relational model theory, SQL foundations, ACID properties, normalization, and choosing the right RDBMS for Ubuntu Server.
- 2 MySQL Installation and Administration Installing MySQL Server on Ubuntu, secure initial setup, user management, database creation, and essential administration commands.
- 3 MySQL Replication and High Availability MySQL asynchronous and semi-synchronous replication, GTID-based replication, Group Replication, and high-availability architectures.
- 4 PostgreSQL Installation and Administration Installing PostgreSQL on Ubuntu, architecture overview, pg_hba.conf authentication, role management, database administration, and configuration tuning.
- 5 PostgreSQL Replication and Performance PostgreSQL streaming replication, logical replication, PgBouncer connection pooling, query optimization with EXPLAIN, and performance tuning.
- 6 Database Backup Strategies Logical and physical backup methods for MySQL and PostgreSQL, point-in-time recovery, automated scheduling with cron, retention policies, and offsite storage.
File Sharing & Print
6 lessonsNFS, Samba file server and AD DC, FTP with vsftpd, and CUPS print server.
- 1 File Sharing Protocols Overview Compare NFS, SMB/CIFS, and FTP protocols — their architecture, use cases, and port requirements.
- 2 NFS Server and Client Configure NFS exports, mount remote file systems, and set up autofs for on-demand mounting.
- 3 Samba as a File Server Install and configure Samba to share files between Linux and Windows systems using the SMB/CIFS protocol.
- 4 Samba as Active Directory DC Provision a Samba-based Active Directory Domain Controller for centralized authentication, DNS, and Kerberos services.
- 5 FTP with vsftpd Deploy and secure vsftpd for FTP file transfers with chroot jails, TLS encryption, and virtual user authentication.
- 6 Print Server with CUPS Deploy CUPS as a network print server with IPP, manage printers and classes, configure sharing, and enable PDF printing.
Linux Fundamentals
10 lessonsShell basics, filesystem, processes, systemd, package management, and kernel fundamentals.
- 1 The Linux Operating System Linux kernel, distributions, and the Ubuntu Server ecosystem.
- 2 Shell Navigation and File System Master the bash shell, navigate directories, and manage files with essential Linux commands.
- 3 Users, Groups, and Permissions Manage user accounts, groups, and file permissions on Linux.
- 4 Process Management and Signals View, control, and send signals to running processes on Linux.
- 5 systemd and Service Management Manage system services with systemctl, unit files, and journalctl.
- 6 Package Management with APT Install, update, and manage software packages on Ubuntu with APT and dpkg.
- 7 Text Processing and Shell Scripting Use grep, sed, awk, pipes, and bash scripting to automate Linux tasks.
- 8 Storage and Logical Volume Management Work with block devices, filesystems, mount points, and LVM on Linux.
- 9 Scheduling and Automation Automate recurring tasks with cron, systemd timers, at, and logrotate.
- 10 Kernel and Boot Process Understand the Linux boot sequence, GRUB, kernel modules, and kernel parameters.
Mail Services
6 lessonsSMTP/IMAP/POP3 protocols, Postfix, Dovecot, Exim4, SPF/DKIM/DMARC, and mail stack integration.
- 1 Email Protocols: SMTP, IMAP, POP3 Understanding the core email protocols — SMTP for sending, IMAP and POP3 for retrieval — and how they work together.
- 2 Postfix Mail Transfer Agent Installing and configuring Postfix as a Mail Transfer Agent on Ubuntu Server for sending and receiving email.
- 3 Dovecot IMAP/POP3 Server Installing and configuring Dovecot to provide IMAP and POP3 mailbox access, with TLS encryption and Postfix integration.
- 4 Email Security: SPF, DKIM, DMARC Implementing SPF, DKIM, and DMARC to authenticate email, prevent spoofing, and improve deliverability.
- 5 Exim4 Mail Transfer Agent Configuring Exim4 as a Mail Transfer Agent on Debian/Ubuntu, understanding its configuration model, and comparing it with Postfix.
- 6 Complete Mail Stack Integration Building a production-ready mail server by integrating Postfix, Dovecot, OpenDKIM, Let's Encrypt TLS, and DNS authentication into a unified stack.
Monitoring & High Availability
6 lessonsNagios, Logwatch, Journald, Bacula, rsnapshot, DRBD replication, and Pacemaker clustering.
- 1 System Monitoring Fundamentals Core concepts of system monitoring, resource metrics, and essential Linux monitoring tools.
- 2 Nagios Core Monitoring Deploy and configure Nagios Core for centralized infrastructure monitoring with plugins, alerts, and dashboards.
- 3 Log Management with Logwatch and Journald Centralize, filter, and analyze system logs using systemd-journald, Logwatch, and rsyslog for operational awareness.
- 4 Backup with Bacula and rsnapshot Implement enterprise backup strategies using Bacula for full/incremental jobs and rsnapshot for snapshot-based rotation.
- 5 DRBD Block Replication Configure DRBD for real-time block-level replication between servers, enabling high-availability shared storage.
- 6 Pacemaker HA Clustering Build fully automated high-availability clusters with Corosync messaging, Pacemaker resource management, and STONITH fencing.
Security & Authentication
8 lessonsOpenSSH, AppArmor, Kerberos, OpenLDAP, SSSD/AD integration, OpenVPN, and WireGuard.
- 1 Linux Security Fundamentals Defense in depth, least privilege, auditing, PAM, sudo hardening, and security benchmarks for Ubuntu Server.
- 2 OpenSSH Server and Client Configure OpenSSH for secure remote access with key-based authentication, tunneling, and advanced client features.
- 3 AppArmor Mandatory Access Control Confine applications with AppArmor profiles using enforce and complain modes, aa-genprof, and aa-logprof on Ubuntu Server.
- 4 Kerberos Authentication Deploy a Kerberos Key Distribution Center on Ubuntu for ticket-based single sign-on across network services.
- 5 OpenLDAP Directory Service Build a centralized directory with OpenLDAP on Ubuntu using the Directory Information Tree, LDIF, schemas, and ACLs.
- 6 SSSD and Active Directory Integration Join Ubuntu servers to Active Directory with realmd and SSSD for centralized authentication, id mapping, and GPO support.
- 7 OpenVPN Setup Build a TLS-based VPN with OpenVPN using easy-rsa PKI, server and client configuration, and routing versus bridging modes.
- 8 WireGuard VPN Deploy a modern, high-performance VPN with WireGuard using cryptokey routing, wg genkey, wg0.conf, peer configuration, and wg-quick.
TCP/IP & Networking
10 lessonsOSI model, TCP/IP stack, sockets, DNS, DHCP, firewall, and network troubleshooting.
- 1 OSI Model and TCP/IP Protocol Suite The 7-layer OSI model, TCP/IP 4-layer model, and how data flows through network layers.
- 2 IP Addressing, Subnetting, and CIDR IPv4 structure, private ranges, subnet masks, CIDR notation, and an introduction to IPv6.
- 3 Socket Programming Fundamentals How applications communicate over networks using the socket API, with hands-on TCP/UDP examples.
- 4 Routing and Switching Basics How packets are forwarded between networks, routing tables, default gateways, and Linux as a router.
- 5 Network Configuration with Netplan Ubuntu declarative YAML-based network configuration for interfaces, addresses, routes, and DNS.
- 6 DNS Fundamentals How the Domain Name System translates names to IPs, DNS hierarchy, record types, and query tools.
- 7 Setting Up BIND 9 DNS Server Deploy an authoritative BIND 9 DNS server on Ubuntu to host forward and reverse zones.
- 8 DHCP Server with isc-kea Deploy isc-kea DHCP server on Ubuntu for dynamic IP assignment, reservations, and DNS integration.
- 9 Firewall with ufw and iptables Control network traffic with ufw (Uncomplicated Firewall) and the underlying iptables/nftables framework.
- 10 Network Troubleshooting Tools Comprehensive toolkit: ping, traceroute, mtr, ss, tcpdump, nmap, and Wireshark for diagnosing network issues.
Virtualization & Containers
7 lessonsQEMU/KVM, Libvirt, LXD system containers, Docker fundamentals, and cloud-init.
- 1 Virtualization Concepts Type 1 and Type 2 hypervisors, hardware virtualization extensions, and containers vs virtual machines.
- 2 QEMU/KVM Virtual Machines Creating and managing virtual machines with QEMU and KVM acceleration on Ubuntu.
- 3 Libvirt and virsh Management Managing virtual machines with libvirt daemon and virsh command-line tool.
- 4 LXD System Containers Running full Linux system containers with LXD for lightweight virtualization.
- 5 Docker Fundamentals Building and running application containers with Docker images, Dockerfiles, and container networking.
- 6 Docker Compose and Orchestration Defining and managing multi-container applications with Docker Compose.
- 7 cloud-init and Cloud Images Automating instance initialization with cloud-init datasources, user-data, and cloud-config modules.
Web Services
7 lessonsHTTP fundamentals, Apache2, Nginx, TLS certificates, PHP deployment, and proxy servers.
- 1 HTTP Protocol Fundamentals Understanding the HTTP protocol, request/response lifecycle, methods, status codes, and headers.
- 2 Apache2 Web Server Install, configure, and manage the Apache2 HTTP server on Ubuntu with virtual hosts and modules.
- 3 Nginx Web Server Install, configure, and optimize the Nginx web server on Ubuntu with server blocks and performance tuning.
- 4 TLS Certificates and HTTPS Secure web servers with TLS certificates, Let's Encrypt, and HTTPS configuration for Apache and Nginx.
- 5 PHP and Application Deployment Install PHP-FPM, integrate with Apache and Nginx, configure database connectivity, and deploy PHP applications.
- 6 Reverse Proxy and Load Balancing Configuring Nginx as a reverse proxy and load balancer with upstream directives, balancing algorithms, health checks, and proxy headers.
- 7 Squid Proxy Server Installing and configuring Squid as a forward proxy with ACLs, http_access rules, cache configuration, and basic authentication on Ubuntu Server.