Skip to content

8. Anhänge

8.1. Tools für die Webentwicklung

Hier zeigen wir Ihnen, wo Sie die für die Webentwicklung erforderlichen Werkzeuge finden und wie Sie diese installieren. Bei einigen Werkzeugen haben sich die Versionen weiterentwickelt, sodass die hier gegebenen Erläuterungen für die neuesten Versionen möglicherweise nicht mehr zutreffen. Der Leser muss sich in diesem Fall entsprechend anpassen... Im Webprogrammierkurs werden wir hauptsächlich die folgenden Werkzeuge verwenden, die alle kostenlos verfügbar sind:

  • einen aktuellen Browser, der XML anzeigen kann. Die Beispiele des Kurses wurden mit Internet Explorer 6 getestet.
  • ein aktuelles JDK (Java Development Kit). Die Beispiele des Kurses wurden mit dem JDK 1.4 getestet. Dieses JDK enthält das Java-Plug-in 1.4 für Browser, wodurch diese Java-Applets anzeigen können, die das JDK 1.4 nutzen.
  • Eine Java-Entwicklungsumgebung zum Schreiben von Java-Servlets. Hier handelt es sich um JBuilder 7.
  • Webserver: Apache, PWS (Personal Web Server), Tomcat.
    • Apache wird für die Entwicklung von Webanwendungen in PERL (Practical Extracting and Reporting Language) oder PHP (Personal Home Page) verwendet.
    • PWS wird für die Entwicklung von Webanwendungen in ASP (Active Server Pages) oder PHP verwendet
    • Tomcat wird für die Entwicklung von Webanwendungen mithilfe von Java-Servlets oder JSP-Seiten (Java Server Pages) verwendet
  • eine Datenbankverwaltungsanwendung: MySQL
  • EasyPHP: ein Tool, das den Apache-Webserver, die Sprache PHP und das SGBD MySQL zusammenführt

8.1.1. Webserver, Browser, Skriptsprachen

  • Gängige Webserver
    • Apache (Linux, Windows)
    • Interner Informationsserver IIS (NT), Personal Web Server PWS (Windows 9x)
  • Gängige Browser
    • Internet Explorer (Windows)
    • Netscape (Linux, Windows)
  • Serverseitige Skriptsprachen
    • VBScript (IIS, PWS)
    • JavaScript (IIS, PWS)
    • Perl (Apache, IIS, PWS)
    • PHP (Apache, IIS, PWS)
    • Java (Apache, Tomcat)
    • Sprachen .NET
  • Browser-seitige Skriptsprachen
    • VBScript (IE)
    • JavaScript (IE, Netscape)
    • PerlScript (IE)
    • Java (IE, Netscape)

8.1.2. Wo finden Sie die Tools?

Netscape
http://www.netscape.com/ (Link zu den Downloads)
Internet Explorer
http://www.microsoft.com/windows/ie/default.asp
PHP
http://www.php.net
http://www.php.net/downloads.php (Windows-Binärdateien)
PERL
http://www.activestate.com http://www.activestate.com/Products/
http://www.activestate.com/Products/ActivePerl/
Vbscript, Javascript
http://msdn.microsoft.com/scripting (dem Link „Windows Script“ folgen)
JAVA
http://java.sun.com/
http://java.sun.com/downloads.html (JSE)
http://java.sun.com/j2se/1.4/download.html
Apache
http://www.apache.org/
http://www.apache.org/dist/httpd/binaries/win32/
PWS
enthalten in NT 4.0 Option Pack für Windows 95
enthalten in CD für Windows 98
http://www.microsoft.com/ntserver/nts/downloads/recommended/NT4OptPk/win95.asp
IIS 
(windows NT/2000)
http://www.microsoft.com
Tomcat
http://jakarta.apache.org/tomcat/
JBuilder
http://www.borland.com/jbuilder/
http://www.borland.com/products/downloads/download_jbuilder.html
EasyPHP
http://www.easyphp.org/
http://www.easyphp.org/telechargements.php3

8.1.3. EasyPHP

Diese Anwendung ist sehr praktisch, da sie in einem einzigen Paket Folgendes vereint:

  • den Apache-Webserver (1.3.x)
  • die Sprache PHP (4.x)
  • das SGBD MySQL (3.23.x)
  • ein Verwaltungstool für MySQL: PhpMyAdmin

Die Installationsanwendung sieht wie folgt aus:

Image

Die Installation von EasyPHP verläuft problemlos, und im Dateisystem wird eine Verzeichnisstruktur angelegt:

Image

easyphp.exe
die ausführbare Datei der Anwendung
apache
die Verzeichnisstruktur des Apache-Servers
mysql
die Verzeichnisstruktur von SGBD MySQL
phpmyadmin
Verzeichnisstruktur der Anwendung phpMyAdmin
php
Verzeichnisstruktur von PHP
www
Stammverzeichnis der vom Apache-Server von EasyPHP bereitgestellten Webseiten
cgi-bin
Verzeichnisbaum, in dem Skripte für den Apache-Server abgelegt werden können: CGI

Der Hauptvorteil von EasyPHP besteht darin, dass die Anwendung vorkonfiguriert geliefert wird. Somit sind Apache, PHP und MySQL bereits für die Zusammenarbeit konfiguriert. Wenn man EasyPhp über die Verknüpfung im Programmmenü startet, erscheint unten rechts auf dem Bildschirm ein Symbol.

