Web Server konfigurieren und Verbindung verwalten

4D - Documentation   Français   English   German   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next

Version 2004 (Geändert)


4th Dimension, 4D Server und 4D Client enthalten einen Server, mit dem Sie die Daten Ihrer Datenbank im Web transparent und dynamisch veröffentlichen können.

Dieser Abschnitt beschreibt die notwendigen Schritte zum Veröffentlichen von 4D Datenbanken und zum Anmelden an Browser sowie die Verwaltung der Verbindung.

Eine 4D Datenbank im Web nutzen

Zum Veröffentlichen einer 4D Datenbank mit 4th Dimension, 4D Server oder 4D Client im Web benötigen Sie folgende Elemente:

In Ihrer Anwendung muss die erforderliche Web Extension für 4D, 4D Server oder 4D Client installiert sein. Weitere Informationen dazu finden Sie in Ihrem 4D Installationshandbuch.

Web Verbindungen werden mit dem TCP/IP Protokoll über das Netzwerk gemacht.

- Sie müssen TCP/IP auf Ihrem Rechner installiert und korrekt konfiguriert haben. Weitere Informationen finden Sie in der Dokumentation zu Ihrem Rechner oder Betriebssystem.

- Wollen Sie SSL für Netzwerkverbindungen einsetzen, stellen Sie sicher, dass die erforderlichen Komponenten korrekt installiert sind. Weitere Informationen dazu finden Sie im Abschnitt SSL Protokoll.

Nach dem Installieren bzw. Prüfen der entsprechenden Elemente müssen Sie den Web Server von 4D aus starten. Das wird nachfolgend beschrieben.

Veröffentlichung erlauben (4D Client)

Alle Rechner mit 4D Client können die Datenbank, an welche sie angeschlossen sind, im Web veröffentlichen. Diese Funktionalität können Sie über das 4D Kennwortsystem für jeden 4D Client einzeln steuern.

4D Server betrachtet Client Web Lizenzen als Plug-In Lizenzen. So können Sie, wie für Plug-Ins, die Zugriffsberechtigung auf eine spezifische Benutzergruppe beschränken.

Dazu zeigen Sie mit 4D Client in der Toolbox die Seite Gruppen an. Diesen Parameter können Sie nur mit entsprechender Zugriffsberechtigung ändern.

Wählen Sie im linken Bereich eine Gruppe und markieren Sie dann im Plug-In Bereich das Kästchen Zugriff.

Web Server auf Mac OS konfigurieren

Auf Mac OS X benötigen TCP/IP Ports, welche für Veröffentlichung im Web reserviert sind, spezifische Zugriffsrechte: Nur der "Root" Benutzer des Rechners kann ein Programm über diese Ports starten. Es handelt sich um die Ports zwischen 0 und 1023.

Eine 4D Datenbank wird standardmäßig auf dem TCP Port 80 publiziert, im gesicherten Modus auf Port 443 (SSL).

Veröffentlichen Sie eine 4D Datenbank auf dem standardmäßigen TCP Port ohne Anmeldung als "Root" Benutzer, erscheint eine Fehlermeldung:

Sie können die standardmäßige Port-Nummer für HTTP Publikation verändern, jedoch nicht die Publikation im gesicherten Modus, diese muss über den Port 443 erfolgen.

Um den Web Server auf MacOS X zu verwenden, gibt folgende Optionen:

 Die von 4D Web Server verwendeten Nummern für TCP-Port verändern.

Sie müssen einen Port größer als 1023 verwenden, z.B. Port 8080 für den Standardmodus und 8043 für den SSL Modus.

Diese Änderung machen Sie im Dialogfenster Einstellungen der Datenbank. (siehe Abschnitt Einstellungen des Web Server) oder über den Befehl SET DATABASE PARAMETER. In diesem Fall müssen Sie die Port Nummer nach jeder URL der Datenbankverbindung angeben, z.B. http://www.meineDB.com/Seiten/meineSeite.html:8080 und https://www.meineDB.com/Seiten/Zahlung.html:8043.

Das gilt jedoch nur für die standardmäßige Veröffentlichung von 4D Web Server, also für Server ohne SSL Protokoll. Für die Veröffentlichung mit SSL müssen Sie immer Port 443 verwenden. Um einen 4D Web Server in einer gesicherten Umgebung zu veröffentlichen, müssen Sie sich als "Root" Benutzer anmelden.

Anmelden als "Root" Benutzer

