Module Title: dgt_sys04 – Apache Web Server
Overview:
This module, part of the “Amministrazione Sistemi Linux” program, focuses on the configuration and management of the Apache HTTP Server. It is intended for system administrators who want to strengthen their web server skills, and covers how an Apache web server is set up, optimized and secured.
The theory comes first: Apache’s architecture, its directives, its modules and how requests flow through them. In the labs you then run the server entirely in natural language: you ask the machine to install Apache, create a virtual host or enable TLS, read the configuration files it writes, and check them line by line against what you have learned before anything goes live.
Objectives:
- Understand the architecture and components of the Apache Web Server.
- Learn how Apache is installed and configured on Linux systems, and how to direct the machine to do it in natural language.
- Learn configuration directives and modules well enough to review and correct the configuration the machine generates.
- Specify, verify and troubleshoot virtual hosts for hosting multiple websites.
- Recognize security best practices and check that the machine has actually applied them.
- Understand performance tuning techniques and evaluate the tuning changes the machine proposes.
Curriculum:
- Introduction to Apache Web Server
- History and overview of Apache HTTP Server
- Comparison with other web servers Nginx, IIS
-
Key features and benefits
-
Installation and Basic Configuration
- Installation on various Linux distributions and how it differs between them
- Understanding the directory structure
-
Configuring basic server settings
-
Configuration Directives and Modules
- Exploring core directives: ServerRoot, DocumentRoot, Listen, etc.
- Enabling and configuring modules mod_ssl, mod_rewrite
-
Customizing logging options for better monitoring
-
Virtual Hosting
- Setting up name-based virtual hosts
- Configuring IP-based virtual hosting
-
Managing multiple domains with SSL/TLS
-
Security Enhancements
- Implementing HTTPS and securing communications
- Configuring firewalls and access control lists ACLs
-
Applying security headers and best practices
-
Performance Optimization
- Tuning Apache for high traffic scenarios
- Leveraging caching mechanisms mod_cache, mod_expires
-
Load balancing and reverse proxy configurations
-
Monitoring and Troubleshooting
- Tools and techniques for monitoring server performance
- Common issues and troubleshooting methods
-
Log analysis and debugging
-
Natural-Language Labs and Projects
- Real-world scenarios in which you describe the goal to the machine and verify the result
- Asking the machine to deploy a sample application on Apache, then reviewing its configuration
- Instructing the machine to secure and optimize a test web environment, and testing that the changes really work
Resources:
- Access to module materials, including lecture notes and configuration examples.
- Interaction with community resources via GitHub repository: Garanti-Del-Talento/gdt_academy/dgt_sys04__apache_web_server
- The repository contains additional configuration files, scripts and documentation to compare with what the machine produces during the exercises.
- Access to forums and support channels for collaborative learning.
Prerequisites:
- Basic knowledge of Linux operating systems
- Familiarity with the command-line interface CLI, enough to read and understand the commands the machine runs
- Understanding of networking concepts
Certification:
Upon successful completion, participants will receive a certificate recognizing their proficiency in Apache Web Server administration as part of the “Amministrazione Sistemi Linux” program.
The students can push their exercises to the Academy DevOps & SRE Git project. For this module, create a folder with your username as its name in the following subfolder: https://github.com/Garanti-Del-Talento/gdt_academy
