Hosting von GeoServer + Openlayers Web-Mapping-Anwendung im Internet? [geschlossen]


12

Ich habe einen Web-Mapping-Anwendungsprototyp mit GeoServer (auf Tomcat als Servlet), Openlayers und PostGIS erstellt. Da es sich damals um einen Prototyp handelte, kümmerte ich mich nicht um die Hosting-Aspekte. Es funktionierte gut auf meinem (Laptop) localhost: 8080.

Als Teil meines Jobs werde ich gebeten, eine ähnliche Anwendung zu entwickeln, diesmal muss sie jedoch im Web verfügbar sein, sodass die Person x über www darauf zugreifen kann. Die Agentur, für die ich arbeite, hat eine eigene Website, die jedoch separat von der Website gehostet werden soll.

Das sind meine Fragen:

  1. Welche Schritte / Optionen sind zu befolgen, um eine Web-Mapping-Anwendung im Web so zu hosten, dass auch jemand außerhalb des Intranets der Agentur oder z. B. in meinem Fall ein anderer Benutzer als der lokale Host darauf zugreifen kann? (In Anbetracht dessen, dass ich eine habe, die nur über localhost funktioniert und zugänglich ist, und jetzt möchte ich, dass jemand anderes auch auf seinem Computer darauf zugreift).
  2. Wenn ja, wie kann ich das implementieren? Für den Fall, dass die Agentur beschließt, es in Zukunft als Teil ihrer Website zu haben.

Ich habe hier einige Posts und Antworten gelesen, die irgendwie zusammenhängen, aber ich bin verwirrt und hoffe, dass jemand helfen kann, auf meine spezielle Frage zu antworten.


Sie hatten mehrere Antworten, sollten diese jedoch besser auf serverfault.com - der SE-Seite für Systemadministratoren - nachfragen . GIS ist in dieser Frage nicht spezifisch. Die Leute dort könnten dir besser helfen.
GIS-Jonathan

Jonathan, ich werde tun, was du vorgeschlagen hast.
Barbara

Eine Out-of-Band-Lösung, die ich jemand anderem überlasse, um sie zu verfeinern und Repräsentanten zu werden, wäre das Exportieren der GeoServer-Karte in eine "statisch" -ähnliche OpenLayer-Karte, die über allgemeines gemeinsames Webhosting bereitgestellt werden könnte.
Matt Wilkie

@Barbara Konnten Sie die Webkarte hosten? wenn ja wie
Ziggy

Antworten:


5

Ich habe WebFaction verwendet , um GeoServer zusammen mit PostGreSQL / PostGIS zu hosten. Vorsicht, Installation und Optimierung von GeoServer auf einem Server sind nichts für schwache Nerven.

Um meine App zum Laufen zu bringen, konvertierte ich zunächst meine Geometrie in Geojson-Dateien und platzierte sie in der Dateistruktur der App. Ich habe OpenLayers verwendet, bin aber aufgrund des geringen Platzbedarfs, der sehr netten Plugins und der Dokumentation zu Leaflet gewechselt . Die Support-Community ist auch super.

Wenn die Geometriedateien groß sind und die App verlangsamen, können Sie sie in topojson konvertieren . Ich habe gerade angefangen, damit herumzuspielen und es scheint gut zu funktionieren.


Hey geomajor56, ist WebFaction ein GIS-Hosting-Service? Wie ist die Vorgehensweise (Handhabung von Anwendungen / Datendateien / Ordnern), wenn Sie einen GIS-Hostingdienst zum Hosten Ihrer Anwendung verwenden müssen?
Barbara

Es ist kein GIS-Webhosting-Dienst, bietet jedoch PostGreSQL, PostGIS und alle erforderlichen Bibliotheken. Sie müssen GeoServer selbst als benutzerdefinierte App installieren. Ich habe es in Tomcat
geomajor56 am

Ermöglicht Ihre App das Bearbeiten von Geometrie und Attributen?
Geomajor56

Geomajor, Networking und Hosting sind mir ein Rätsel, also muss ich mich fragen: Wie ist Ihre App über das Web erreichbar? Ich lade tatsächlich relevante Dokumentationen für WebFaction herunter, um einen Einblick in diese zu erhalten, aber ich würde mich freuen, wenn Sie Ihre praktischen Erfahrungen mit dem Service teilen können. Zunächst einmal erlaubt die App keine Bearbeitung von Geometrien und Attributen.
Barbara

Sobald ich die Hosting-Aufgabe in Ordnung und für die Implementierung gut dokumentiert habe, muss ich mit der Arbeit beginnen, damit Geometrien und Attribute bearbeitet werden können, aber nur von ausgewählten Benutzern.
Barbara

3

