Grundlagen der Web-Entwicklung INF3172

Ähnliche Dokumente
Grundlagen der Web-Entwicklung

Apache HTTP Server Version / 5. Seitenindex

Themen. Apache Webserver Konfiguration. Verzeichnisse für Web-Applikationen. Server Side Includes

Step by Step Webserver unter Windows Server von Christian Bartl

Apache HTTP Server Administration

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

Planung für Organisation und Technik

Lokale Installation von DotNetNuke 4 ohne IIS

Internet Explorer Version 6

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

Installieren Sie den Janaserver auf dem Schulserver oder dem Lehrerrechner.

DynDNS Router Betrieb

Live Update (Auto Update)

Wissenswertes über LiveUpdate

Einrichtung von VPN-Verbindungen unter Windows NT

Installation eines SSL Zertifikates unter Apache http Server 2.x

System-Update Addendum

HTBVIEWER INBETRIEBNAHME

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

Apache Webserver with SSL on Windows

Guide DynDNS und Portforwarding

Einrichtung Secure-FTP

Mitarbeiter-Alarm. 1x Taster mit Kabel zum Anschluss an den seriellen Com-Port (optional) 1x Installationsprogramm auf CD 1x Lizenz

OSx / MAC. MegaZine3 MZ3-Tool3. Server Upload. Video 2-4

PC-Kaufmann Supportinformation - Proxy Konfiguration für Elster

TechNote. Produkt: TWINFAX 7.0 (ab CD_24), TWINFAX 6.0 Modul: SMTP, T611, R3 Kurzbeschreibung: Briefpapier- und Mailbodyunterstützung

HTTP-Server. Frank Wübbeling Universität Münster

MSXFORUM - Exchange Server 2003 > Konfiguration NNTP unter Exchange 2003

ISA Server 2004 Einzelner Netzwerkadapater

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren

OP-LOG

Netzwerk-Migration. Netzwerk-Migration IACBOX.COM. Version Deutsch

Administrator Handbuch

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein

Anleitung zur Lizenzaktualisierung. Plancal nova 7.x

Die Installation des GeoShop Redirector für IIS (Internet Information Server, Version 4.0, 5.0 und 6.0) umfasst folgende Teilschritte:

Installation des COM Port Redirectors

Tutorial -

Installation von NetBeans inkl. Glassfish Anwendungs-Server

EIDAMO Webshop-Lösung - White Paper

Whitepaper. Produkt: List & Label 16. List & Label 16 unter Linux/Wine. combit GmbH Untere Laube Konstanz

Musterlösung für Schulen in Baden-Württemberg. Windows Basiskurs Windows-Musterlösung. Version 3. Stand:

Installation / Update Advantage Database Server. Die Software Hausverwaltung

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

my.green.ch... 2 Domänenübersicht... 4

