Extending Apache 2. Erik Abele. LinuxTag 2005, Karlsruhe. Erik Abele Technology Consulting Apache Software Foundation



Ähnliche Dokumente
Extending Apache 2. Erik Abele. 4. Juni Lizenzbestimmungen

Apache HTTP Server Version / 5. Seitenindex

Inhalt. Vorwort Zusammenfassung 48

Grundlagen der Web-Entwicklung

Grundlagen der Web-Entwicklung INF3172

1 Apache-Grundlagen Apache Vergleich Apache 1.3.x vs. 2.x Migration Apache 1.x auf 2.x Funktionsweise des Apache 26

Sascha Kersken. Apache 2.2. Das umfassende Handbuch. Galileo Press

Apache HTTP Server Administration

Auf einen Blick ODH 12 CGI Weitere Features 689

Ersatzteile der Extraklasse Magento-Module der Shopwerft

Der Apache HTTP Web- Server

IT-Symposium Mai 2006

ABACONNECT VERWENDUNG VON APACHE TCPMON UTILITY MIT ABACONNECT WEBSERVICES

Hans Bachner Hewlett-Packard

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Managed VPSv3 Was ist neu?

How-to: Webserver NAT. Securepoint Security System Version 2007nx

e-books aus der EBL-Datenbank

4D Server v12 64-bit Version BETA VERSION

Planung für Organisation und Technik

