Web Server konfigurieren und Verbindung verwalten

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

Version 11.2 (Geändert)


4D und 4D Server 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 4D oder 4D Server im Web benötigen Sie folgende Elemente:

In Ihrer Anwendung muss die erforderliche Web Extension 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 im remote Modus)

Alle Rechner mit 4D 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 remote Rechner einzeln steuern.

4D Server betrachtet 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 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 dann im Plug-In Bereich das Kästchen Zugriff.

Nur Benutzer, die zur Gruppe "Web" gehören, sind berechtigt, ihren 4D Rechner als Web Server zu veröffentlichen.

Web Server auf Mac OS X konfigurieren

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

Beachten Sie, dass eine 4D Datenbank standardmäßig auf dem TCP Port 80 publiziert wird, 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:

Um den Web Server auf Mac OS X zu verwenden, gibt es 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.

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 im Ordner Applications:Utilities installiert ist.

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, müssen Sie die Sitzung (Apple Menü) schließen und sich mit dem "Root" Benutzernamen amelden. Sie können dann den Web Server auf Port Nummer 80 starten bzw. einen 4D Web Server mit einer sicheren Verbindung.

Port-Transfer

4D bietet die Möglichkeit, eine 4D Web Datenbank auf Mac OS 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 im Ordner 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, das geschieht für den Benutzer unsichtbar.

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.

Port über spezifische Anwendung öffnen

Sie delegieren das Öffnen des Web Port an eine spezielle Anwendung mit Namen HelperTool, die entsprechende Zugriffsrechte hat. Diese Funktionsweise gilt für 4D im lokalen und im remote Modus, 4D Server und Anwendungen mit integrierter 4D Volume Desktop.

Die Anwendung HelperTool ist in der 4D Software enthalten. Sie muss an einer spezifischen Stelle des Systems installiert werden. Die Installation erfolgt automatisch beim ersten Öffnen eines Port <1024 auf dem Rechner. Der Benutzer erhält eine Meldung, das ein Tool installiert wird und wird aufgefordert, einen Namen und ein Administrator-Kennwort für den Rechner einzugeben. Diese Operation ist nur einmal erforderlich.

Die Anwendung wird umbenannt in "com.4D.HelperTool" und wird im Ordner "Library/PrivilegedHelperTools/" installiert. Nach diesem Vorgang kann der 4D Web Server transparent gestartet und gestoppt werden.

Hinweis: Zum Ausführen dieser Option benötigen mindestens Version 10.4.6 von Mac OS X. Bei einer älteren Version müssen Sie eine andere Lösung zum Veröffentlichen wählen.

Web Server starten

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

Im Menü Start von 4D oder auf der Seite HTTP Server von 4D Server (Schaltfläche Start HTTP Server). Mit diesen Optionen können Sie den Web Server je nach Bedarf starten oder beenden:

4D:

4D Server:

Um die Datenbank beim Öffnen immer automatisch zu publizieren, gehen Sie in den Einstellungen der Datenbank auf die Seite Web>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 4D oder 4D Server 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 Test Web Server können Sie sicherstellen, dass der integrierte Web Server korrekt arbeitet (nur 4D). 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. 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 Web Site 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 4D oder 4D Server und hat das Programm den Web Server gestartet?

Ist die Datenbank für die Veröffentlichung nicht auf dem Standard Web TCP Port, sondern auf einem anderen TCP Port konfiguriert (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 richtig sein: Der Server kann tatsächlich ausgeschaltet oder besetzt sein. 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äßige 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 System laufen, das jedoch bereits einen eigenen 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 außerdem 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 Site 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 die Schaltfläche 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:

Klicken Sie in 4D Server auf der Seite HTTP Server auf die Schaltfläche Start HTTP Server oder wählen Sie in 4D im Menü Start den 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:

Klicken Sie in 4D Server auf der Seite HTTP Server erneut auf die Schaltfläche Start HTTP Server oder wählen Sie in 4D im Menü Start den Befehl Stop Web Server.

Wählen Sie in der Designumgebung von 4D Developer/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. Das 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. Das Abbrechen des Prozesses Web Server bedeutet nicht, dass Sie derzeit laufende Web Verbindungsprozesse - sofern vorhanden - schließen, 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ößer 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 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 Kontexts, 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 sechsten 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   English   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next