Der "Root" Benutzer ist auf einem Rechner mit Mac OS X nicht standardmäßig aktiviert. Sie müssen ihn zuerst aktivieren und sich dann mit diesem Benutzernamen anmelden.

Sie aktivieren einen "Root" Benutzer mit dem Hilfsprogramm NetInfo Manager von Apple, das installiert ist in Applications:Utilities.

Haben Sie das Hilfsprogramm gestartet, wählen Sie im Menü Domain den Befehl Sicherheit und dann die Option Root-Benutzer aktivieren. Zuvor müssen Sie den Administrator des Rechners identifiziert haben. Wählen Sie dazu im gleichen Menü den Befehl Identifizieren. Geben Sie den Kurznamen und das Kennwort des Administrators ein.

Weitere Informationen dazu finden Sie in der Dokumentation von Mac OS X.

Ist der "Root" Benutzer erstellt, schließen Sie die Sitzung (Apple Menü) und melden sich mit dem "Root" Benutzernamen an. Sie können dann den Web Server auf Port Nummer 80 starten bzw. einen 4D Web Server mit einer sicheren Verbindung.

Port-Transfer

Auf Mac OS X sind für die TCP/IP Ports zur Veröffentlichung im Web (Port 0 bis 1023) spezifische Zugriffsrechte erforderlich: Nur der "Root" Benutzer des Rechners kann eine Anwendung über diese Ports starten. Wollen Sie eine 4D Datenbank im Web veröffentlichen, müssen Sie entweder als "Root" Benutzer angemeldet sein oder die TCP Port-Nummer der Datenbankpublikation ändern. 4D bietet die Möglichkeit, eine 4D Web Datenbank auf MacOS X zu veröffentlichen ohne "Root" Benutzer zu sein bzw. ohne hinter jeder URL-Verbindung zum Server die Portnummer anzugeben. Das basiert auf Port-Transfer. Dabei wird auf Systemebene die Anfrage von der Standard TCP Portnummer (80) auf den Port übertragen, der in der 4D Datenbank definiert wurde. Er muss größer als 1023 sein.

Das funktioniert jedoch nicht mit gesicherten Verbindungen, da der TCP Port 443 nicht änderbar ist.

Zur Durchführung dieser Operation müssen Sie sich als "Root" Benutzer anmelden, das Terminal starten und Unix Befehle verwenden.

Um den Port-Transfer auf Mac OS X einzurichten (mit der IP Adresse 192.168.93.45):

1. Öffnen Sie eine Sitzung als Root Benutzer.

(siehe voriger Absatz).

2. Starten Sie das Programm Terminal.

Es liegt unter Applications:Utilities

3. Geben Sie "su" ("substitute user" Sonder Account) ein und dann das Kennwort des Root Benutzers.

4. Geben Sie folgenden Befehl ein:

ipfw add 400 fwd 192.168.93.45,8080 tcp from any to 192.168.93.45 80

Natürlich müssen Sie "192.168.93.45" durch Ihre eigene IP Adresse ersetzen.

"400" ist die Referenznummer für diese Operation.

5. Beenden Sie das Programm Terminal.

6. Starten Sie Ihr 4D Programm als Standardbenutzer.

7. Setzen Sie im Dialogfenster Datenbankeigenschaften den TCP Port zum Veröffentlichen im Web auf 8080.

Ab jetzt kann Mac OS X die auf Port 80 empfangenen Anfragen sofort auf Port 8080 übertragen, und zwar in einer für den Benutzer transpartenten Weise.

Um diese Einstellung wieder rückgängig zu machen:

1. Starten Sie das Programm Terminal und geben Sie ein:

ipfw delete 400

Die auf Port 80 empfangenen Anfragen werden nicht mehr auf Port 8080 übertragen.

Temporäre Root-Sitzung öffnen

Der Web Server von 4th Dimension wird zu Beginn in einer für diesen Zweck geöffneten "Root" Sitzung gestartet und wenig später geschlossen. Diese neue Funktionsweise gilt für 4th Dimension, 4D Server, 4D Client und Anwendungen mit einkompilierter 4D Runtime Volume License.

Die Funktionsweise im Detail:

1. 4th Dimension wird in einer klassischen Benutzersitzung ausgeführt.

2. Wird der Web Server auf dem Port 80 gestartet, erscheint eine Meldung, dass die Operation nicht ausgeführt werden kann.