Das „E“ mit dem roten Punkt sollte blinken, wenn der Webserver Apache und die Datenbank MySQL betriebsbereit sind. Wenn man mit der rechten Maustaste darauf klickt, werden Menüoptionen angezeigt:

Image

Mit der Option Administration können Sie Einstellungen vornehmen und Funktionstests durchführen:

Image

8.1.3.1. Verwaltung PHP

Über die Schaltfläche „PHP-Infos“ können Sie die ordnungsgemäße Funktion der Apache-PHP-Kombination überprüfen: Es sollte eine Informationsseite mit der Bezeichnung PHP angezeigt werden:

Image

Die Schaltfläche „Erweiterungen“ zeigt eine Liste der für PHP installierten Erweiterungen an. Dabei handelt es sich eigentlich um Funktionsbibliotheken.

Image

Der obige Bildschirm zeigt beispielsweise, dass die für die Nutzung der Datenbank „MySQL“ erforderlichen Funktionen vorhanden sind.

Über die Schaltfläche „Einstellungen“ werden die login/motdepasse des Datenbankadministrators MySQL angezeigt.

Image

Die Verwendung der Datenbank MySQL würde den Rahmen dieser kurzen Einführung sprengen, aber es ist hier klar, dass für den Datenbankadministrator ein Passwort festgelegt werden müsste.

8.1.3.2. Apache-Verwaltung

Ebenfalls auf der Verwaltungsseite von EasyPHP können Sie über den Link „Ihre Aliase“ Aliase definieren, die einem Verzeichnis zugeordnet sind. Auf diese Weise können Webseiten an einem anderen Ort als im Verzeichnis „www“ der Verzeichnisstruktur von easyPhp abgelegt werden.

Image

Wenn man auf der oben genannten Seite die folgenden Informationen eingibt:

Image

und die Schaltfläche valider verwendet wird, werden die folgenden Zeilen zur Datei <easyphp>\apache\conf\httpd.conf hinzugefügt:

    Alias /st/ "e:/data/serge/web/"

    <Directory "e:/data/serge/web">
        Options FollowSymLinks Indexes
        AllowOverride None
        Order deny,allow
        allow from 127.0.0.1
        deny from all
    </Directory>

<easyphp> bezeichnet das Installationsverzeichnis von EasyPHP. httpd.conf ist die Konfigurationsdatei des Apache-Servers. Man kann dies also auch erreichen, indem man diese Datei direkt bearbeitet. Eine Änderung an der Datei httpd.conf wird normalerweise sofort von Apache übernommen. Sollte dies nicht der Fall sein, müsste man den Server beenden und anschließend neu starten, jeweils über das EasyPHP-Symbol:

Image

Um unser Beispiel abzuschließen, können wir nun Webseiten im Verzeichnisbaum e:\data\serge\web ablegen:

C:\winnt\system32>dir e:\data\serge\web\html\balises.htm

14/07/2002  17:02                3 767 balises.htm

und diese Seite über den Alias „st“ aufrufen:

Image

In diesem Beispiel wurde der Apache-Server so konfiguriert, dass er auf Port 81 läuft. Sein Standardport ist 80. Dies wird durch die folgende Zeile in der bereits erwähnten Datei httpd.conf gesteuert:

Port 81

8.1.3.3. Die Apache-Konfigurationsdatei htpd.conf

Wenn man Apache etwas genauer konfigurieren möchte, muss man seine Konfigurationsdatei httpd.conf, die sich hier im Ordner <easyphp>\apache\conf befindet, „von Hand“ bearbeiten:

Image

Hier sind einige wichtige Punkte aus dieser Konfigurationsdatei:

ligne(s)
Rolle
ServerRoot "D:/Program Files/Apache Group/Apache"
gibt den Ordner an, in dem sich die Apache-Verzeichnisstruktur befindet
Port 80
gibt an, auf welchem Port der Webserver arbeiten wird. Standardmäßig ist dies Port 80. Durch Ändern dieser Zeile kann der Webserver auf einem anderen Port betrieben werden
ServerAdmin root@istia.univ-angers.fr
die E-Mail-Adresse des Apache-Serveradministrators
ServerName stahe.istia.uang
Der Name des Rechners, auf dem der Apache-Server „läuft“
ServerRoot "E:/Program Files/EasyPHP/apache"
das Installationsverzeichnis des Apache-Servers. Wenn in der Konfigurationsdatei relative Dateinamen vorkommen, beziehen sie sich auf diesen Ordner.
DocumentRoot "E:/Program Files/EasyPHP/www"
Das Stammverzeichnis der vom Server bereitgestellten Webseiten. Hier entspricht die URL http://machine/rep1/fic1.html der Datei E:\Program Files\EasyPHP\www\rep1\fic1.html
<Directory "E:/Program Files/EasyPHP/www">
legt die Eigenschaften des vorherigen Ordners fest
ErrorLog logs/error.log
Log-Ordner, also eigentlich <ServerRoot>\logs\error.log: E:\Program Files\EasyPHP\apache\logs\error.log. Diese Datei sollten Sie überprüfen, wenn Sie feststellen, dass der Apache-Server nicht funktioniert.
    ScriptAlias /cgi-bin/ "E:/Program Files/EasyPHP/cgi-bin/"
