Stai ospitando l'applicazione di mappatura web GeoServer + Openlayers su Internet? [chiuso]


12

Ho creato un prototipo di applicazione di mappatura web usando GeoServer (in esecuzione su Tomcat come servlet), Openlayers e PostGIS. Dal momento che era un prototipo, a quel tempo, non mi preoccupavo degli aspetti di hosting di esso. Funzionava bene sul mio localhost (laptop): 8080.

Ora, come parte del mio lavoro, mi viene richiesto di sviluppare un'applicazione simile, ma questa volta deve andare sul Web, in modo tale che la persona x possa accedervi tramite www. L'agenzia per cui lavoro ha un sito Web in esecuzione, tuttavia desidera che sia una cosa separata, ospitata separatamente dal sito Web.

Queste sono le mie domande:

  1. quali sono i passaggi / le opzioni da seguire per ospitare un'applicazione di web mapping sul web in modo tale che qualcuno al di fuori della intranet dell'agenzia o, ad esempio, nel mio caso, anche qualcuno diverso dall'host locale possa accedervi? (Considerando che ne ho uno funzionante e accessibile solo tramite localhost, e ora voglio che qualcun altro acceda ad esso anche sulla propria macchina).
  2. In tal caso, come posso implementarlo? Nel caso in cui l'agenzia decida di averlo come parte del proprio sito Web in futuro.

Ho letto alcuni post e risposte che sono in qualche modo correlati, tuttavia mi sto confondendo, quindi spero che qualcuno possa aiutare a rispondere alla mia domanda specifica.


Hai avuto diverse risposte, ma è meglio chiederlo a serverfault.com , la pagina SE per informazioni sull'amministratore di sistema. Non c'è nulla di specifico al GIS in questa domanda; la gente lì sarebbe meglio in grado di aiutarti.
GIS-Jonathan,

Jonathan, farò come mi hai suggerito.
Barbara,

Una soluzione fuori banda, che lascio a qualcun altro per dare una spinta e ottenere un rappresentante, sarebbe quella di esportare la mappa GeoServer in una mappa openlayer "statica" che potrebbe essere servita da un generico web hosting condiviso.
Matt Wilson

@Barbara sei riuscito a ospitare la mappa web? se si, come?
ziggy,

Risposte:


5

Sto usando WebFaction per ospitare GeoServer insieme a PostGreSQL / PostGIS. Attenzione, installare e modificare GeoServer su un server non è per i deboli di cuore.

Inizialmente, per rendere operativa la mia app, ho convertito la mia geometria in file geojson e li ho posizionati all'interno della struttura dei file dell'app. Ho usato OpenLayer ma sono passato a Leaflet a causa delle dimensioni ridotte, plugin molto belli e documenti. Anche la community di supporto è fantastica.

Se le dimensioni del file della geometria sono grandi e rallenti l'app, ti consigliamo di convertirle in topojson . Ho appena iniziato a giocarci e sembra funzionare bene.


Ehi geomajor56, quindi WebFaction è un servizio di hosting GIS? Come è la procedura (applicazione / file di dati / gestione delle cartelle) se devi usare un servizio di hosting GIS per ospitare la tua applicazione?
Barbara,

Non è un servizio di web hosting GIS ma fornisce PostGreSQL, PostGIS e tutte le librerie necessarie. Dovrai installare GeoServer come app personalizzata. L'ho installato in Tomcat
geomajor56

La tua app consentirà la modifica di geometria e attributi?
geomajor56,

Geomajor, networking e hosting sono al di là di me, quindi dovrò chiederlo: come è accessibile la tua app via web? Sto effettivamente scaricando la documentazione pertinente per WebFaction per ottenere alcune informazioni in merito, ma ti sarei grato se puoi condividere la tua esperienza pratica con il suo servizio. Per cominciare, l'app non consentirà la modifica di geometrie e attributi.
Barbara,

Una volta che il compito di hosting è in ordine e ben documentato per l'implementazione, allora devo iniziare a lavorare da parte per consentire alle geometrie e agli attributi di essere modificabili, ma solo dagli utenti selezionati.
Barbara,