Der Benutzer kann im Dialogfenster die Zugriffsrechte verändern, damit sich der Web Server starten lässt. Dazu muss er einen Administratornamen und Kennwort für den Rechner eingeben.

3. Der Benutzer gibt für den Rechner einen Administratornamen und Kennwort ein.

Über diese Angaben kann 4th Dimension die Zugriffsrechte auf das Programm ändern und die Benutzersitzung als "Root" setzen.

4. Der Benutzer wird aufgefordert, die Anwendung zu beenden und neu zu starten.

5. Beim nächsten Start, startet die 4th Dimension Anwendung in der Root Sitzung.

6. Ist in den Einstellungen der Datenbank die Option "Datenbank bei Startup veröffentlichen" markiert, startet der Web Server automatisch auf Port 80.

Ist die Option "Erlaube SSL für WebServer" markiert, wird auch der SSL Port (standardmäßig 443) geöffnet.

7. Die Root-Sitzung wird nach wenigen Sekunden automatisch geschlossen und durch die Sitzung des aktuellen Benutzers ersetzt.

Der Web Server bleibt veröffentlicht, die Benutzersitzung läuft normal weiter.

Hintergrund dieser Option ist, dass der Web Server – einmal eingerichtet, sich nicht willkürlich während einer Sitzung stoppen, starten, oder erneut starten lässt. Sie können von einer standardmäßigen Benutzersitzung in eine "Root" Sitzung nur über Neustart wechseln, da diese höhere Zugriffsrechte hat. Diese Arbeitsweise funktioniert nur, wenn das Programm gestartet ist.

Web Server starten

Es gibt drei Möglichkeiten, den Web Server von 4D zu starten:

Im Menü Start von 4th Dimension bzw. 4D Client oder das Menü Web von 4D Server. Mit diesem Menü können Sie den Web Server je nach Bedarf starten oder beenden:

4th Dimension und 4D Client:

4D Server:

Die Datenbank wird beim Öffnen automatisch publiziert. Wählen Sie dazu in der Designumgebung von 4D Server oder 4th Dimension im Menü Datei/Ablage die Option Einstellungen. Klicken Sie unter dem Thema Web auf den Eintrag Konfiguration:

Markieren Sie unter Web Server Start-Optionen das Kontrollkästchen Automatisch starten und klicken auf die Schaltfläche OK. Ihre Datenbank wird nun bei jedem Öffnen mit 4th Dimension, 4D Server oder 4D Client automatisch im Web publiziert.

Per Programmierung durch Aufrufen des Befehls START WEB SERVER.

Tipp: Sie müssen 4D nicht verlassen und die Datenbank erneut öffnen, um das Publizieren der wieder starten.

Web Server testen

Über den Befehl Web Server testen können Sie sicherstellen, dass der integrierte Web Server korrekt arbeitet (nur 4th Dimension und 4D Client). Dieser Befehl ist im Menü Start verfügbar, wenn der Web Server gestartet ist:

Wählen Sie diesen Befehl, wird die Home Page der Web Site, die das 4D Programm veröffentlicht, in einem Fenster Ihres standardmäßigen Web Browser angezeigt:

Über diesen Befehl können Sie prüfen, ob Web Server, Anzeige der Home Page, etc. korrekt arbeiten.

Die Seite wird über die URL Localhost aufgerufen, das ist die Standardabkürzung für die IP Adresse des Rechners, auf dem der Web Browser ausgeführt wird. Der Befehl berücksichtigt die TCP Port-Nummer zur Veröffentlichung, die in den Einstellungen der Datenbank angegeben ist.

Anschluss an eine 4D Datenbank, die im Web publiziert ist

Sobald eine 4D Datenbank im Web publiziert wird, können Sie über einen Web Browser darauf zugreifen. Gehen Sie folgendermaßen vor:

Hat Ihre Web Site einen registrierten Namen (z.B. RosenIntl "www.RosenIntl.com"), geben Sie diesen Namen im Bereich Open, Address oder Location Ihres Browsers an. Drücken Sie dann die Eingabetaste.

Hat Ihre Web Site keinen registrierten Namen, geben Sie die IP Adresse Ihres Rechners im Bereich Open, Address oder Location Ihres Browsers an (z.B. 123.4.567.89). Drücken Sie dann die Eingabetaste.

Ihr Browser sollte nun die Home Page Ihrer Website anzeigen. Bei Veröffentlichen der Datenbank mit der Standardeinstellung sollte die Home Page des 4D Web Servers erscheinen. Auf dieser Seite können Sie die Verbindung und die Server Operation prüfen:

1. Die Verbindung schlägt fehlt und Sie erhalten eine Meldung wie "...der Server akzeptiert keinen Anschluss oder ist besetzt...".

In diesem Fall prüfen Sie folgendes:

Haben Sie den Namen oder die IP Adresse richtig eingegeben?

Läuft 4th Dimension, 4D Server bzw. 4D Client und hat das Programm den Web Server gestartet?

Ist die Datenbank für die Benutzung nicht auf dem Standard Web TCP Port konfiguriert, sondern auf einem anderen TCP Port (siehe Punkt 4)?

Ist TCP/IP sowohl auf dem Server als auch auf dem Browser Rechner korrekt konfiguriert? Beide Rechner müssen entweder auf dem selben Netz bzw. Unternetz liegen oder ihre Router müssen korrekt konfiguriert sein.

Prüfen Sie die Anschlüsse Ihrer Hardware.

Testen Sie nicht lokal Ihr eigenes Web, sondern wollen Sie eine Verbindung zu einer Web Datenbank herstellen, die von jemand anderem im Internet oder Intranet benutzt wird, kann die Meldung stimmen: Der Server ist tatsächlich ausgeschaltet oder besetzt. Bauen Sie die Verbindung später wieder auf oder wenden Sie sich an den Web Provider.

2. Sie erhalten eine Verbindung, jedoch erscheint immer der Fehler HTTP 404 "Datei wurde nicht gefunden". Das bedeutet, dass die Home Page nicht definiert wurde. Prüfen Sie, ob die Home Page an der Stelle existiert, die in den Einstellungen der Datenbank definiert wurde. (siehe Abschnitt Einstellungen des Web Server) oder verwenden Sie den Befehl SET HOME PAGE.

3. Sie erhalten eine Verbindung, die Web Site enthält jedoch die Meldung, "Menüleiste/Diese Datenbank wurde noch nicht für das Web angepasst. Erstellen Sie zuerst eine Menüleiste". Das bedeutet, dass Sie korrekt mit der Datenbank im kontextuellen Modus verbunden sind. Es wurden jedoch weder eine Home Page noch eine Menüleiste definiert. 4D veröffentlicht die Menüleiste # 1 als standardmässige Home Page, wenn keine HTML Seite spezifiziert ist. Weitere Informationen dazu finden Sie im Abschnitt Web Server, Einstieg.

4. Sie erhalten eine Verbindung, jedoch NICHT die erwartete Web Site! Dies kann vorkommen, wenn mehrere Server gleichzeitig auf demselben Rechner laufen.

Beispiele:

Sie haben nur eine 4D Web Datenbank auf einem Windows NT 4.0 System laufen, das jedoch bereits eigene Web Server in Betrieb hat.

Sie haben mehrere 4D Web Datenbanken auf demselben Rechner laufen.

In diesem Fall müssen Sie die Nummer des TCP Port ändern, auf dem Ihre 4D Web Datenbank läuft. Die Vorgehensweise wird im Abschnitt Einstellungen des Web Server beschrieben.

Hinweis: Ist Ihre Datenbank durch Kennwortsystem geschützt, müssen Sie ausserdem einen gültigen Benutzernamen und Kennwort eingeben. Weitere Informationen dazu finden Sie im Abschnitt Sicherheit der Verbindung.

Web Prozess verwalten

Verschiedene 4D Prozesse unterstützen die Publikation der Datenbanken im Web und die Verbindung mit den Browsern. Diese Prozesse und ihre Merkmale werden im folgenden beschrieben.

Prozess Web Server

Der Prozess Web Server läuft und wird ausgeführt, wenn die Datenbank als Web Seite publiziert wird. Auf der Seite Prozess im Fenster Runtime Explorer ist der Prozess Web Server der dritte laufende Prozess in der Ausführung:

Dies ist ein Prozess des 4D Kernels, d.h. Sie können ihn nicht über das Menü Design Prozeß mit dem Menübefehl Abbrechen annullieren. Ebensowenig können Sie eine Interprozess Kommunikation über Befehle wie CALL PROCESS testen. Beachten Sie, dass der Prozess Web Server keine Komponenten aus der Benutzeroberfläche hat, wie z.B. Fenster, Menüs, usw).

Sie starten den Prozess Web Server auf folgende Weise:

Wählen Sie in der Benutzerumgebung von 4th Dimension/4D Client im Menü Start bzw. unter 4D Server im Menü Web Server den Menübefehl Start Web Server.