Normalerweise hosten wir die Anwendungen selbst. Wenn Sie dies vorhaben, befolgen Sie diese Schritte:

  1. Stellen Sie sicher, dass Sie localhostin Ihrem JavaScript-Code nicht auf oder auf einen bestimmten Hostnamen verweisen . Am besten verwenden Sie einen relativen Pfad, damit er sowohl innerhalb als auch außerhalb des Netzwerks nahtlos funktioniert.
  2. Meine Anwendungen haben normalerweise einige PHP-Skripte. Aus diesem Grund hoste ich die Anwendung in Apache, die auf Port 80 ausgeführt wird.
  3. Mein Geoserver läuft entweder in Tomcat oder Jetty auf Port 8080
  4. Meine Apps rufen auch WFS und GetFeatureInfo von WMS an. Anstatt eine proxy.cgi zu verwenden, verwende ich den ProxyPass und ProxyPassReverse von Apache, um eine Proxy-Verbindung zu GeoServer herzustellen. In dieser Antwort erfahren Sie, wie Sie Apache dafür konfigurieren können.
  5. Der Netzwerkadministrator konfiguriert das Netzwerk so, dass nur Port 80 aus dem Internet für dieses System geöffnet wird.
  6. Darüber hinaus konfiguriert der Netzwerkadministrator normalerweise einen Domänennamen, der auf die IP-Adresse dieses Computers verweist, sodass Benutzer keine IP-Adresse eingeben müssen. big-corp.comLautet der Domänenname meines Unternehmens beispielsweise:, leitet der Administrator die Unterdomäne normalerweise so weiter webgis.big-corp.com, dass sie auf diesen Server verweist. Wenn Sie stattdessen eine Route big-corp.com\webgis\zu diesem Server einrichten möchten, kann dies ebenfalls durch entsprechende Konfiguration des Hauptservers erfolgen big-corp.com.

Sobald Sie dies tun, können Sie auf die Anwendung sowohl außerhalb des Netzwerks (dh des Internets) als auch innerhalb des internen LANs zugreifen


2

Ich sehe die folgenden Optionen für Ihre Agentur:

a) So finden Sie einen GeoServer-Host für Ihre Anwendung: Siehe Gibt es Hosting-Unternehmen, die Geoserver anbieten?

Sie beginnen mit der Auswahl Ihres Hosting-Plans, der dem von Ihren geografischen Informationen benötigten Speicherplatz und dem erwarteten monatlichen Datenverkehr entspricht. (Es ist besser für Sie, einen grundlegenden Hosting-Plan zu wählen und später, falls erforderlich, auf eine höhere Ebene zu wechseln.)

Außerdem registrieren Sie eine neue Domain, um sicherzustellen, dass Besucher auf Ihre Anwendung zugreifen können, z . B. geoagency.com . Sie erhalten Zugang zu einem allgemeinen Administrationsbereich unter geoagency.com/adminpanel oder einer ähnlichen Adresse . Bei der Auswahl eines Hosts müssen Sie sicherstellen, dass dieser im Adminpanel alle erforderlichen Tools zur Verfügung stellt:

  • Tomcat-Verwaltungsoberfläche zur Verwaltung Ihrer Servlets
  • GeoServer-Verwaltungsoberfläche
  • Zugriff auf die PostgreSQL-Datenbank (in der Regel über phpPgAdmin)
  • shp2pgsql GUI Tool
  • Automatisches Backup-Tool für PostgreSQL

Vorteile: Sie stören die Website der Agentur nicht. Sie benötigen keine zusätzliche Ausrüstung oder Software-Installation / -Upgrade für schwierige Aktivitäten. Sie profitieren auch vom technischen Support. Sie müssen nur die Sicherungskopien regelmäßig herunterladen.

Nachteile: Wenn Sie mehr Daten speichern und einen hohen monatlichen Datenverkehr haben, können die Hosting-Kosten recht hoch werden.

b) Die zweite Möglichkeit wäre, Ihre Anwendung auf einem Computer innerhalb der Agentur zu hosten. Ja, Sie können über einen Link wie www.agency.com/geo oder geo.agency.com auf die Anwendung zugreifen . Einige der Implementierungsdetails finden Sie unter http://www.gistutor.com/geoserver/21-intermediate-geoserver-tutorials/38-configuring-geoserver-proxy-for-public-and-remote-data-access.html . Ein guter Netzwerkadministrator kann den Erklärungen folgen. Außerdem ist es erforderlich, Zugriff auf DNS-Einträge und den Agenturrouter zu haben, um den gesamten Vorgang abzuschließen.

Vorteile: Sie haben keine Speicher- oder Datenverkehrsbeschränkungen und müssen keine Hosting-Firma bezahlen. Wenn Sie bereits einen Netzwerkadministrator und einen dedizierten Computer für Ihren GeoServer haben, ist dies der richtige Weg.

