Skip to content

10. Anhänge – Werkzeuge für die Webentwicklung

Hier zeigen wir auf, wo man kostenlose Tools für die Webentwicklung in Java, PHP, ASP und asp.net finden und wie man sie installiert. Bei einigen Tools wurden die Versionen aktualisiert, sodass die hier gegebenen Erläuterungen möglicherweise nicht mehr für die neuesten Versionen gelten. Der Leser muss sich in diesem Fall entsprechend anpassen... :

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

10.1. Webserver, Browser, Skriptsprachen

  1. Gängige Webserver
  • Apache (Linux, Windows)
  • Internet Information Server IIS (NT), Personal Web Server PWS (Windows 9x), Cassini (verschiedene Plattformen .NET)
  1. Wichtigste Browser
  • Internet Explorer (Windows)
  • Netscape (Linux, Windows)
  • Mozilla (Linux, Windows)
  • Opera (Linux, Windows)
  1. Serverseitige Skriptsprachen
  • VBScript (IIS, PWS)
  • JavaScript (IIS, PWS)
  • Perl (Apache, IIS, PWS)
  • PHP (Apache, IIS, PWS)
  • Java (Apache, Tomcat)
  • Sprachen .NET
  1. Browser-seitige Skriptsprachen
  • VBScript (IE)
  • JavaScript (IE, Netscape)
  • PerlScript (IE)
  • Java (IE, Netscape)

10.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
Mozilla
http://www.mozilla.org
PHP
http://www.php.net
Active PERL
http://www.activestate.com
Vbscript, Javascript
http://msdn.microsoft.com/scripting (dem Link „Windows Script“ folgen)
JAVA
http://java.sun.com/
Apache
http://www.apache.org/
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/
EasyPHP
http://www.easyphp.org/
Cassini
http://www.asp.net

10.3. EasyPHP

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

  • den Apache-Webserver
  • einen Interpreter PHP
  • 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 bereitgestellten Webseiten von EasyPHP
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 einem roten Punkt sollte blinken, wenn der Webserver Apache und die Datenbank MySQL betriebsbereit sind. Wenn man mit der rechten Maustaste darauf klickt, werden folgende Menüoptionen angezeigt:

Image

Mit der Option Administration können Einstellungen vorgenommen und Funktionstests durchgeführt werden:

Image

10.3.1. Konfiguration des Interpreters PHP

Über die Schaltfläche „PHP-Infos“ können Sie die ordnungsgemäße Funktion des Apache-PHP-Paares ü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 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.

10.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 anderen Orten als im Verzeichnis „www“ der Verzeichnisstruktur von easyPhp abgelegt werden.

Image

Wenn man auf der oben genannten Seite die folgenden Angaben macht:

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:

dos>dir e:\data\serge\web\html\balises.htm

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

und diese Seite unter Verwendung des 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

10.3.3. Die Apache-Konfigurationsdatei [htpd.conf] htpd.conf

Wenn man Apache etwas genauer konfigurieren möchte, muss man die 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 wie 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

10.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 von 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.

10.4. PHP

Wir haben gesehen, wie man PHP über die Anwendung EasyPhp erhält. Um PHP direkt zu erhalten, rufen Sie 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 DOS-Fenster in das Verzeichnis von [date.php] und führen Sie es aus:

dos>"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

10.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 den 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. Nach 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:

dos>e:\perl\bin\perl.exe heure.pl
Il est 9:34:21

10.6. VBScript, JavaScript, PerlScript

Diese Sprachen sind Skriptsprachen für Windows. Sie können in verschiedenen Containern 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 wäre.
  • 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:

dos>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]);
  }//für
}//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:

dos>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:

dos>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 ist 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.

10.7. JAVA

Java ist unter der Adresse URL verfügbar: http://www.sun.com 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 diese:
dos>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 zum Compiler „javac.exe“ ersetzt werden. Sie müssen im selben Verzeichnis wie „heure.java“ eine Datei namens „heure.class“ erstellen, bei der es sich um das Programm handelt, das nun von der virtuellen Maschine „java.exe“ ausgeführt wird.

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

Im obigen Befehl muss [c:\jdk1.3\bin\java] durch den genauen Pfad zur Java-Virtual-Machine [java.exe] ersetzt werden.

10.8. Apache-Server

Wir haben gesehen, dass man den Apache-Server mit der Anwendung EasyPhp beziehen kann. Um ihn direkt zu erhalten, 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

10.8.1. Konfiguration

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 legen Sie sie im Stammverzeichnis der Webseiten des Apache-Servers (DocumentRoot oben) ab. 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 (DocumentRoot) ab und nennen sie date.php. Rufen wir mit einem Browser die Datei 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 Seite URL unter http://localhost/cgi-bin/heure.pl auf. Es wird folgende Seite angezeigt:

Image

10.9. Der Server PWS

10.9.1. Installation von t

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.

10.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 arbeitet 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 URL 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:
Répertoire/Parcourir : d:\inetpub\wwwroot\php
Alias : php
Cocher la case exécuter.
  1. Bestätigen Sie alles 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. Fordern Sie vom Server PWS die Datei URL „http://localhost/php/intro.php“ an. Es sollte die Liste der PHP-Informationen angezeigt werden, die bereits mit Apache dargestellt wurden.

10.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) oder JSP-Seiten (Java Server Pages) erstellen lassen, bei denen Java-Code und HTML-Code miteinander kombiniert werden. Dies entspricht den ASP-Seiten (Active Server Pages) des Microsoft-Servers IIS/PWS, bei denen VBScript-Code oder JavaScript mit HTML-Code vermischt wird.

10.10.1. Installation

Tomcat ist unter der Adresse URL verfügbar: http://jakarta.apache.org. Man lädt eine .exe-Installationsdatei herunter. Beim Starten dieses Programms wird zunächst angegeben, welche Java-Version verwendet wird. Tomcat benötigt nämlich 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

Sie müssen lediglich dieses Archiv in ein Verzeichnis 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

10.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 Examples“:

Image

Klicken Sie auf den Link „Execute“ unter „RequestParameters“ und anschließend auf den Link unter „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ü.

10.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 eines Programms an, und es ist einfach, die entsprechende Stelle zu markieren
  • 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.

10.12. Der Webserver Cassini

Um mit der .NET-Plattform von Microsoft zu arbeiten, kann der Cassini-Webserver verwendet werden. Dieser ist über ein anderes Produkt namens [WebMatrix] verfügbar, bei dem es sich um eine kostenlose Webentwicklungsumgebung für die .NET-Plattformen handelt, die unter folgender URL verfügbar ist:

Image

Befolgen Sie die Installationsanweisungen für das Produkt sorgfältig:

  • die .NET-Plattform (Version 1.1 vom März 2004) herunterladen und installieren
  • WebMatrix herunterladen und installieren
  • MSDE (Microsoft Data Engine) herunterladen und installieren, bei dem es sich um eine eingeschränkte Version von SQL Server handelt.

Nach Abschluss der Installation ist das Produkt [WebMatrix] unter den installierten Programmen verfügbar:

Image

Der Link „[ASP.NET] Web Matrix“ startet die Entwicklung von „IDE“ aus „ASP.NET“:

Image

Der Link [Class Browser] startet ein Tool zur Erkundung der Klassen .NET:

Image

Um die Installation zu testen, starten wir [WebMatrix]:

4231

Image

Beim ersten Start fragt [WebMatrix] nach den Eigenschaften des neuen projet.C – dies ist die Standardkonfiguration. Man kann das Tool so konfigurieren, dass dieses Dialogfeld beim Start nicht angezeigt wird. Dies erreicht man über die Option [File/New File]. Mit [WebMatrix] lassen sich Skelette für verschiedene Webanwendungen erstellen. Oben haben wir unter (1) angegeben, dass wir eine Anwendung [ASP.ET Page] erstellen möchten, bei der es sich um eine Webseite handelt. Unter (2) geben wir den Ordner an, in dem diese Webseite abgelegt werden soll. In (3) geben wir den Namen der Seite an. Sie muss die Endung .aspx haben. Schließlich legen wir in (4) fest, dass wir mit der Sprache VB.NET arbeiten möchten, wobei [WebMatrix] zudem die Sprachen C# und J# unterstützt.

Anschließend zeigt [WebMatrix] eine Bearbeitungsseite für die Datei [demo1.aspx] an. Dort fügen wir den folgenden Code ein:

Image

  • Auf der Registerkarte [Design] kann man die Webseite, die man erstellen möchte, „entwerfen“. Dies funktioniert ähnlich wie bei einem IDE zur Erstellung von Windows-Anwendungen.
  • Das grafische Design der Webseite in [Design] generiert HTML-Code auf der Registerkarte [HTML]
  • Die Webseite kann Steuerelemente enthalten, die Ereignisse auslösen, auf die reagiert werden muss, beispielsweise eine Schaltfläche. Diese Ereignisse werden durch VB.NET-Code verwaltet, der in der Registerkarte [Code] platziert wird.
  • Letztendlich ist die Datei demo1.aspx eine Textdatei, die Code aus HTML und Code aus VB.NET enthält – das Ergebnis des in [Design] erstellten grafischen Entwurfs, des Codes HTML, der manuell in [HTML] hinzugefügt wurde, sowie des Codes VB.NET, der in [Code] platziert wurde. Die gesamte Datei ist auf der Registerkarte „[All]“ verfügbar.
  • Ein erfahrener Entwickler von ASP.ET kann die Datei demo1.aspx direkt mit einem Texteditor erstellen, ohne auf IDE zurückgreifen zu müssen.