E:\Program Files\EasyPHP\cgi-bin ist das Stammverzeichnis des Verzeichnisbaums, in dem Skripte mit dem Namen CGI abgelegt werden können. Somit lautet die URL des Skripts CGI E:\http://machine/cgi-bin/rep1/script1.pl: URLhttp://machine/cgi-bin/rep1/script1.pl.Program Files\EasyPHP\cgi-bin\rep1\script1.pl.
<Directory "E:/Program Files/EasyPHP/cgi-bin/">
legt die Eigenschaften des oben genannten Ordners fest
LoadModule php4_module "E:/Program Files/EasyPHP/php/php4apache.dll"
AddModule mod_php4.c
Zeilen zum Laden der Module, die es Apache ermöglichen, mit PHP4 zu arbeiten.
    AddType application/x-httpd-php .phtml .pwml .php3 .php4 .php .php2 .inc
Legt die Dateiendungen fest, die als von PHP zu verarbeitende Dateien gelten sollen

8.1.3.4. Verwaltung von MySQL mit PhpMyAdmin

Auf der Verwaltungsseite von EasyPhp klicken Sie auf die Schaltfläche PhpMyAdmin:

Image

Über die Dropdown-Liste unter Accueil können die aktuellen Datenbanken angezeigt werden.
Die Zahl in Klammern gibt die Anzahl der Tabellen an. Wählt man eine Datenbank aus, werden deren Tabellen angezeigt:

Die Webseite bietet eine Reihe von Funktionen für die Datenbank:

Image

Wenn man auf den Link Afficher unter user klickt:

Image

Hier gibt es nur einen einzigen Benutzer: root, der Administrator von MySQL. Über den Link Modifier könnte man sein Passwort ändern, das derzeit leer ist, was für einen Administrator jedoch nicht empfehlenswert ist.

Wir werden nicht weiter auf PhpMyAdmin eingehen, da es sich um eine umfangreiche Software handelt, deren Beschreibung mehrere Seiten füllen würde.

8.1.4. PHP

Wir haben gesehen, wie man PHP über die Anwendung EasyPhp erhält. Um PHP direkt zu erhalten, ruft man die Website http://www.php.net auf.

PHP ist nicht nur im Web einsetzbar. Man kann es auch als Skriptsprache unter Windows verwenden. Erstellen Sie das folgende Skript und speichern Sie es unter dem Namen date.php:

<?
   // PHP-Skript zur Anzeige der Uhrzeit
  $maintenant=date("j/m/y, H:i:s",time());
  echo "Nous sommes le $maintenant";
?>

Wechseln Sie in einem Fenster mit der Nummer DOS in das Verzeichnis von date.php und führen Sie es aus:

E:\data\serge\php\essais>"e:\program files\easyphp\php\php.exe" date.php
X-Powered-By: PHP/4.2.0
Content-type: text/html

Nous sommes le 18/07/02, 09:31:01

8.1.5. PERL

Es ist empfehlenswert, dass der Internet Explorer bereits installiert ist. Ist dies der Fall, konfiguriert Active Perl ihn so, dass er PERL-Skripte in HTML-Seiten akzeptiert, die dann von IE selbst auf der Client-Seite ausgeführt werden. Die Website von Active Perl ist unter URL http://www.activestate.comA zu finden. Bei der Installation wird PERL in einem Verzeichnis installiert, das wir <perl> nennen. Es enthält die folgende Verzeichnisstruktur:

DEISL1   ISU        32 403  23/06/00  17:16 DeIsL1.isu
BIN            <REP>        23/06/00  17:15 bin
LIB            <REP>        23/06/00  17:15 lib
HTML           <REP>        23/06/00  17:15 html
EG             <REP>        23/06/00  17:15 eg
SITE           <REP>        23/06/00  17:15 site
HTMLHELP       <REP>        28/06/00  18:37 htmlhelp

Die ausführbare Datei perl.exe befindet sich in <perl>\bin. Perl ist eine Skriptsprache, die unter Windows und Unix läuft. Sie wird außerdem bei der Programmierung von WEB verwendet. Schreiben wir ein erstes Skript:

# Skript PERL zur Anzeige der Uhrzeit

# Module
use strict;

# Programm
my ($secondes,$minutes,$heure)=localtime(time);
print "Il est $heure:$minutes:$secondes\n";

Speichern Sie dieses Skript in einer Datei mit dem Namen heure.pl. Öffnen Sie ein Fenster mit dem Namen DOS, wechseln Sie in das Verzeichnis des oben genannten Skripts und führen Sie es aus:


E:\data\serge\Perl\Essais>e:\perl\bin\perl.exe heure.pl
Il est 9:34:21

8.1.6. VBScript, JavaScript, PerlScript