Nachteile: Wenn Sie keinen Netzwerkadministrator haben, müssen Sie einen einstellen, zumindest für den Implementierungsprozess und danach für Wartungsaufgaben und die unvermeidliche Behebung von Vorfällen. Sie müssen Geld für den dedizierten Computer ausgeben. Wenn Sie eine erfolgreiche Bewerbung mit vielen Besuchern haben, müssen Sie möglicherweise noch einmal Geld ausgeben, um Ihre Internet-Breitbandgeschwindigkeit zu erhöhen.


Die Agentur hat einen Netzwerkadministrator, der im Februar oder März seinen Dienst wieder aufnimmt. In diesem Stadium bin ich auf der Suche nach relevanten Informationen, Vorschlägen und Tipps, damit ich das Management bei unserem zweiten Treffen erneut über verfügbare Optionen, kritische Überlegungen (technisch, finanziell und administrativ), Vor- und Nachteile und Kosten usw. informieren kann. Option (a) sieht aus Praktisch als Datengröße von weniger als 1 GB oder sogar 500 MB, weniger Arbeit usw. Ich wollte jedoch auch die Machbarkeit von Option (b) untersuchen. WRT den Link unter Option (b), die Details sind Linux-spezifisch. Woher bekomme ich die Windows-spezifischen Details dazu?
Barbara

Option (a) und ähnliche Dienste wie WebFaction wären gute Alternativen. Die Notwendigkeit, Option b zu untersuchen, besteht jedoch darin, eine Begründung für den ausgewählten Ansatz zu haben. Sorin, wenn ich weitere Fragen habe, werde ich wieder kommentieren.
Barbara

Machen Sie sich keine Sorgen über die Linux-Präsenz unter Option (b) Link; Wenn Sie genauer hinschauen, werden Sie feststellen, dass alle erforderlichen Einstellungen sich auf den Apache Server und den GeoServer beziehen, unabhängig vom Betriebssystem. Diese Einstellungen müssen in den Dateien httpd.conf und proxy.cgi vorgenommen werden (die sich in Ihrem Apache-Installationsordner befinden). Außerdem müssen Sie users.properties nicht bearbeiten (es befindet sich im GeoServer-Installationsordner), wenn Sie das Standardkennwort von GeoServer bereits geändert haben.
Sorin Călinică

Die im Artikel gezeigten Einstellungen sind jedoch gültig, wenn die gesamte GIS-Anwendung und der Agentur-Webserver auf demselben Computer installiert sind. Dies ist jedoch nicht bei allen Unternehmen gleich. Jetzt weiß ich nicht, was in Ihrem Fall ist, aber wenn sich Ihr Agentur-Webserver auf einem eigenen Computer befindet und die GIS-Anwendung der Agentur auf einem anderen Computer installiert ist, befinden sich beide Computer im LAN der Agentur, in Apache ProxyPass und ProxyPassReverse Sie ersetzen localhost durch die interne IP des GIS-Computers.
Sorin Călinică

Wenn der Webserver jedoch von einem externen Anbieter gehostet wird und sich der GIS-Computer in Ihrem LAN befindet, ersetzen Sie localhost durch Ihre öffentliche IP-Adresse (von Ihrem ISP zugewiesen). Außerdem müssen Sie sich bei Ihrem Router anmelden und den 8080-Port an Ihren GIS-Computer weiterleiten. Wenn Sie (oder Ihr Administrator) jemals diese Installation durchführen, fragen Sie möglicherweise nach bestimmten Details.
Sorin Călinică

1

Nur um ein paar Dinge zu verdeutlichen, die Ihnen helfen könnten:

  1. Sie können Ihren Laptop / PC für immer einschalten lassen, damit die Benutzer jederzeit auf Ihre App zugreifen können (IP / Host / usw. usw. usw. sollten dafür gut konfiguriert sein). Dies wird im Allgemeinen nicht "empfohlen", aber viele Leute tun dies. Hier ein Link dazu: http://www.techsupportalert.com/how-to-set-up-your-own-web-server.htm
  2. Kaufen Sie einen Host mit GIS-Funktionen. Es gibt mehrere, ich kenne diese (ich finde es allerdings teuer): http://www.hostgis.com/home/ . Probieren Sie "gis hosting services" in google und Sie werden mehr Optionen finden.

Hallo Gery, ich tauche in Option 2 ein. Ich gehe davon aus, dass die Agentur genug Teig dafür haben sollte.
Barbara

@ Barbara sicher, dass sie sollten = D Bitte halten Sie diesen Beitrag auf dem Laufenden, sobald Sie eine nette Antwort gefunden haben, damit die Leute in Zukunft darauf verweisen können.
Gery

1
Gery, das wird er sicher nach der Seelensuche tun. Nicht nur das, ich werde auch mitteilen, was tatsächlich getan wurde.
Barbara
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.