Rufen Sie den 4D Befehl START WEB SERVER auf.

Öffnen Sie eine Datenbank, bei der im Dialogfenster Einstellungen unter Web Server Start-Optionen die Option Automatisch starten markiert ist.

Sie brechen den Prozess Web Server auf folgende Weise ab:

Wählen Sie in der Benutzerumgebung von 4th Dimension/4D Client im Menü Start bzw. unter 4D Server im Menü Web Server den Menübefehl Stop Web Server.

Rufen Sie den 4D Befehl STOP WEB SERVER auf.

Verlassen Sie die Datenbank, die gerade publiziert wird.

Der Prozess Web Server hat nur die Aufgabe, die Versuche für eine Verbindung zum Web zu verwalten. Starten des Prozesses Web Server bedeutet also nicht, dass Sie eine aktuelle Verbindung zum Web öffnen, sondern lediglich, dass Web Anwender Web-Verbindungen aufbauen können. Abbrechen des Prozesses Web Server bedeutet nicht, dass Sie derzeit laufende Web Verbindungsprozesse - sofern vorhanden - schliessen, sondern lediglich, dass Web Benutzer nicht länger neue Web Verbindungen herstellen können.

Gibt es beim Abbrechen des Prozesses Web Server noch offene Web Verbindungsprozesse, wird jeder der Prozesse ausgeführt, bis der Web Anwender aufhört, Anfragen an die Datenbank zu senden. Die Zeitspanne hierfür kann grösser oder gleich dem festgelegten Timeout für den Web Server sein. Dieses wird entweder im Dialogfenster Einstellungen der Datenbank oder per Programmierung über den Befehl SET WEB TIMEOUT festgelegt.

Web Verbindungsprozesse

Jeder Versuch des Web Browsers, sich an die Datenbank anzumelden, wird vom Web Server Prozess verwaltet. Dieser führt folgende Schritte aus:

Er erstellt zuerst einen bzw. mehrere temporäre lokale 4D Prozesse, auch Web Prozesse genannt, zum Prüfen und Verwalten der Verbindung mit dem Web Browser.

Hinweis: Diese temporären Prozesse verwalten jede HTTP Anfrage. Sie werden schnell ausgeführt und dann annulliert oder auf Warten gesetzt. 4D friert diese Prozesse für Web Server im nicht-kontextuellen Modus für 5 Sekunden ein und verwendet sie wieder für zukünftige HTTP Anfragen. Dieses Verhalten können Sie über den Befehl SET DATABASE PARAMETER (Selektoren 6 und 7) steuern.

Erfordert die Anfrage kein Erstellen eines Kontexts, verwaltet der Web Prozess das Abarbeiten der Anfrage und sendet bei Bedarf eine Antwort an den Browser. Der temporäre Prozess wird dann annulliert oder auf Warten gesetzt (siehe oben).

Erfordert die Anfrage das Erstellen eines Kontext, wird zuerst geprüft, ob Ressourcen für die neue Verbindung verfügbar sind. Ist das nicht der Fall, wird an den Web Browser folgende Meldung gesendet: "Diese Datenbank wurde noch nicht für das Web eingerichtet". Bei erfolgreich gestarteter Web Verbindung startet ein Web Verbindungsprozess, der die gesamte Web Sitzung für diese Verbindung verwaltet. Das nachfolgend gezeigte Fenster Prozess zeigt den Web Verbindungsprozess "Web Connection# 1165990315". Er startet, nachdem eine Verbindung mit dem Web Browser hergestellt wurde:

Beachten Sie auch den gestoppten fünften Prozess, der vom Prozess Web Server gestartet und beendet wurde. Dieser Prozess verwaltet das Starten der Web Verbindung.

Wechselt die Verbindung während der Sitzung vom kontextuellen Modus in den nicht-kontextuellen Modus, wird der Web-Verbindungsprozess annulliert.

Beim Wechsel vom nicht-kontextuellen Modus in den kontextuellen Modus wird ein numerierter Web Verbindungsprozess erstellt.

Hinweis: Weitere Informationen zur Kontextverwaltung finden Sie im Abschnitt Kontextueller Modus.

Referenz

SEND HTML FILE, SET HTML ROOT, SET WEB DISPLAY LIMITS, SET WEB TIMEOUT, SSL Protokoll, STOP WEB SERVER.


4D - Documentation   Français   English   German   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next