APACHE-WEB
Apache 2.4 web server administration
Description
In the Apache Web Server - Linux course you will learn how to install and administer the service. The skills you will learn during the course include Apache installation, basic web server operation, configuration, URL mapping, directory indexing, virtual hosting, performance tuning and security.
This course is designed to prepare administrators for Apache web server installation, configuration, security, and administration. and optimize for performance.
Knowledge to be acquired in this course:
- Apache web server installation
- Configure Apache web server
- How to troubleshoot Apache Server
- Improve operational security
- Creating a site to serve dynamic content
Outline
Introduction
- Scanning the Apache Web Server
- Apache Features Features
- mpm_prefork overview
- mpm_worker Overview
- mpm_event Overview
- HTTP2 protocol and configuration overview
Apache 2.4 default post-installation directory files and their locations and roles
- bin
- cgi-bin
- conf
- error
- htdocs
- icons
- include
- modules
- document root
Virtual Hosts
- < VirtualHost> directive
- IP-based
- Name-based
- Port-based
- Virtual Host container
- Virtual Host Setup-Create Virtual Host
- Bulk virtual host configuration - mod_vhost_alias
Configuration
- Configuration basics
- Apache Core Features
- Directory definitions in httpd.conf <Directory>
- The Options definition
- Directory Indexing-IndexOptions (index.html,index.php)
- DirectoryIndex (indexing configuration, nice lists)
- Omitting files with IndexIgnore
- .htaccess (allowoweride)
- Manage HTTP Status codes with Error Documents
Directory, Files, Location (check processing order)
- MIME types, mod_mime guidelines
- Content adaptation to client needs - mod_negotiation
- Checking the httpd.conf syntax
Loading modules
- The place and role of modules in the operation
- Loading modules and their parameterisation
- mod_cgi, creating dynamic content with cgi scripts
- Loading executable code and modules into the server on startup or restart mod_so
Security
- Secure Socket Layer
- Certificate creation (letsencrypt, selfsigned)
- Access Control
- Host and IP
- Authentication
- Basic Authentication
- Digest Authentication
- Client-side certificate enforcement
- SELinux + Apache
- mod_sec installation
Logging and debugging
- Logging in apache (and overview) - mod_log_config
- Conditional logging
- ErrorLog
- CustomLog
- Rotatelog
- Debugging HTTP traffic analysis - tcpick, tshark
- Apachetop
- mod_info, mod_status
URL management
- Mapping URLs to filesystem path
- mod_alias options (Redirect, Alias)
- use mod_rewrite
- RewriteRule flags
- RewriteCond
- Rewrite maps
- Rewrite alternatives, simplifications
PHP
- Installation (remi repo)
- httpd setup
- ini to review and make the necessary settings
- modify php parameters using .htaccess
- Basic PHP Webpage writing (end testing, enable logging)
- MariaDB Apache PHP (install phpmyadmin)
- Securing WordPress installation, using wpscan, php optimizing php for wp for daily use
Mod Proxy and Mod Proxy Balance
- Apache as Proxy Server
- HTTP -> HTTP
- HTTPS -> HTTP (especially headers: X-Forwarder-Proto)
- HTTPS -> HTTPS (splitting https traffic, SSLProxyEngine)
The course will conclude with an exercise where students will have the opportunity to put into practice what they have learned in a complex problem-solving exercise, resulting in a working Wordpress site.
Prerequisites
Basic Linux knowledge and networking skills (LNX01-03) are recommended to participate in the course.