Diese Sprachen sind Skriptsprachen für Windows. Sie können in verschiedenen Umgebungen wie

  • Windows Scripting Host für den direkten Einsatz unter Windows, insbesondere zum Schreiben von Skripten zur Systemadministration
  • Internet Explorer. Dort wird es in HTML-Seiten verwendet, denen es eine gewisse Interaktivität verleiht, die mit der Sprache HTML allein nicht zu erreichen ist.
  • Internet Information Server (IIS), dem Webserver von Microsoft unter NT/2000, und dessen Entsprechung, dem Personal Web Server (PWS), unter Win9x. In diesem Fall wird VBScript für die serverseitige Programmierung verwendet, eine Technologie, die von Microsoft als ASP (Active Server Pages) bezeichnet wird.

Die Installationsdatei URL wird unter http://msdn.microsoft.com/scripting heruntergeladen, und man folgt den Links zu „Windows Script“. Installiert werden:

  • der Windows Scripting Host, ein Container, der die Verwendung verschiedener Skriptsprachen wie VBScript und JavaScript, aber auch anderer Sprachen wie PerlScript ermöglicht, die mit Active Perl mitgeliefert werden.
  • ein VBscript-Interpreter
  • ein JavaScript-Interpreter

Führen wir einige kurze Tests durch. Erstellen wir das folgende Programm „vbscript“:

' eine Klasse
class personne
  Dim nom
  Dim age
End class

' Erstellung eines Personenobjekts
Set p1=new personne
With p1
  .nom="dupont"
  .age=18
End With

' Anzeige der Eigenschaften der Person p1
With p1
  wscript.echo "nom=" & .nom
  wscript.echo "age=" & .age
End With

Dieses Programm verwendet Objekte. Nennen wir es objets.vbs (die Endung „vbs“ steht für eine VBScript-Datei). Wechseln wir in das Verzeichnis, in dem es sich befindet, und führen wir es aus:

E:\data\serge\windowsScripting\vbscript\poly\objets>cscript objets.vbs
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

nom=dupont
age=18

Nun erstellen wir das folgende JavaScript-Programm, das Arrays verwendet:

// Array in einer Variante
// leeres Array
tableau=new Array();
affiche(tableau);
// Array wächst dynamisch
for(i=0;i<3;i++){
  tableau.push(i*10);
}
// Anzeige des Arrays
affiche(tableau);
// nochmals
for(i=3;i<6;i++){
  tableau.push(i*10);
}
affiche(tableau);

// mehrdimensionale Tabellen
WScript.echo("-----------------------------");

tableau2=new Array();
for(i=0;i<3;i++){
  tableau2.push(new Array());
  for(j=0;j<4;j++){
    tableau2[i].push(i*10+j);
  }//for j
}// for i
affiche2(tableau2);

// Ende
WScript.quit(0);

// ---------------------------------------------------------
function affiche(tableau){
  // Tabellenanzeige
  for(i=0;i<tableau.length;i++){
    WScript.echo("tableau[" + i + "]=" + tableau[i]);
  }//for
}//Funktion

// ---------------------------------------------------------
function affiche2(tableau){
  // Tabellenanzeige
  for(i=0;i<tableau.length;i++){
    for(j=0;j<tableau[i].length;j++){
      WScript.echo("tableau[" + i + "," + j + "]=" + tableau[i][j]);
    }// for j
  }//for i
}//Funktion

Dieses Programm verwendet Arrays. Nennen wir es tableaux.js (die Endung „js“ steht für eine JavaScript-Datei). Wechseln wir in das Verzeichnis, in dem es sich befindet, und führen wir es aus:

E:\data\serge\windowsScripting\javascript\poly\tableaux>cscript tableaux.js
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. Tous droits réservés.

tableau[0]=0
tableau[1]=10
tableau[2]=20
tableau[0]=0
tableau[1]=10
tableau[2]=20
tableau[3]=30
tableau[4]=40
tableau[5]=50
-----------------------------
tableau[0,0]=0
tableau[0,1]=1
tableau[0,2]=2
tableau[0,3]=3
tableau[1,0]=10
tableau[1,1]=11
tableau[1,2]=12
tableau[1,3]=13
tableau[2,0]=20
tableau[2,1]=21
tableau[2,2]=22
tableau[2,3]=23

Zum Abschluss noch ein letztes Beispiel in Perlscript. Um auf Perlscript zugreifen zu können, muss Active Perl installiert sein.

<job id="PERL1">
  <script language="PerlScript">
       # aus dem klassischen Perl
    %dico=("maurice"=>"juliette","philippe"=>"marianne");
    @cles= keys %dico;
    for ($i=0;$i<=$#Schlüssel;$i++){
        $cle=$cles[$i];
      $valeur=$dico{$cle};
        $WScript->echo ("clé=".$cle.", valeur=".$valeur);
    }
     # Perl-Skript unter Verwendung von Windows-Script-Objekten
    $dico=$WScript->CreateObject("Scripting.Dictionary");
    $dico->add("maurice","juliette");
    $dico->add("philippe","marianne");
    $WScript->echo($dico->item("maurice"));
    $WScript->echo($dico->item("philippe"));    
  </script>
</job>

Dieses Programm veranschaulicht die Erstellung und Verwendung von zwei Wörterbüchern: eines im klassischen Perl-Stil, das andere mit dem „Scripting Dictionary“-Objekt von Windows Script. Speichern wir diesen Code in der Datei dico.wsf (wsf ist die Dateiendung für Windows-Script-Dateien). Wechseln wir in den Ordner dieses Programms und führen wir es aus:

E:\data\serge\windowsScripting\perlscript\essais>cscript dico.wsf
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. Tous droits réservés.

clé=philippe, valeur=marianne
clé=maurice, valeur=juliette
juliette
marianne

Perlscript kann auf die Objekte des Containers zugreifen, in dem es ausgeführt wird. In diesem Fall handelte es sich um Objekte des Windows-Script-Containers. Im Kontext der Webprogrammierung können die Skripte VBscript, JavaScript- und Perlscript-Skripte entweder im Browser IE oder auf einem Server PWS bzw. IIS ausgeführt werden. Ist das Skript etwas komplexer, kann es sinnvoll sein, es außerhalb des Webkontexts im Windows-Script-Container zu testen, wie zuvor beschrieben. Auf diese Weise lassen sich jedoch nur die Funktionen des Skripts testen, die keine browser- oder servereigenen Objekte verwenden. Trotz dieser Einschränkung bleibt diese Möglichkeit interessant, da es in der Regel recht umständlich ist, Skripte zu debuggen, die auf Webservern oder in Browsern ausgeführt werden.

8.1.7. JAVA

Java ist unter der Adresse URL verfügbar: http://www.sun.com (siehe Anfang dieses Dokuments) und wird in einem Verzeichnisbaum installiert, den wir <java> nennen und der folgende Elemente enthält:

22/05/2002  05:51       <DIR>          .
22/05/2002  05:51       <DIR>          ..
22/05/2002  05:51       <DIR>          bin
22/05/2002  05:51       <DIR>          jre
07/02/2002  12:52                8 277 README.txt
07/02/2002  12:52               13 853 LICENSE
07/02/2002  12:52                4 516 COPYRIGHT
07/02/2002  12:52               15 290 readme.html
22/05/2002  05:51       <DIR>          lib
22/05/2002  05:51       <DIR>          include
22/05/2002  05:51       <DIR>          demo
07/02/2002  12:52           10 377 848 src.zip
11/02/2002  12:55       <DIR>          docs

Im Verzeichnis „bin“ befinden sich javac.exe, der Java-Compiler, und java.exe, die Java-Virtual-Machine. Folgende Tests können durchgeführt werden:

  1. Schreiben Sie das folgende Skript:
//Java-Programm zur Anzeige der Uhrzeit

import java.io.*;
import java.util.*;

public class heure{
  public static void main(String arg[]){
     // Datum und Uhrzeit abrufen
     Date maintenant=new Date();
      // Anzeige
     System.out.println("Il est "+maintenant.getHours()+
        ":"+maintenant.getMinutes()+":"+maintenant.getSeconds());
  }//main
}//Klasse
  1. Speichern Sie dieses Programm unter dem Namen heure.java. Öffnen Sie ein Fenster mit dem Namen DOS. Wechseln Sie in das Verzeichnis der Datei heure.java und kompilieren Sie sie:
D:\data\java\essais>c:\jdk1.3\bin\javac heure.java
Note: heure.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.

Im obigen Befehl muss c:\jdk1.3\bin\javac durch den genauen Pfad des Compilers javac.exe ersetzt werden. Im selben Verzeichnis wie heure.java muss sich eine Datei namens heure.class befinden. Dabei handelt es sich um das Programm, das nun von der virtuellen Maschine java.exe ausgeführt wird.

  1. Führen Sie das Programm aus:
D:\data\java\essais>c:\jdk1.3\bin\java heure
Il est 10:44:2

8.1.8. Apache-Server

Wir haben gesehen, dass man den Apache-Server mit der Anwendung EasyPhp erhalten kann. Um ihn direkt zu beziehen, rufen wir die Apache-Website auf: http://www.apache.org. Bei der Installation wird ein Verzeichnisbaum erstellt, in dem sich alle für den Server erforderlichen Dateien befinden. Nennen wir dieses Verzeichnis <apache>. Es enthält einen Verzeichnisbaum, der in etwa wie folgt aussieht:

UNINST   ISU       118 805  23/06/00  17:09 Uninst.isu
HTDOCS         <REP>        23/06/00  17:09 htdocs
APACHE~1 DLL       299 008  25/02/00  21:11 ApacheCore.dll
ANNOUN~1             3 000  23/02/00  16:51 Announcement
ABOUT_~1            13 197  31/03/99  18:42 ABOUT_APACHE
APACHE   EXE        20 480  25/02/00  21:04 Apache.exe
KEYS                36 437  20/08/99  11:57 KEYS
LICENSE              2 907  01/01/99  13:04 LICENSE
MAKEFI~1 TMP        27 370  11/01/00  13:47 Makefile.tmpl
README               2 109  01/04/98   6:59 README
README   NT          3 223  19/03/99   9:55 README.NT
WARNIN~1 TXT           339  21/09/98  13:09 WARNING-NT.TXT
BIN            <REP>        23/06/00  17:09 bin
MODULES        <REP>        23/06/00  17:09 modules
ICONS          <REP>        23/06/00  17:09 icons
LOGS           <REP>        23/06/00  17:09 logs
CONF           <REP>        23/06/00  17:09 conf
CGI-BIN        <REP>        23/06/00  17:09 cgi-bin
PROXY          <REP>        23/06/00  17:09 proxy
INSTALL  LOG         3 779  23/06/00  17:09 install.log
conf
Ordner mit den Apache-Konfigurationsdateien
logs
Ordner mit den Apache-Protokolldateien (Überwachung)
bin
Die ausführbaren Dateien von Apache