B E N U T Z E R D O K U M E N TA T I O N ( A L E P H I N O

ATHOS Benutzertreffen

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Apache HTTP Server Administration

Apache. O'REILLY Beijing Cambridge Farnham Köln Paris Sebastopol Taipei Tokyo. Das umfassende Handbuch. Ben Laurie und Peter Laurie 2.

Preise und Leistungen Dynamic Computing Services

Installationsanleitung für Magento-Module

Abacus Formula Compiler (AFC)

Apache HTTP-Server Teil 1

ISA Server 2004 Einzelner Netzwerkadapater

Version Deutsch In diesem HOWTO wird beschrieben wie Sie Ihren Gästen die Anmeldung über eine SMS ermöglichen.

ERPaaS TM. In nur drei Minuten zur individuellen Lösung und maximaler Flexibilität.

Horstbox VoIP. Stefan Dahler. 1. HorstBox Konfiguration. 1.1 Einleitung

Apache HTTP-Server Teil 1

Puppet - Implementing Modules. Von der Planung bis zur Umsetzung. Alexander Pacnik Karlsruhe,

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Dieser Artikel beschreibt die Veröffentlichung eines Microsoft SQL Server 2000 über einen ISA Server 2004.

Qt-Projekte mit Visual Studio 2005

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Reporting Services und SharePoint 2010 Teil 1

Anleitung BFV-Widget-Generator

Python SVN-Revision 12

Universität Zürich Informatikdienste. SpamAssassin. Spam Assassin Go Koordinatorenmeeting 27. April

Freifunk Sundern. Ein freies WLAN Netz

Installation & Konfiguration AddOn AD-Password Changer

SERVICE SUCHE ZUR UNTERSTÜTZUNG

B E N U T Z E R D O K U M E N TA T I O N ( A L E P H I N O

Anforderungen an die HIS

Perceptive Document Composition

Um das Versenden von Anhängen an s zu ermöglichen, wurde der Assistent für die Kommunikation leicht überarbeitet und wo nötig verbessert.

Lokale Installation von DotNetNuke 4 ohne IIS

SCHULUNG MIT SYSTEM: E-LEARNING VON RAUM21

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

PCC Outlook Integration Installationsleitfaden

Internet Explorer Version 6

SDD System Design Document

... über OGVIT GmbH & Co. KG

LabTech RMM. Monitoring von MDaemon. Vertraulich nur für den internen Gebrauch

Switch 1 intern verbunden mit onboard NICs, Switch 2 mit Erweiterungs-NICs der Server 1..6

Silverstripe CMS und das Sapphire Framework

Ticketing mit JIRA Kurzanleitung

Herzlich Willkommen. Roland Kistler. Tel. +49 (89) Sales Engineer. Folie 1

Stud.IP Performance Testing

MO 27. Aug. 2007, 17:00 UHR JAVA FRAMEWORKS TIPPS VON PROFI-GÄRTNERN GEGEN WILDWUCHS

Machen Sie Ihr Zuhause fit für die

Multi-Server Shutdown. Folie 1

InfoPoint vom 9. November 2011

DER BESSER INFORMIERTE GEWINNT!

SharePoint Demonstration

ADSL-Verbindungen über PPtP (Mac OS X 10.1)

Webserver allgemein Voraussetzung für die Integration von Plone NginX Apache 2 Demonstration Zusammenfassung

Agile Software Verteilung

Frage und Antworten zum Webcast: Virtual Server 2005 :

SAP NetWeaver Gateway. 2013

Benutzerhandbuch MedHQ-App

LOG-FT BAG Filetransfer zum Austausch mit dem Bundesamt für Güterverkehr (BAG) Kurzanleitung

Technical Note ewon über DSL & VPN mit einander verbinden

Sicherheit QUALITÄTSSICHERUNG DESIGNER24.CH V 1.2. ADRESSE Designer24.ch Web Print Development Postfach Turbenthal Schweiz

Verwendung des IDS Backup Systems unter Windows 2000

Forefront Threat Management Gateway (TMG) und Forefront Unified Access Gateway (UAG) Die perfekte Lösung

Virtual Private Network

MetaQuotes Empfehlungen zum Gebrauch von

ISA Einrichtung einer DFUE VErbindung - von Marc Grote

Konzept zur Push Notification/GCM für das LP System (vormals BDS System)

Administrator Handbuch

Installation eines SSL Zertifikates unter Apache http Server 2.x

Installation der SAS Foundation Software auf Windows

Service. Was ist eine Enterprise Service Architecture und wie reagiert SAP. Warum Monitoring in ZENOS, was monitort die XI?

PAUL App. Anleitung für Studierende und Lehrende

Enterprise Control Center. Systemvoraussetzungen V2.1

Grundlagen für den erfolgreichen Einstieg in das Business Process Management SHD Professional Service

System der. Bühnensteckverbind 63A ( System Eberl ) REICHE & VOGEL-B.DELTSCHAFT. Blumenstr.10 D Berlin (Spandau)

Die Coaching-Lösung der Nächsten Generation

AirKey Das Handy ist der Schlüssel

Anlegen eines virtuellen http Server unter Exchange 2003 mittels HOSTNAME

UNIX-Stammtisch, TU Chemnitz. UNIX-Stammtisch: Chemnitz, Content Management mit TYPO3. Sebastian Meyer.

INSTALLATIONSANLEITUNG

Transkript:

Extending Apache 2 LinuxTag 2005, Karlsruhe Erik Abele Erik Abele Technology Consulting Apache Software Foundation

Apache History 1994 NCSA HTTPd (University of Illinois) 1995 "A patchy server" wird geboren April: Apache 0.6.2 - erstes öffentl. Release Dezember: Apache 1.0 1997 Apache 1.2.0 1998 Apache 1.3.0 1999 Gründung Apache Software Foundation 2000 Apache 2.0 Alpha 1 2002 Apache 2.0 GA 2004 Apache 2.1 Beta 1 2005 Apache 2.2, 70% Marktanteil (1.x/2.x) Ex tending Apache 2 2

Apache 2.2: New Features Basierend auf Apache Portable Runtime 1.0 MPMs (Multi-Processing Module) Smart Filtering, Caching & Load-Balancing Built-in AJP-, LDAP-, DAV- und IPv6-Support Built-in SSL/TLS und Multi-Protokoll-Support Modul-Erweiterungen & -Verbesserungen Neu: mod_dav, mod_deflate, mod_logio,... Verfeinert: mod_include, mod_negotiation,... XHTML-konforme, mehrsprachige Fehlerdokumente integriert Drastisch verbesserte Modul-API Ex tending Apache 2 3

Modulares Design Ermöglicht höchste Portabilität Multi-Processing Module (MPMs) Ermöglicht äusserste Flexibilität und Effizienz Erweiterung der Funktionalität Ca. 70 Module werden mitgeliefert Unzählige weitere Module frei verfügbar Reduktion der Funktionalität Zum Beispiel zur Verringerung des Memory-Footprints Selbst Basis-Funktionen sind als Module realisiert Ermöglicht Entwicklung von Modulen in C/C++ Offene und transparente Entwicklungs-Schnittstellen 'Cross-Platform for free' da basierend auf APR Ex tending Apache 2 4

Multi-Processing Module (MPMs) Ein MPM definiert wie der Server eingehende Anfragen empfängt und verarbeitet Verschiedene Prozess-Modelle Plattform- & OS-spezifische Optimierungen Reliability vs. Scalability vs. Performance vs. Features Auswahl eines MPMs bei der Compilierung Verfügbare Multi-Processing-Module Plattform- & OS-spezifische MPMs winnt, beos, netware, os2 Unix-/Linux-spezifische MPMs prefork, worker, event, perchild, leader, threadpool Dritthersteller-MPMs, z.b. Metux-MPM Ex tending Apache 2 5

Prefork vs. Worker Prefork Jeder Kindprozess verarbeitet jeweils nur eine Verbindung viel Verkehr, viele Kinder :) Worker Multi-threaded innerhalb eines jeden Kindprozesses jeder Thread verarbeitet jeweils eine Verbindung Ex tending Apache 2 6

'Funktionalitäts'-Module Aufteilung der Request-Verarbeitung in Phasen Header Parsing, Content-Generation, Logging,... Nahezu jede Phase kann beeinflusst werden Möglichkeit der Protokollverarbeitung Alle internen Funktionalitäten basieren grundsätzlich auch auf Modulen Ca. 70 Module mitgeliefert, Hunderte verfügbar Modul-Verwendung auch ohne Neu- Compilierung durch Dynamic Shared Objects Konfiguration i.d.r. mittels Modul-eigenen Direktiven Ex tending Apache 2 7

Mitgelieferte Module I Generatoren Filter mod_cgi(d), mod_autoindex, mod_asis, mod_info mod_deflate, mod_ext_filter, mod_include Request-Mapping mod_alias, mod_rewrite, mod_negotiation, mod_dir Access-Control Methoden: Basic und Digest Providers: file, dbm, ldap Authorisierung basierend auf z.b. Username, Gruppenzugehörigkeit, Herkunftshost, Dateibesitzer Ex tending Apache 2 8

Mitgelieferte Module II Logging, Monitoring & Debugging mod_log_config, mod_logio, mod_log_forensic mod_status, mod_info, mod_dumpio Metadaten-Verarbeitung mod_mime, mod_expires, mod_env, mod_headers (Reverse) Proxying & Load-Balancing mod_proxy mit HTTP(S)-, AJP-, FTP-Support Integrierter Load-Balancer Caching (Pre-Selection, URI-Keyed) mod_file_cache mod_cache mit Storage-Managern Disk oder Mem Ex tending Apache 2 9

Mitgelieferte Module III WebDAV mod_dav mit FS-Backend und GenericLocking-Modul Protokoll-Verarbeitung mod_ssl, mod_echo Sonstige Module Utils: mod_ident, mod_unique_id, mod_usertrack Support: mod_version, mod_ldap Experimentell: mod_filter, mod_charset_lite OS-spezifisch: mod_isapi, mod_win32, mod_netware Intern: mod_so, mod_core Veraltet: mod_cern_meta, mod_imap Ex tending Apache 2 10

Weitere verfügbare Module Apache Software Foundation mod_perl, mod_python, mod_aspdotnet, mod_tcl, mod_arm4, mod_mbox, mod_pop3 Unzählige OpenSource-Module modules.apache.org: 378 reg. Module Apache Module Report (securityspace.com) Platz 1: mod_php Platz 2: mod_ssl Platz 3: Frontpage Google: 'Apache Module', SourceForge,... Kommerzielle Module Ex tending Apache 2 11

Populäre OpenSource-Module I Embedded Languages mod_php, mod_tcl, mod_ruby, mod_mono,... Filter mod_accessibility, mod_tidy, mod_acronym mod_clamav, mod_validator, mod_csv, mod_txt mod_xhtml, mod_xml, mod_xslt, mod_upload Mass & DB-basiertes Virtual-Hosting mod_vhs, mod_vhost_mysql2 DB-basierte Authentication/Authorization mod_authn_dbi, mod_auth_form, mod_auth_sim mod_auth_mysql, mod_auth_pam, mod_auth_kerb Ex tending Apache 2 12

Populäre OpenSource-Module II Web-Frameworks mod_frontpage, mod_spin, mod_publisher Bandwidth-/Connection-Limiting bw_mod, mod_vhost_limit, mod_limitipconn IDS, Logging & Monitoring mod_security, mod_dosevasive, mod_fortress mod_log_mysql, mod_log_firstbyte, mod_uid mod_ap2_snmp, mod_arm4, mod_benchmark Miscellaneous mod_fcgid, mod_gridsite, mod_macro, mod_loadavg mod_dav_svn, mod_bt, mod_cbroker, mod_dnsbl Ex tending Apache 2 13

Modul-Installation I Statisch oder als Shared Library (DSO)? httpd -l gibt Auskunft über statisch gelinkte Module, z.b. eine Minimal-Konfiguration: Compiled in modules: core.c prefork.c http_core.c mod_so.c httpd -M gibt zus. Auskunft über die mit der angegebenen Konfiguration geladenen DSOs mod_so wird für DSO-Support benötigt Ex tending Apache 2 14

Modul-Installation II Mitgelieferte MPMs bzw. Basis-Module --with-mpm=mpm --enable-module=(shared static) --enable-modules='module-list' --enable-mods-shared='module-list' Externe Module Static --with-module=module-type:module-file Shared apxs -c mod_foo.c apxs -i -n mod_foo mod_foo.la oder./configure --with-apxs=/path/to/apxs Ex tending Apache 2 15

Modul-Konfiguration DSO-Module müssen explizit geladen werden LoadModule module_foo lib/mod_foo.so Reihenfolge nicht relevant, kein AddModule mehr Sonst wie üblich über Direktiven (httpd.conf) Siehe jew. Modul-Dokumentation (oder mod_info) Neue Container können realisiert werden Z.B. <Perl>...</Perl> Optionale Konfiguration mittels <IfModule!foo_module> Ex tending Apache 2 16

Entwicklung eigener Module Möglich in ANSI-C, C++ oder Perl (mod_perl) Apache-Quellcode und Compiler (gcc, MSVC) müssen vorhanden sein Modul-Template mittels apxs -g -n foo mod_foo.c Makefile APR bietet OS-unabhängige Funktionen: 'Cross-Platform for free' Developer-Dokumentation: make dox libapreq (Apache HTTP Request Library) Ex tending Apache 2 17

Weitere Tools Jeder Apache-Distribution liegen zahlreiche, praktische Werkzeuge bei (apache2/bin): apxs, apachectl ab (ApacheBench) htpasswd, htdigest, htdbm, dbmmanage, etc. log-server-status, rotatelogs logresolve, check_forensic, split-logfile htcacheclean suexec, checkgid ApacheMonitor (nur Win32) Weitere HTTPD-Tools: Flood, apache-test,... Ex tending Apache 2 18

Informationsquellen Ausführliche Dokumentation zu jedem Basis- Modul sowie Beschreibung der verfügbaren Direktiven unter http://httpd.apache.org/docs-2.0/mod/ http://httpd.apache.org/docs-2.1/mod/ Weitere ASF-Module unter http://httpd.apache.org/modules/ Unzählige OS- & kommerzielle Module unter http://modules.apache.org/ Ex tending Apache 2 19

That's it Thanks for listening! Weitere Informationen sowie diese Vortragsunterlagen finden Sie unter: http://www.eatc.de/ Sie erreichen mich unter erikabele@apache.org oder erik@eatc.de Ex tending Apache 2 20