Beschreibung einer Musterkonfiguration für PBS-Software in einem WINDOWS 2003 Netzwerk - Rel. 2 (mit NPL Runtime Package Rel. 5.

Xampp-Installation und Konfiguration. Stefan Maihack Dipl. Ing. (FH) Datum:

Anlegen eines virtuellen http Server unter Exchange 2003 mittels HOSTNAME

INSTALLATIONSANLEITUNG

Formular»Fragenkatalog BIM-Server«

Apache HTTP-Server Teil 2

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Installation / Aktualisierung von Druckertreibern unter Windows 7

Seminar DWMX DW Session 015

Demopaket FDFsolutions für Windows, Version 1.73, Voraussetzungen & Installation. (Stand )

[DvBROWSER] Offline-Viewer für [DvARCHIV] und [DvARCHIVpersonal] Version 2.2

DOKUMENTATION VOGELZUCHT 2015 PLUS

ftp://ftp.dlink.de/dpr/dpr-1061/documentation/dpr-1061%20printer%20compatible%20list.pdf

Eine Anwendung mit InstantRails 1.7

0. VORBEMERKUNG VORBEREITUNG DES SYSTEMS INSTALLATION UND KONFIGURATION VON PD-ADMIN Installation...3

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe

TeamSpeak3 Einrichten

Upload auf den Server. MegaZine3 MZ3-Tool3. Training: Server Upload Video 1-4

Step by Step VPN unter Windows Server von Christian Bartl

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Internet online Update (Internet Explorer)

Schwachstellenanalyse 2012

NTCS Synchronisation mit Exchange

! " # $ " % & Nicki Wruck worldwidewruck

Installation OMNIKEY 3121 USB

FTP-Server einrichten mit automatischem Datenupload für

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Handbuch PCI Treiber-Installation

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

Einrichten des IIS für VDF WebApp. Einrichten des IIS (Internet Information Server) zur Verwendung von Visual DataFlex Web Applications

Windows 2008R2 Server im Datennetz der LUH

Anbindung des eibport an das Internet

Updatehinweise für die Version forma 5.5.5

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Gemeinsamer Bibliotheksverbund: Übertragung von Datenexporten für den Verbundkatalog Öffentlicher Bibliotheken

Installationsbeschreibung Flottenmanager 7.1

SCADA SOFT AG. Technische Fragen zu Wizcon (TFW035): Installation von Apache 1.3.x / 2.0.x

Übung: Verwendung von Java-Threads

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

How-to: HTTP Proxy mit Radius Authentifizierung an einem Windows 2003 Server. Securepoint Security System Version 2007nx

ANLEITUNG NETZEWERK INSTALATION

Anleitung zur Installation von SFirm 3.1 inklusive Datenübernahme

GITS Steckbriefe Tutorial

Lizenzen auschecken. Was ist zu tun?

Patch Management mit

Workshop: Eigenes Image ohne VMware-Programme erstellen

Installationsanleitung dateiagent Pro

Ihr IT-Administrator oder unser Support wird Ihnen im Zweifelsfall gerne weiterhelfen.

Verwendung des Terminalservers der MUG

Intrexx unter Windows Server 2008

Transkript:

Grundlagen der Web-Entwicklung INF3172 Der Apache Web-Server Teil II Thomas Walter 07.11.2013 Version 1.0

aktuelles (alt) 2

aktuelles HiWis gesucht Mitarbeit in Projekten Kenntnisse in HTML/CSS und Webgestaltung notwendig längerfristige Perspektive möglich 3

bisher wir haben in Teil I den Apache-Webserver grundlegend kennen gelernt Installation Konfiguration nun: wir wollen Apache weiter an unsere Anforderungen anpassen Apache-Module 4

Apache-Module Apache ist modular aufgebaut Funktionalität ist in Modulen gebündelt Module erweitern den Apache je mehr Module desto langsamer unsicherer wird der Web-Server "weniger ist mehr" 5

Arten von Modulen Module werden unterschieden Module der ASF werden mit dem Apache ausgeliefert davon werden nur die "Standardmudule" per default installiert Drittmodule z.b. PHP statische und dynamische Module 6

statische und dynamische Module statische und dynamische Module statische werden in den Apache Kern hineincompiliert und sind immer verfügbar dynamische (so/dll) werden zur Laufzeit (beim Starten des Apache) gebunden statische sind schneller (insbesondere beim Start) dynamische sind flexibler bei Update des Moduls muss nur dieses compiliert werden und nicht der ganze Web-Server Drittmodule sind dynamisch 7

welche Module sind aktiv? Modulübersicht der statischen Module über httpd -l 8

Laden dynamischer Module die dynamischen Module werden durch die zentrale Konfiguration http.conf geladen Direktive LoadModule 9

10

Übersicht über Module die Apache-Online-Dokumentation gibt eine Übersicht über die Apache Module (ASF-Module) 11

Klassifizierung von Modulen Module der ASF Standard-Module: werden mit Default- Konfiguration installiert weitere ASF-Module Module von Drittanbietern werden typischerweise dynamisch installiert 12

Klassifizierung von Modulen Apache ASF Module Third Party Module Standard-Module optionale Module 13

ASF-Standardmodule mod_core "Ständig verfügbare Kernfunktionen des Apache HTTP Servers" Kerndirektiven wie Directory und DocumentRoot muss vorhanden sein mod_access Zugriffssteuerung auf Apache über Hostnamen oder IP-Adressen 14

ASF-Standardmodule mod_actions Zuordnung von MIME-Typen zu CGI-Scripten mod_alias ändern von URL-Pfaden auf anderes Verzeichnis (Alias) oder komplett andere URL mod_asis Auslieferung von Dokumenten ohne HTTP-Header nützlich für Redirects (Umleitungen) 15

ASF-Standardmodule mod_auth passwortgeschütze Inhalte einfachste Variante der Authentifizierung mod_autoindex wenn keine Indexdatei vorhanden ist, wird ein Verzeichnisindex erzeugt konfigurierbar Sicherheit?! etwa im cgi-bin-verzeichnis 16

mod_autoindex 17

ASF-Standardmodule mod_cgi Ausführen von CGI-Scripten mod_cgid ähnlich mod_cgi, aber für multi-thread-model mod_dir legt Standards bei Zugriff auf Verzeichnis fest Direktive DirectoryIndex auch mehrere Angaben möglich, Reihenfolge wichtig etwa index.html index.php index.shtml 18

ASF-Standardmodule mod_env Zugriff auf Umgebungsvariablen für Apache bzw. Script mod_imap serverseitge Image-Maps mod_include Server Side Includes (SSI) mod_log_config konfigurierbare Logfiles 19

ASF-Standardmodule mod_mime Erzeugung von MIME-Headers (Multipurpose Internet Mail Extensions) aufgrund der Endung der auszuliefernden Datei mod_negotiation Steuerung der Inhalte durch den HTTP-Header des Clientrequests Bsp: Sprachanpassung an Client 20

ASF-Standardmodule mod_setenvif Steuerung des Apaches (Umgebungsvariablen) durch die Clientanfrage mod_so ermöglicht dynamische Module dieses Modul muss statisch geladen werden mod_status Statusbericht des Apache 21

mod_status 22

ASF-Standardmodule mod_userdir private Verzeichnisse für lokale User nach der Syntax http://servername/~username 23

ASF-Module mod_auth_ldap ldap-authentifizierung mod_cache Caching für Proxy mod_expires setzt im HTTP-Header Expires 24

ASF-Module mod_headers beliebige Veränderung des HTTP-Headers mod_info Informationen über den Server Vorschicht wg. Security mod_perl integriert Perl-Interpreter in Apache und steigert damit wesentlich die Performance von Perl-Scripten auch Caching compilierter Perl-Scripte es gibt auch mod_python, mod_ruby, mod_mono, 25

mod_info 26

ASF-Module mod_proxy Proxy für HTTP und FTP Altenative: Squid mod_rewrite Umschreiben der URL durch regulären Ausdruck 27

ASF-Module mod_speling korrigiert Schreibfehler in URL wird tatsächlich so geschrieben mod_ssl Schnittstelle von Apache zu OpenSSL Ralf D. Engelschall mod_usertrack verfolgt Benutzeraktionen verwendet Cookies 28

bedingte Konfiguration viele Direktiven sind nur möglich, wenn das entsprechende Modul geladen ist bedingte Direktiven werden nur aktiv, wenn das entsprechende Modul vorhanden ist: <IfModule ssl_module> SSLRandomSeed startup builtin SSLRandomSeed connect builtin </IfModule> 29

Module von Drittanbietern neben den ASF-Modulen gibt es zahlreiche Module von Drittanbietern einige dieser Module sind mit der Zeit in das Apache-Projekt übernommen worden und werden heute mit dem Apache ausgeliefert z.b. mod_ssl war bis Apache 2 ein Fremdmodul 30

Module von Drittanbietern wichtige Fremdmodule: mod_php mod_perl mod_ruby mod_fastcgi 31

Apache Versionen aktuell sind 2.2. und 2.4 es gibt noch 1.3 und 2.0 Kernfunktionalität Apache 1.3: Linux/Unix klont Prozesse durch fork Preforking: bereits im Vorfeld werden mehrere Kopien der Prozesse vorgehalten funktioniert nicht unter Windows Apache 2 (ab April 2002): Trennung von betriebssystemabhängigen und betriebssystem-unabhängigen Funktionen 32

warum noch 1.3? Apache 1.3 ist immer noch im Einsatz und wird weiter entwickelt (insb. Security) warum? von 1.3 auf 2.0 hat sich die Apache-API stark verändert, so dass einige Fremdmodule nur für 1.3 verfügbar sind Umstieg von 1.3 auf 2.x nicht ganz einfach 33

Apache Portable Runtime (APR) "The mission of the Apache Portable Runtime (APR) project is to create and maintain software libraries that provide a predictable and consistent interface to underlying platformspecific implementations. The primary goal is to provide an API to which software developers may code and be assured of predictable if not identical behaviour regardless of the platform on which their software is built, relieving them of the need to code special-case conditions to work around or take advantage of platform-specific deficiencies or features." 34

IP v6 ab Apache 2 wird IP v6 voll unterstützt, wenn das zugrundeliegende Betriebssystem das neue Protokoll unterstützt 35

MPM: Multi Processing Modules ab Apache 2.0 MPMs Auslagerung von Quellcode für Laufzeitverhalten prozessbasiert oder Thread-basiert auch Mischform: hybrides Laufzeitmodell (MPM_worker) typische Direktiven ThreadsPerChild MaxClients Beispiel: Modul MPM_winnt 36

Apache 2.2 Änderungen von Apache 2.2 gegenüber 2.0 neue (einfachere) Authentifizierungs- und Autorisierungstools mod_authn_alias load-balancer für mod_proxy (mod_proxy_balancer) und Integration des Jserv_Protokolls für Tomcat über mod_proxy_ajp weitere Optimierungen bei MPM vereinfachte Konfiguration 37

Apache 2.4 Performanz verbessert Default: Event-MPM-Modul setzt Threads ein über 40 (!) neue Module fastcgi zahlreiche Detailoptimierungen Beispiel: Loglevel pro Verzeichnis 38

Prozess oder Thread in aller Kürze: Prozess: Ausführen eines Programms (auch Task) Thread: (auch leichtgewichtiger Prozess): Ausführungsstrang als Teil eines Prozesses viele Threads zu einem Prozess (multithreading), die sich Ressourcen des Prozesses teilen mögliches Problem: Kommunikation der Threads 39

Prozessmanagement Apache 1.3 Hauptprozess des Apache Kind 1 Kind 2 Kind 3 40

MPM_winnt-Prozessmodell Hauptprozess des Apache Kindprozess des Apache Thread 1 Thread 2 Thread 3 41

hybrides Laufzeitmodell Hauptprozess des Apache Kindprozess 1 Kindprozess 2 Thread 1 Thread 2 Thread 3 Thread 4 42

Apache und Security Apache ist nach der Grundinstallation schon brauchbar geschützt ein paar Optimierungen sind meistens sinnvoll 43

Adresse und Ports Standard-Port ist 80, kann faktisch nicht geändert werden durch die Listen-Direktive kann aber zum Port auch die IP-Adresse für den Apache festgelegt werden Listen 134.2.2.38:80 44

Benutzer und Gruppen in der httpd.conf wird die Benutzerkennung und die Gruppenkennung für die Apache- Kindprozesse festgelegt hier sollte eine spezielle Kennung mit geringen Zugriffsrechten gewählt werden 45

Benutzer und Gruppen 46

Schutz des Wurzelverzeichnisses 47

nicht zu viel über sich verraten Direktive ServerSignature auf Wert Off oder Email setzen mod_status und mod_info schützen! 48

weniger ist mehr wird CGI wirklich benötigt? wird SSL wirklich benötigt? je weniger Module desto besser 49

ein konkretes Beispiel www.uni-tuebingen.de besteht zunächst aus zwei Proxy-Servern (Apaches mit mod_proxy) diese Verteilen die Anfragen auf acht Apaches jeweils auf einem virtuellen Server dort jeweils Apache mit PHP und damit TYPO3 dahinter eine HA-MySQL-Lösung und ein zentrales nfs- Filesystem interne HeartBeat-Kommunikation 50

51

und nun haben wir den Apache-Web-Server genauer kennen gelernt wir können Apache installieren, konfigurieren und haben verstanden, welche Rolle er heute einnimmt und wie er funktioniert als nächstes: mehr serverseitige Dynamik: ServerSideIncludes (SSI) und fastcgi 52