8.1.8.1. Configuration

Im Ordner <Apache>\conf befinden sich die folgenden Dateien: httpd.conf, srm.conf, access.conf. In den neuesten Apache-Versionen wurden die drei Dateien in httpd.conf zusammengefasst. Wir haben bereits die wichtigsten Punkte dieser Konfigurationsdatei vorgestellt. In den folgenden Beispielen diente die Apache-Version von EasyPhp als Testgrundlage und somit auch deren Konfigurationsdatei. Darin ist DocumentRoot, das den Stammordner der Webseiten angibt, e:\program files\easyphp\www.

Erstellen Sie zum Testen die Datei intro.php mit der folgenden einzigen Zeile:

<? phpinfo() ?>

und es im Stammverzeichnis der Apache-Server-Seiten ablegen (DocumentRoot oben). Rufen Sie die Seite URL unter http://localhost/intro.php auf. Es sollte eine Liste mit Informationen zu php angezeigt werden:

Image

Das folgende Skript PHP zeigt die Uhrzeit an. Wir sind ihm bereits begegnet:

<?
   // Zeit: Anzahl der Millisekunden seit dem 01.01.1970
   // „Anzeigeformat für Datum und Uhrzeit“
   // d: Tag, zweistellig
   // m: zweistelliger Monat
   // y: zweistelliges Jahr
   // H: Stunde 0,23
   // i: Minuten
   // s: Sekunden
  print "Nous sommes le " . date("d/m/y H:i:s",time());
?>

Legen wir diese Textdatei im Stammverzeichnis des Apache-Servers ab (DocumentRoot) und nennen wir sie date.php. Rufen wir mit einem Browser die Seite URL unter http://localhost/date.php auf. Wir erhalten die folgende Seite:

Image

Er wird mithilfe einer Zeile der Form: ScriptAlias /cgi-bin/ "E:/Program Files/EasyPHP/cgi-bin/" aus der Datei <apache>\conf\httpd.conf erstellt. Die Syntax lautet ScriptAlias /cgi-bin/ "<cgi-bin>", wobei <cgi-bin> der Ordner ist, in dem CGI-Skripte abgelegt werden können. CGI (Common Gateway Interface) ist ein Standard für die Kommunikation zwischen dem Server WEB und Anwendungen. Ein Client fordert vom Webserver eine dynamische Seite an, c.a.d, d. h. eine Seite, die von einem Programm generiert wird. Der Server WEB muss daher ein Programm auffordern, die Seite zu generieren. CGI definiert die Kommunikation zwischen dem Server und dem Programm, insbesondere die Art und Weise, wie Informationen zwischen diesen beiden Einheiten übertragen werden.

Ändern Sie bei Bedarf die Zeile ScriptAlias /cgi-bin/ „<cgi-bin>“ und starten Sie den Apache-Server neu. Führen Sie anschließend folgenden Test durch:

  1. Schreiben Sie das Skript:
#!c:\perl\bin\perl.exe

# Skript PERL zur Anzeige der Uhrzeit

# Module
use strict;

# Programm
my ($secondes,$minutes,$heure)=localtime(time);
print <<FINHTML
Content-Type: text/html

<html>
 <head>
  <title>heure</title>
 </head>
 <body>
  <h1>Il est $heure:$minutes:$secondes</h1>
 </body>
FINHTML
;
  1. Legen Sie dieses Skript in <cgi-bin>\heure.pl ab, wobei <cgi-bin> der Ordner ist, in dem Skripte vom Typ CGI abgelegt werden können (siehe httpd.conf). Die erste Zeile #!c:\perl\bin\perl.exe gibt den Pfad zur ausführbaren Datei perl.exe an. Ändern Sie diesen bei Bedarf.
  2. Starten Sie Apache, falls dies noch nicht geschehen ist
  3. Rufen Sie mit einem Browser die Datei URL unter http://localhost/cgi-bin/heure.pl auf. Es wird folgende Seite angezeigt:

Image

8.1.9. Der Server PWS

8.1.9.1. Installation

Der Server PWS (Personal Web Server) ist eine persönliche Version des Servers IIS (Internet Information Server) von Microsoft. Letzterer ist auf den Systemen NT und 2000 verfügbar. Auf Win9x-Rechnern ist PWS normalerweise im Internet Explorer-Installationspaket enthalten. Er wird jedoch nicht standardmäßig installiert. Man muss eine benutzerdefinierte Installation von IE durchführen und die Installation von PWS anfordern. Es ist außerdem im NT 4.0 Option Pack für Windows 95 enthalten.

8.1.9.2. Erste Tests

Der Stammordner der Webseiten des Servers PWS lautet „Laufwerk:\inetpub\wwwroot“, wobei „Laufwerk“ das Laufwerk ist, auf dem Sie PWS installiert haben. Im Folgenden gehen wir davon aus, dass es sich bei diesem Laufwerk um D handelt. Somit entspricht die URL http://machine/rep1/page1.html der Datei d:\inetpub\wwwroot\rep1\page1.html. Der Server PWS interpretiert jede Datei mit der Endung .asp (Active Server Pages) als Skript, das er ausführen muss, um eine Seite HTML zu erzeugen.

