Course Description:
This course is designed to provide students with the skills and knowledge needed to effectively administer and manage Linux servers. The course covers a wide range of topics, from installation and configuration to security, networking, and advanced administration tasks.
Overview of server administration concepts
Differentiating between Linux distributions for servers
Setting up a virtual lab environment for practical exercises
Installing a Linux server distribution
Post-installation tasks: user setup, network configuration, hostname, and updates
Introduction to package management for servers
User and group administration
User authentication methods: passwords, SSH keys
Implementing sudo and doas for privilege escalation
Managing file systems and disk partitions
Disk management tools: `fdisk`, `parted`, `lsblk`
Introduction to LVM (Logical Volume Management)
Configuring network interfaces and addressing
Managing network services: `systemd-networkd`, `NetworkManager`, `netplan`
Secure remote access with SSH and key-based authentication
Basic server security practices
Introduction to firewalls: `iptables`, `ufw`
Securing SSH access: disabling root login, changing ports
Installing and configuring Apache and Nginx
Hosting static and dynamic content
Implementing virtual hosts and SSL/TLS certificates
Dark web Server Configuration
Introduction to database management systems (MySQL/MariaDB)
Installation, configuration, and user management
Backing up and restoring databases
Configuring Network File Sharing
Samba Server Configuration
FTP Server Configuration
iSCSI Server Configuration
Setting up a DNS server with BIND
Configuring DHCP for dynamic IP allocation
Understanding DNS records and zones
Monitoring server performance with `top`, `htop`, and `sar`
Introduction to system logging and `syslog`
Setting up centralized logging with `rsyslog`
Introduction to virtualization with KVM and VirtualBox
Overview of containerization with Docker
Creating and managing virtual machines and containers
Backup strategies and tools: `rsync`, `tar`, `tar`
Introduction to disaster recovery planning
Performing system restores from backups
Course Objectives:
By the end of this program, students should be able to:
-
Server Basics: Understand the fundamentals of server administration, including
-
File System Mastery: Gain proficiency in managing file systems, partitions, and storage using essential Linux tools.
-
Security Essentials: Learn server security practices, including user authentication, firewalls, and secure remote access.
-
Web Services Setup: Install and configure web servers, hosting static and dynamic content, and implementing SSL/TLS encryption.
-
Database Management: Acquire skills in setting up and administering database servers, including user management and backups.
-
Network Services: Learn to configure DNS and DHCP servers for efficient network management.
-
Monitoring and Logging: Master the art of monitoring server performance, understanding system logs, and implementing centralized logging.
-
Virtualization and Containers: Explore virtualization using KVM and containerization with Docker to optimize resource utilization.
-
Backup and Recovery Strategies: Develop effective backup plans and learn recovery techniques to ensure data safety.
-
Final Project: Apply learned concepts to design and configure a functional Linux server, demonstrating comprehensive administration skills.