3

Di solito, ospitiamo noi stessi le Applicazioni. Se hai intenzione di farlo, questi sono i passaggi che dovresti seguire:

  1. Assicurati di non fare riferimento a localhosto a un nome host specifico nel tuo codice JavaScript. È preferibile utilizzare un percorso relativo, in modo che funzioni perfettamente sia all'interno che all'esterno della rete.
  2. Le mie applicazioni di solito tendono ad avere alcuni script Php. Per questo motivo ospito l'applicazione in Apache, in esecuzione sulla porta 80.
  3. Il mio geoserver funziona su Tomcat o Jetty sulla porta 8080
  4. Le mie app effettuano anche chiamate a GetFeatureInfo di WFS e WMS. Invece di usare proxy.cgi, utilizzo ProxyPass e ProxyPassReverse di Apache per eseguire il proxy su GeoServer. Questa risposta ti dirà come configurare Apache per questo.
  5. L'amministratore di rete configura la rete, in modo da aprire solo la porta 80 da Internet a questo sistema.
  6. Inoltre, l'amministratore di rete generalmente configura un nome di dominio in modo che punti all'indirizzo IP di questa macchina, in modo che gli utenti non debbano inserire un indirizzo IP. Ad esempio, se il nome di dominio della mia azienda è:, big-corp.coml'amministratore di solito indirizza il sottodominio webgis.big-corp.comin modo che punti a questo server. se invece si desidera instradare big-corp.com\webgis\verso questo server, anche quello può essere organizzato configurando big-corp.comopportunamente il server principale .

Una volta fatto ciò, l'applicazione diventa accessibile sia dall'esterno della rete (ad es. Internet) sia dalla LAN interna


2

Vedo le seguenti opzioni per la tua agenzia:

a) Per trovare un GeoServer Host per la tua applicazione: vedi Esistono società di hosting che offrono Geoserver?

Inizierai scegliendo il tuo piano di hosting, in base allo spazio richiesto dalle tue informazioni geografiche e al traffico mensile previsto. (È meglio per te scegliere un piano di hosting di base e passare successivamente, se necessario, a un livello superiore)

Inoltre, registrerai un nuovo dominio per assicurarti che i visitatori possano accedere alla tua applicazione, ad esempio geoagency.com . Avrai accesso a un pannello di amministrazione generale situato su geoagency.com/adminpanel o qualcosa del genere. Quando si sceglie un host, è necessario assicurarsi che forniscano all'interno di adminpanel tutti gli strumenti necessari:

  • Interfaccia di gestione Tomcat per gestire i servlet
  • Interfaccia di gestione GeoServer
  • Accesso al database PostgreSQL (solitamente eseguito da phpPgAdmin)
  • shp2pgsql GUI Tool
  • Strumento di backup automatico per PostgreSQL

Pro: non interferisci con il sito web dell'agenzia. Non sono necessarie apparecchiature aggiuntive o installazione di software / aggiornamento di attività difficili. Inoltre beneficiate di supporto tecnico; ti ricordi solo di scaricare periodicamente i backup.

Contro: se memorizzi più dati e se hai un traffico mensile elevato, i costi di hosting possono diventare piuttosto elevati.

b) La seconda opzione sarebbe quella di ospitare la tua applicazione su un computer all'interno dell'agenzia. Sì, è possibile accedere all'applicazione tramite un collegamento come www.agency.com/geo o geo.agency.com . Alcuni dettagli di implementazione sono disponibili all'indirizzo http://www.gistutor.com/geoserver/21-intermediate-geoserver-tutorials/38-configuring-geoserver-proxy-for-public-and-remote-data-access.html . Un buon amministratore di rete sarà in grado di seguire le spiegazioni. Inoltre, è necessario avere accesso ai record DNS e al router dell'agenzia per completare l'intero processo.

Pro: Non hai vincoli di archiviazione o restrizioni sul traffico e non devi pagare una società di hosting. Se hai già un amministratore di rete e un computer dedicato per il tuo GeoServer, questa è la strada da percorrere.