PWS läuft standardmäßig auf Port 80. Der Apache-Webserver ebenfalls... Sie müssen daher Apache beenden, um mit PWS arbeiten zu können, wenn Sie beide Server haben. Die andere Lösung besteht darin, Apache so zu konfigurieren, dass er auf einem anderen Port läuft. Dazu ersetzt man in der Apache-Konfigurationsdatei httpd.conf die Zeile „Port 80“ durch „Port 81“. Apache läuft nun auf Port 81 und kann gleichzeitig mit PWS verwendet werden. Wenn PWS gestartet wurde und man die Seite http://localhost aufruft, erhält man eine Seite, die in etwa wie folgt aussieht:

Image

  1. Nachfolgend finden Sie eine .reg-Datei zur Änderung der Registrierungsdatenbank. Doppelklicken Sie auf diese Datei, um die Registrierung zu ändern. Hier befindet sich die benötigte dll in d:\php4 zusammen mit der PHP-Ausführungsdatei. Nehmen Sie bei Bedarf Änderungen vor. Die Backslashes (\) im Pfad zur DLL müssen verdoppelt werden.
REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map]
".php"="d:\\php4\\php4isapi.dll"
  1. Starten Sie den Rechner neu, damit die Änderung in der Registrierungsdatenbank übernommen wird.
  1. Erstellen Sie einen PHP-Ordner in d:\inetpub\wwwroot, dem Stammverzeichnis des Servers PWS. Aktivieren Sie anschließend PWS und wechseln Sie zur Registerkarte „Erweitert“. Klicken Sie auf die Schaltfläche „Hinzufügen“, um einen virtuellen Ordner zu erstellen:

Verzeichnis/Durchsuchen: d:\inetpub\wwwroot\php

Alias: php

Aktivieren Sie das Kontrollkästchen „Ausführen“.

  1. Bestätigen Sie alle Einstellungen und starten Sie PWS neu. Fügen Sie in d:\inetpub\wwwroot\php die Datei intro.php ein, die ausschließlich die folgende Zeile enthält:

<? phpinfo() ?>

  1. Rufen Sie auf dem Server PWS die Seite URL unter http://localhost/php/intro.php auf. Es sollte die Liste der PHP-Informationen angezeigt werden, die bereits mit Apache angezeigt wurden.

8.1.10. Tomcat: Java-Servlets und JSP-Seiten (Java Server Pages)

Tomcat ist ein Webserver, mit dem sich JSP-Seiten (Java Server Pages) mithilfe von Servlets (vom Webserver ausgeführte Java-Programme) generieren lassen, bei denen Java-Code und HTML-Code miteinander kombiniert werden. Dies entspricht den ASP-Seiten (Active Server Pages) des IIS/PWS-Servers von Microsoft, bei denen VBScript-Code oder JavaScript mit HTML-Code vermischt wird.

8.1.10.1. Installation

Tomcat ist unter der Adresse URL verfügbar: http://jakarta.apache.org. Man lädt eine .exe-Installationsdatei herunter. Wenn man dieses Programm startet, gibt es zunächst an, welche Java-Version es verwenden wird. Tatsächlich benötigt Tomcat eine Java-Version, um sich zu installieren und anschließend die Java-Servlets zu kompilieren und auszuführen. Sie müssen daher vor der Installation von Tomcat eine Java-Version installiert haben. Es wird die aktuellste Version empfohlen. Die Installation erstellt einen Ordnerbaum <tomcat>:

Image

Die Installation besteht lediglich darin, dieses Archiv in ein Verzeichnis zu entpacken. Wählen Sie ein Verzeichnis, dessen Pfad ausschließlich Namen ohne Leerzeichen enthält (also beispielsweise nicht „Program Files“), da es einen Fehler im Installationsprozess von Tomcat gibt. Verwenden Sie beispielsweise C:\tomcat oder D:\tomcat. Nennen wir dieses Verzeichnis <tomcat>. Darin befindet sich ein Ordner namens jakarta-tomcat, der wiederum die folgende Verzeichnisstruktur enthält:

LOGS           <REP>        15/11/00   9:04 logs
LICENSE              2 876  18/04/00  15:56 LICENSE
CONF           <REP>        15/11/00   8:53 conf
DOC            <REP>        15/11/00   8:53 doc
LIB            <REP>        15/11/00   8:53 lib
SRC            <REP>        15/11/00   8:53 src
WEBAPPS        <REP>        15/11/00   8:53 webapps
BIN            <REP>        15/11/00   8:53 bin
WORK           <REP>        15/11/00   9:04 work

8.1.10.2. Starten/Beenden des Tomcat-Webservers

Tomcat ist ein Webserver, genau wie Apache oder PWS. Um ihn zu starten, stehen im Programmmenü folgende Verknüpfungen zur Verfügung:

Start Tomcat
zum Starten von Tomcat
Stop Tomcat
zum Beenden

Beim Starten von Tomcat wird ein DOS-Fenster mit folgendem Inhalt angezeigt:

Image

