Seminarinhalt
Der Apache Webserver ist der weltweit am häufigsten eingesetzte Webserver. In diesem Apache Training wird die optimale Konfiguration, Pflege und Wartung eines Webservers erlernt. Auch fortgeschrittene Themen wie externe Benutzerdatenbanken, erhöhte Sicherheitseinstellungen und die Anforderungen durch IPv6 werden ausreichend behandelt.
Jede*r Teilnehmer*in erhält mehrere Linux VMs (SUSE, Red Hat und Debian) und hat die Möglichkeit das erlernte Wissen auf allen Plattformen zu testen.
Jede*r Teilnehmer*in erhält mehrere Linux VMs (SUSE, Red Hat und Debian) und hat die Möglichkeit das erlernte Wissen auf allen Plattformen zu testen.
Programm
Web Grundlagen
Apache Webserver Grundlagen
Apache HTTP Server Grundkonfiguration
Einbinden und konfigurieren von zusätzlichen Apache Modulen
Einrichten von Virtual Hosts auf Apache
Apache und Sicherheitseinstellungen
Apache Logging und Troubleshooting
Apache Webserver Tuning
- Aufbau eines (X)HTML Dokumentes
- Funktionsweise des HTTP-Protokolls
- HTTP Request und HTTP Responce im Detail
- HTTP Methoden
- HTTP Header Felder
- HTTP Status Codes (1xx, 2xx, 3xx, 4xx, 5xx)
- Common Gateway Interface (CGI)
Apache Webserver Grundlagen
- Apache Versionen und Linux Distributionen
- Funktionserweiterungen durch Apache Module
- Apache Portable Runtime (APR)
- Apache Multiprocessing Module (MPM)
Apache HTTP Server Grundkonfiguration
- Installation auf SUSE, CentOS und Debian
- Aufbau der Konfigurationsdateien
- Unterschiede beim Verzeichnislayout auf SUSE, CentOS und Debian
- Gängige Directiven in der httpd.conf, apache2.conf
- Apache Verwaltungsprogramme
- httpd, apachectl, ab, htpasswd, logresolve, rotatelogs,...
- a2enmod, a2dismod, a2ensite, a2dissite, a2enflags
- DocumentRoot und Dateirechte
- Listen Directive und IPv4 und IPv6 Konfiguration
- Verzeichniseinstellungen mit Options konfigurieren
- Indexes, FollowSymLinks, SymLinksIfOwnerMatch, Multiviews, ...
- Flexible Konfiguration mit if-Directiven (IfDefine, IfModule, If expression)
- URL Rewriting mit mod_alias
- Alias, ScriptAlias
- Redirect
- Container Direktiven
- Directory, Files, Location
- DirectoryMatch, FilesMatch, LocationMatch
- Dezentrale Verwaltung mit .htaccess Dateien
Einbinden und konfigurieren von zusätzlichen Apache Modulen
- mod_php, mod_status, mod_info, mod_dir, mod_autoindex, mod_userdir, mod_negotiation, mod_ssl, mod_vhost_alias, mod_alias, mod_redirect
Einrichten von Virtual Hosts auf Apache
- Port basierend
- IP-basierend
- Namens-basierend
- Alias-basierend
- Default Virtual Host (_default_:*)
- Massenhosting mit mod_vhost_alias
- Unterschiede auf SUSE, RHEL und Debian
Apache und Sicherheitseinstellungen
- Zugriff auf Webserverbereiche einschränken mit
- mod_access_compat (Allow, Deny, Order, Satisfy)
- mod_authz_core (Require, RequireAll, RequireAny, RequireNone)
- Absicheren von Webseiten mit Benutzerauthentifizierung
- Praktisches Beispiel mit der Apache Benutzer Datenbank (mod_auth_basic, mod_authn_file, mod_authz_user, mod_authz_groupfile)
- Theorie: Varianten mit LDAP, Kerberos, usw. (mod_authnz_ldap, mod_ldap, mod_auth_mysq, mod_auth_kerb)
- SELinux Einstellungen (Apache spezifische SELinux File Types, fcontext, port, booleans,...)
- Einschränken des Apache Servers Footprint (ServerSignature, ServerTokens, X-Content-Encodes-By, X-Powered-By,...)
- Secure Socket Layer (SSL)
- Verbindungsaufbau via HTTPS im Detail
- Erstellen von Server Zertifikaten mit openssl
- Einbinden der Zertifikatsdateien in SUSE, CentOS und Debian
- VHOST durch SSL absichern
- Automatischer Redirect von Port 80 auf 443
- Apache SSL Einstellungen für erhöhte Sicherheit (SSLProtocol, SSLCipherSuite,...)
- PHP Integration
- PHP Installation auf SUSE, CentOS und Debian
- Apache PHP Integration testen
Apache Logging und Troubleshooting
- Apache Server Auslastungsstatus bereitstellen mit mod_status
- Apache Server Konfigurationsstatus bereitstellen mit mod_info
- Apache Logging Konfiguration mit mod_log_config
- Logformat
- Aufbau der StandardLog Formate (common, combined)
- Log Datei Variablen im Detail
- Definieren von eigenen Log Formaten
- CustomLog Konfiguration
- ErrorLog Konfiguration
- Apache Modul spezifisches anpassen des LogLevel
- Rotieren der Logdateien
- Auswertungsprogramme für das Apache Access Log
- Programme im Überblick (apachetop, Apache Log Viewer, Webalizer, awstats, Kibana,...)
- Live Analyse mit apachetop
- Grafische Auswertung mit Awstats
Apache Webserver Tuning
- Grundlagen Ressourcenbedürfnisse von Webservern (CPU, Disk I/O, Memory, Threads, Connections, ...)
- Empfohlene Analysewerkzeuge wie ab, PageSpeed Insights, Browser Developer Tools, Apache JMeter im Überblick
- Web Content komprimierung mit mod_deflate und mod_filter
- Definieren von Web Crawler Einstellungen mit einer robots.txt
- Apache Multiprozessing Module (mod_prefork, mod_event, mod_worker)
- Grundlagen Prozesse und Threads
- Tuning Einstellungen der MPM Module
- Persistent Connection und KeepAlive Einstellungen
Zielgruppen
Linux Administrator*innen
Vorkenntnisse
Diese Schulung richtet sich an Teilnehmer*innen mit Administrationserfahrungen im Linux Bereich wie sie durch unseren "Linux 1 - Grundlagen" Kurs vermittelt werden.
Es sind keine Web Programmierkenntnisse erforderlich!
Es sind keine Web Programmierkenntnisse erforderlich!