Wählen wir die Option [All] aus. Wir stellen fest, dass [WebMatrix] bereits Code generiert hat:

<%@ Page Language="VB" %>
<script runat="server">

    ' Seitencode hier einfügen
    '

</script>
<html>
<head>
</head>
<body>
    <form runat="server">
        <!-- Inhalt hier einfügen -->
    </form>
</body>
</html>

Wir werden hier nicht versuchen, diesen Code zu erklären. Wir wandeln ihn wie folgt um:

<html>
<head>
    <title>Démo asp.net </title>
</head>
<body>
    Il est <% =Date.Now.ToString("hh:mm:ss") %>
</body>
</html>

Der obige Code ist eine Mischung aus HTML und VB.NET. Er wurde in die Tags <% ... %> eingefügt. Um diesen Code auszuführen, verwenden wir die Option [View/Start]. [WebMatrix] startet dann den Cassini-Webserver, falls dieser noch nicht läuft

Image

Man kann die in diesem Dialogfeld vorgeschlagenen Standardwerte übernehmen und die Option [Start] auswählen. Der Webserver ist nun aktiv. [WebMatrix] startet daraufhin den Standardbrowser des Computers, auf dem er sich befindet, und ruft die Seite URL http://localhost:8080/demo1.aspx auf:

Image

Es ist möglich, den Cassini-Server außerhalb von [WebMatrix] zu nutzen. Die ausführbare Datei des Servers befindet sich unter <WebMatrix>\<Version>\WebServer.exe, wobei <WebMatrix> das Installationsverzeichnis von [WebMatrix] und <version> dessen Versionsnummer ist:

Image

Öffnen wir ein DOS-Fenster und wechseln wir in den Ordner des Cassini-Servers:

E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812>dir
...
29/05/2003  11:00               53 248 WebServer.exe
...

Starten wir [WebServer.exe] ohne Parameter:

E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812>webserver

Es erscheint ein Hilfefenster:

Image

Die Anwendung [WebServer], auch Cassini-Webserver genannt, akzeptiert drei Parameter:

  • /port: Portnummer des Webdienstes. Kann beliebig sein. Der Standardwert ist 80
  • /path: Physischer Pfad zu einem Ordner auf der Festplatte
  • /vpath: virtueller Ordner, der dem oben genannten physischen Ordner zugeordnet ist. Beachten Sie, dass die Syntax nicht /path=Pfad lautet, sondern /vpath:Pfad, anders als im obigen Hilfefenster angegeben.

Speichern wir die Datei „[demo1.aspx]“ im folgenden Ordner:

Image

Ordnen wir dem physischen Ordner „[d:\data\devel\webmatrix]“ den virtuellen Ordner „[/webmatrix]“ zu. Der Webserver könnte wie folgt gestartet werden:

E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812>webserver /port:100 /path:"d:\data\devel\webmatrix" /vpath:"/webmatrix"

Der Cassini-Server ist nun aktiv und sein Symbol erscheint in der Taskleiste. Wenn man darauf doppelklickt:

Image

werden die Startparameter des Servers angezeigt. Außerdem besteht die Möglichkeit, den Webserver [Stop] zu beenden oder [Restart] neu zu starten. Klickt man auf den Link [Root URL], wird das Stammverzeichnis der Webstruktur des Servers in einem Browser angezeigt:

Image

Folgen wir dem Link [demos]:

Image

und dann der Link [demo1.aspx]:

Image

Man sieht also: Wenn der physische Ordner P=[d:\data\devel\webmatrix] dem virtuellen Ordner V=[/webmatrix] zugeordnet wurde und der Server auf Port 100 läuft, ist die Webseite [demo1.aspx], die sich physisch in [P\demos] befindet, lokal über URL und [http://localhost:100/V/demos/demo1.aspx] erreichbar.

Wir haben an diesem speziellen Beispiel gezeigt, dass die Webentwicklung ASP.NET mit einem einfachen Texteditor zum Erstellen der Webseiten und dem Cassini-Webserver zum Testen dieser Seiten durchgeführt werden kann. Dies gilt unabhängig von der Komplexität der Anwendung. IDE [WebMatrix] bietet gewisse Erleichterungen bei der Entwicklung, allerdings nur wenige. Ein Tool wie Visual Studio.NET ist wesentlich leistungsfähiger, handelt es sich jedoch um ein kommerzielles Produkt.