Dieses DOS-Fenster kann minimiert werden. Es bleibt so lange sichtbar, wie Tomcat aktiv ist. Anschließend können die ersten Tests durchgeführt werden. Der Tomcat-Webserver läuft auf Port 8080. Sobald Tomcat gestartet ist, öffnen Sie einen Webbrowser und rufen Sie die Adresse URL http://localhost:8080 auf. Sie sollten die folgende Seite sehen:

Image

Folgen Sie dem Link „Servlet-Beispiele“:

Image

Klicken Sie auf den Link „Execute“ unter „RequestParameters“ und anschließend auf den Link „Source“. So erhalten Sie einen ersten Einblick in die Funktionsweise eines Java-Servlets. Das Gleiche können Sie mit den Links auf den Seiten JSP tun.

Um Tomcat zu beenden, verwenden Sie den Link „Stop Tomcat“ im Programmmenü.

8.1.11. JBuilder

JBuilder ist eine Entwicklungsumgebung für Java-Anwendungen. Um Java-Servlets zu erstellen, die keine grafischen Benutzeroberflächen enthalten, ist eine solche Umgebung nicht unbedingt erforderlich. Ein Texteditor und ein JDK reichen aus. Lediglich JBuilder bietet gegenüber der vorherigen Methode einige Vorteile:

  • Einfache Fehlersuche: Der Compiler zeigt fehlerhafte Zeilen in einem Programm an, und man kann leicht zu diesen Zeilen springen
  • Code-Vorschläge: Bei der Verwendung eines Java-Objekts zeigt JBuilder inline eine Liste der Eigenschaften und Methoden dieses Objekts an. Das ist sehr praktisch, da die meisten Java-Objekte sehr viele Eigenschaften und Methoden haben, die man sich nur schwer merken kann.

JBuilder ist auf der Website http://www.borland.com/jbuilder zu finden. Um die Software zu erhalten, muss ein Formular ausgefüllt werden. Ein Aktivierungsschlüssel wird per E-Mail zugesandt. Zur Installation von JBuilder 7 wurde beispielsweise wie folgt vorgegangen:

  • Es wurden drei ZIP-Dateien heruntergeladen: für die Anwendung, für die Dokumentation und für die Beispiele. Für jede dieser ZIP-Dateien gibt es einen separaten Link auf der Website von JBuilder.
  • Zuerst wurde die Anwendung installiert, dann die Dokumentation und schließlich die Beispiele
  • Beim ersten Start der Anwendung wird ein Aktivierungsschlüssel abgefragt: Dies ist der Schlüssel, der Ihnen per E-Mail zugesandt wurde. In Version 7 besteht dieser Schlüssel tatsächlich aus dem gesamten Inhalt einer Textdatei, die Sie beispielsweise im Installationsordner von JB7 ablegen können. Wenn der Schlüssel abgefragt wird, wählen Sie einfach die betreffende Datei aus. Sobald dies geschehen ist, wird der Schlüssel nicht mehr abgefragt.

Es sind einige nützliche Konfigurationen vorzunehmen, wenn man JBuilder zum Erstellen von Java-Servlets verwenden möchte. Die sogenannte „Jbuilder Personal“-Version ist nämlich eine abgespeckte Version, die insbesondere nicht alle Klassen enthält, die für die Webentwicklung in Java erforderlich sind. Man kann dafür sorgen, dass JBuilder die von Tomcat bereitgestellten Klassenbibliotheken verwendet. Dazu geht man wie folgt vor:

  • Starten Sie JBuilder

Image

  • die Option „Tools/Configure“ für JDKs aktivieren

Image

Im obigen Abschnitt „JDK Settings“ steht normalerweise im Feld „Name“ der Wert „JDK 1.3.1“. Wenn Sie eine neuere Version von JDK haben, verwenden Sie die Schaltfläche Change, um das Installationsverzeichnis dieser Version anzugeben. Oben wurde das Verzeichnis E:\Program Files\jdk14 angegeben, in dem ein JDK 1.4 installiert war. Von nun an wird JBuilder dieses JDK für seine Kompilierungen und Ausführungen verwenden. Im Bereich (Class, Source, Documentation) finden Sie die Liste aller Klassenbibliotheken, die von JBuilder durchsucht werden, in diesem Fall die Klassen von JDK 1.4. Die darin enthaltenen Klassen reichen für die Webentwicklung in Java nicht aus. Um weitere Klassenbibliotheken hinzuzufügen, verwendet man die Schaltfläche „Add“ und wählt die zusätzlichen .jar-Dateien aus, die man verwenden möchte. Die .jar-Dateien sind Klassenbibliotheken. Tomcat 4.x enthält alle für die Webentwicklung erforderlichen Klassenbibliotheken. Diese befinden sich in <tomcat>\common\lib, wobei <tomcat> das Installationsverzeichnis von Tomcat ist:

Image

Mit der Schaltfläche Add fügen wir diese Bibliotheken nacheinander zur Liste der von JBuilder durchsuchten Bibliotheken hinzu:

Image

Ab sofort können Java-Programme gemäß dem Standard J2EE kompiliert werden, insbesondere Java-Servlets. JBuilder dient lediglich der Kompilierung; die Ausführung erfolgt anschließend durch Tomcat gemäß den im Kurs erläuterten Modalitäten.