Themen Apache Webserver Konfiguration Verzeichnisse für Web-Applikationen Server Side Includes
Apache Webserver Konfiguration des Apache Webservers Server-Einstellungen in der httpd.conf-datei Einteilung in 3 grundlegende Sektionen Globale Umgebung (Global Environment) Module, max. gleichzeitige Requests,... Standard Einstellungen (Default Settings) Webseiten-Verzeichnis, Benutzerverzeichnisse Einstellung für Virtual Hosts Sektion 2 - Einstellungen für weitere virtuelle Hosts
Globale Konfiguration Wichtige Einstellungen in Section 1 ServerRoot - Direktive: Definiert das Verzeichnis, unter welchem u.a. Konfigurations- und Log-Dateien, Fehler-Meldungen und Module zu finden sind Einstellung in httpd.conf: ServerRoot "C:/Programme/Apache Group/Apache2" Bei Installation des Apache in das Verzeichnis C:/Programme/Apache Group/Apache2 wird automatisch obiger Wert angelegt
Globale Konfiguration Wichtige Einstellungen in Section 1 TimeOut - Direktive: Definiert die maximale Zeitspanne, zwischen dem Empfang zweier Packete, die zu einer Anfrage gehören Einstellung in httpd.conf: TimeOut 300 300 Sekunden warten, bis eine Anfrage wegen Zeitüberscheitung verworfen wird
Globale Konfiguration Wichtige Einstellungen in Section 1 Listen - Direktive: Definiert den Port, an welchem der Server lauschen soll Einstellung in httpd.conf: Listen 80 Andere Werte sind natürlich möglich --> Wie muss eine Seite dann aufgerufen werden?
Globale Konfiguration Wichtige Einstellungen in Section 1 LoadModule - Direktive: Definiert, ob ein Server-Modul beim Server-Start geladen werden soll, oder nicht Einstellung in httpd.conf: #LoadModule proxy_module modules/mod_proxy.so LoadModule userdir_module modules/mod_userdir.so Das Modul, welches notwendig ist, damit der Server als Proxy fungiert ist deaktiviert Das Bereitstellen von Informationen aus User- Verzeichnissen ist aktiviert
Default-Server Konfiguration Wichtige Einstellungen in Section 2 ServerAdmin - Direktive: Festlegen der E-Mail-Adresse des Webserver- Administrators Einstellung in httpd.conf: ServerAdmin admin@myservername.de
Default-Server Konfiguration Wichtige Einstellungen in Section 2 ServerName - Direktive: Legt den vollständigen Domain-Namen und Portnummer bei registrierten Domains fest Einstellung in httpd.conf: ServerName localhost:80 Lokale Installationen haben meistens den Namen localhost oder 127.0.0.1
Default-Server Konfiguration Wichtige Einstellungen in Section 2 DocumentRoot - Direktive: Definiert das Standard-Installationsverzeichnis für Webapplikationen auf dem Webserver Einstellung in httpd.conf: DocumentRoot "C:/Programme/Apache Group/Apache2/htdocs" Siehe Verzeichnisse für Web-Applikationen
Default-Server Konfiguration Wichtige Einstellungen in Section 2 Zentrale Verzeichnis-Optionen mit <directory> Options Direktive Einstellung in httpd.conf: <Directory "C:/Programme/Apache Group/Apache2/htdocs"> Options Indexes FollowSymLinks </Directory> Index: Liste den Inhalt des Verzeichnisses auf,...... wenn keine Datei - wie in DirectoryIndex aufgelistet gefunden werden kann FollowSymLinks Wird auf Unix/Linux-Dateisystemen verwendet
Default-Server Konfiguration Wichtige Einstellungen in Section 2 Zentrale Verzeichnis-Optionen mit <directory> AllowOverride Direktive Einstellung in httpd.conf: <Directory "C:/Programme/Apache Group/Apache2/htdocs"> Options Indexes FollowSymLinks AllowOverride None </Directory> AllowOverride: Erlauben, Optionen ändern zu können Hier nicht erlaubt
Verzeichnisse für Web-Anwendungen Wo können Web-Anwendungen gespeichert werden?
Verzeichnisse für Web-Anwendungen Wo können Web-Anwendungen gespeichert werden? 1) Unterhalb des Verzeichnisses htdocs DocumentRoot Direktive 2) Web-Verzeichnisse für Benutzer (public_html) UserDir Direktive 3) Virtuelle Hosts DocumentRoot Direktive
Verzeichnis-Konfiguration DocumentRoot Direktive Definiert das Verzeichnis, unter welchem Webseiten gespeichert sind Einstellung in httpd.conf: DocumentRoot "C:/Programme/Apache Group/Apache2/htdocs" Bei Installation des Apache in das Verzeichnis C:/Programme/Apache Group/Apache2 wird automatisch obiger Wert angelegt
Verzeichnis-Konfiguration UserDir Direktive Definiert das Verzeichnis, unter welchem Nutzer-Webseiten gespeichert sind Einstellung in httpd.conf: UserDir "Eigene Dateien/Eigene Dokumente/My Website"
Verzeichnis-Konfiguration DocumentRoot Direktive Definiert das Verzeichnis, unter welchem die Webseiten des Virtuelen Hosts gespeichert sind Einstellung in httpd.conf: <VirtualHost *:80>... DocumentRoot C:\Mein_Pfad_zu_Virtuellen_Hosts ServerName dummy-host.example.com... </VirtualHost> Virtuelle Hosts für mehrere Domains mit verschiedenen Namen unter einer IP www.mueller.de, www.meier.de, www.schmidt.de
Server Side Includes (SSI) Dynamische Inhalte vom Server generiert
Server Side Includes Dynamische Inhalte vom Server generiert Welche Vorteile durch SSI? Bessere Wartbarkeit für geschriebene HTML-Dateien Vermeidung von gleichen HTML-Code-Fragmenten für Menü-Leisten, Kopfbereiche,... Keine Skript-Sprache, wie z.b. PHP nötig, um HTML- Templates zu verwenden Dem Nutzer Server-Informationen bereitstellen Größer einer Datei, Letzte Aktualisierung der Datei,...
Server Side Includes Dynamische Inhalte vom Server generiert Notwendige Administrator-Aufgaben: Server Side Includes für Web-Applikationen erlauben (Section 2) <Directory "C:/Programme/Apache Group/Apache2/htdocs"> Options Indexes FollowSymLinks Includes </Directory>
Server Side Includes Dynamische Inhalte vom Server generiert Notwendige Administrator-Aufgaben: Server Side Includes für Web-Applikationen erlauben (Section 2) <Directory "C:/Programme/Apache Group/Apache2/htdocs"> Options Indexes FollowSymLinks Includes </Directory> Serverseitiges Parsen von.shtml-dateien aktivieren (Section 2) AddType text/html.shtml AddOutputFilter INCLUDES.shtml
Server Side Includes Dynamische Inhalte vom Server generiert Beispiel-Seite zum Testen von SSI <html> <head> <title>testseite für Server-Side-Includes</title> </head> <body> <h3> <!--#echo var="server_name" --> </h3> <p> Diese Datei ist <!--#fsize file="./ssi-test.shtml" --> bytes groß! </p> </body> </html>
Server Side Includes Syntax <!-- --> SSI-Code immer zwischen HTML-Kommentare
Server Side Includes Syntax <!--# --> SSI-Code immer zwischen HTML-Kommentare Auf einleitende Kommentar-Zeichenfolge folgt ein # Der Parser weiß nun, dass ein SSI-Code Fragment folgt
Server Side Includes Syntax <!--#echo var="server_name" --> SSI-Code immer zwischen HTML-Kommentare Auf einleitende Kommentar-Zeichenfolge folgt ein # Der Parser weiß nun, dass ein SSI-Code Fragment folgt z.b. die Anweisung: Schreibe den Inhalt der Variable SERVER_NAME in das Response-Dokument
Server Side Includes Syntax <!--#fsize file="./ssi-test.shtml" --> SSI-Code immer zwischen HTML-Kommentare Auf einleitende Kommentar-Zeichenfolge folgt ein # Der Parser weiß nun, dass ein SSI-Code Fragment folgt z.b. die Anweisung: Schreibe den Inhalt der Variable SERVER_NAME in das Response-Dokument... oder die Anweisung: Schreibe die Größe der angegebenen Datei in das Response-Dokument
Server Side Includes Syntax Interessante SSI-Code-Elemente #exec: führt ein Programm auf dem Server aus und schreibt die Ausgabe des Programms in das Response-Dokument #include: Kann zum Einbinden von Datei-Inhalten in HTML- Dokumente verwendet werden --> Praktische Beispiele am Rechner...