Contro: se non si dispone di un amministratore di rete, è necessario assumerne uno, almeno per il processo di implementazione e, successivamente, per le attività di manutenzione e per l'inevitabile risoluzione degli incidenti. Devi spendere soldi per il computer dedicato. Se hai un'applicazione di successo, con molti visitatori, potresti dover spendere di nuovo per aumentare la velocità della tua banda larga su Internet.


L'agenzia ha un amministratore di rete che riprende il servizio nei mesi di febbraio o marzo. In questa fase, sto cercando informazioni pertinenti, suggerimenti e suggerimenti in modo da poter informare nuovamente la direzione nel nostro secondo incontro su opzioni disponibili, considerazioni critiche (tecniche, finanziarie e amministrative), pro e contro, costi, ecc. L'opzione (a) guarda pratico come dimensione dei dati inferiore a 1 GB o anche 500 MB, meno lavoro, ecc. Tuttavia mi sono adoperato per esplorare la fattibilità dell'opzione (b). WRT il collegamento sotto l'opzione (b), i dettagli sono specifici di Linux. Dove posso ottenere i dettagli specifici di Windows di questo?
Barbara,

L'opzione (a) e servizi simili a quelli forniti da WebFaction sarebbero buone alternative. Tuttavia, la necessità di esplorare l'opzione b deve avere una giustificazione per l'approccio selezionato. Sorin, se avrò ulteriori domande, commenterò di nuovo.
Barbara,

Non preoccuparti della presenza di Linux sotto l'opzione (b) link; se guardi più da vicino vedrai che tutte le impostazioni necessarie sono correlate ad Apache Server e GeoServer, indipendentemente dal sistema operativo. Tali impostazioni devono essere eseguite nei file httpd.conf e proxy.cgi (che si trovano nella cartella di installazione di Apache). Inoltre, non è necessario modificare gli utenti.properties (si trova nella cartella di installazione di GeoServer) se è già stata modificata la password predefinita di GeoServer.
Sorin Călinică,

Tuttavia, le impostazioni mostrate nell'articolo sono valide quando l'intera applicazione GIS e il server Web dell'agenzia sono entrambi installati sullo stesso computer. Ma non è sempre lo stesso per tutte le aziende. Ora, non so cosa sia nel tuo caso, ma se il server web dell'agenzia si trova sul proprio computer e l'applicazione GIS dell'agenzia è installata su un altro, ma entrambe le macchine si trovano nella LAN dell'agenzia, in Apache ProxyPass e ProxyPassReverse direttive sostituirete localhost con l'IP interno del computer GIS.
Sorin Călinică,

D'altra parte, se il server Web è ospitato su un provider esterno e la macchina GIS è nella tua LAN, sostituirai localhost con il tuo IP pubblico (assegnato dal tuo ISP); inoltre, è necessario accedere al router e inoltrare la porta 8080 al computer GIS. Se tu (o il tuo amministratore) eseguirete questa installazione, potreste chiedere dettagli specifici.
Sorin Călinică,

1

Solo per indicare alcune cose che potrebbero aiutarti:

  1. Puoi lasciare il tuo laptop / PC acceso per sempre, così le persone possono accedere alla tua app quando vogliono (dovresti avere il tuo ip / host / etc, ecc, ecc. Ben configurato per quello). Questo non è "raccomandato" in termini generali, ma molte persone lo fanno. Ecco un link al riguardo: http://www.techsupportalert.com/how-to-set-up-your-own-web-server.htm
  2. Acquista un host con funzionalità gis. Ce ne sono diversi, lo conosco (lo trovo costoso, però): http://www.hostgis.com/home/ . Prova "gis hosting services" su google e troverai più opzioni.

Ciao Gery, mi immergo nell'opzione # 2. Presumo che l'agenzia dovrebbe avere abbastanza impasto per questo.
Barbara,

@Barbara sicuro che dovrebbero = D per favore tieni aggiornato questo post una volta trovata una buona risposta in modo che le persone possano fare riferimento ad esso in futuro.
Gery

1
Gery, sicuramente lo farà dopo la ricerca dell'anima. Non solo, condividerò anche ciò che è stato effettivamente fatto.
Barbara,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.