¿Aloja la aplicación de mapeo web GeoServer + Openlayers en Internet? [cerrado]

12

He creado un prototipo de aplicación de mapeo web usando GeoServer (que se ejecuta en Tomcat como servlet), Openlayers y PostGIS. Como era un prototipo, en ese momento, no me molesté en los aspectos de alojamiento. Funcionaba bien en mi localhost (portátil): 8080.

Ahora, como parte de mi trabajo, se me pide que desarrolle una aplicación similar, pero esta vez tiene que ir a la web, de modo que la persona x pueda acceder a ella a través de www. La agencia para la que trabajo tiene un sitio web en funcionamiento, sin embargo, quieren que sea algo aparte, alojado por separado del sitio web.

Estas son mis preguntas:

  1. ¿Cuáles son los pasos / opciones a seguir para alojar una aplicación de mapeo web en la web de manera que alguien fuera de la intranet de la agencia o, por ejemplo, en mi caso, alguien que no sea el localhost pueda acceder también? (Teniendo en cuenta que tengo uno que está funcionando y accesible solo a través de localhost, y ahora quiero que alguien más acceda también en su máquina).
  2. Si es así, ¿cómo puedo implementar esto? En el caso de que la agencia decida tenerlo como parte de su sitio web en el futuro.

He leído algunas publicaciones y respuestas aquí que de alguna manera están relacionadas, sin embargo, estoy confundido, así que espero que alguien pueda ayudar a responder a mi consulta específica.

Bárbara
fuente
Ha tenido varias respuestas, pero es mejor que pregunte esto en serverfault.com , la página SE para las cosas de administración del sistema. No hay nada específico para SIG en esta pregunta; la gente allí podría ayudarlo mejor.
GIS-Jonathan
Jonathan, haré lo que me has sugerido.
Barbara
Una solución fuera de banda, que dejo para que otra persona desarrolle y obtenga reputación, sería exportar el mapa GeoServer a un mapa de capas abiertas "estático" que podría ser servido desde un alojamiento web genérico compartido.
Matt Wilkie
@Barbara ¿pudiste alojar el mapa web? Si es así, ¿cómo?
ziggy

Respuestas:

5

He estado usando WebFaction para alojar GeoServer junto con PostGreSQL / PostGIS. Cuidado, instalar y ajustar GeoServer en un servidor no es para los débiles de corazón.

Inicialmente, para poner en funcionamiento mi aplicación, convertí mi geometría a archivos geojson y los coloqué dentro de la estructura de archivos de la aplicación. He usado OpenLayers pero he cambiado a Leaflet debido a su pequeño tamaño, muy buenos complementos y documentos. La comunidad de soporte también es increíble.

Si los tamaños de los archivos de geometría son grandes y ralentizan la aplicación, puede considerar convertirlos a topojson . Acabo de empezar a jugar con él y parece funcionar bien.

geomajor56
fuente
Hola geomajor56, ¿WebFaction es un servicio de alojamiento SIG? ¿Cómo es el procedimiento (aplicación / archivos de datos / manejo de carpetas) si tiene que usar un servicio de alojamiento SIG para alojar su aplicación?
Barbara
No es un servicio de alojamiento web SIG, pero proporciona PostGreSQL, PostGIS y todas las bibliotecas necesarias. Tendrá que instalar GeoServer usted mismo como una aplicación personalizada. Lo instalé en Tomcat
geomajor56
¿Permitirá su aplicación editar la geometría y los atributos?
geomajor56
Geomajor, las redes y el alojamiento están más allá de mí, así que tendré que preguntar esto: ¿cómo se puede acceder a su aplicación a través de la web? Realmente estoy descargando documentación relevante para WebFaction para obtener una idea de ello, pero agradecería si puede compartir su experiencia práctica con su servicio. Para empezar, la aplicación no permitirá la edición de geometrías y atributos.
Barbara
Una vez que tenga la tarea de alojamiento en orden y bien documentada para su implementación, tendré que comenzar a trabajar para permitir que las geometrías y los atributos sean editables, pero solo para los usuarios seleccionados.
Barbara
3

Por lo general, alojamos las aplicaciones nosotros mismos. Si planea hacer esto, estos son los pasos que debe seguir:

  1. Asegúrese de no hacer referencia localhosta un nombre de host específico en su código JavaScript. Es mejor que utilice una ruta relativa, para que funcione sin problemas tanto dentro como fuera de la red.
  2. Mis aplicaciones suelen tener algunos scripts de PHP. Debido a esto, alojo la aplicación en Apache, ejecutándose en el puerto 80.
  3. Mi Geoserver se ejecuta en Tomcat o Jetty en el puerto 8080
  4. Mis aplicaciones también realizan llamadas a WFS y GetFeatureInfo de WMS. En lugar de usar un proxy.cgi, uso el ProxyPass y ProxyPassReverse de Apache para usar el proxy en GeoServer. Esta respuesta le dirá cómo puede configurar Apache para esto.
  5. El administrador de red configura la red, por lo que solo abre el puerto 80 desde Internet a este sistema.
  6. Además, el administrador de la red generalmente configurará un nombre de dominio para apuntar a la dirección IP de esta máquina, de modo que los usuarios no tengan que ingresar una dirección IP. Por ejemplo, si el nombre de dominio de mi empresa es:, big-corp.comel administrador generalmente enrutará el subdominio webgis.big-corp.compara que apunte a este servidor. si en lugar de esto, desea enrutar big-corp.com\webgis\a este servidor, eso también se puede organizar configurando el servidor principal de forma big-corp.comadecuada.

Una vez que haga esto, la aplicación será accesible tanto desde fuera de la red (es decir, Internet) como desde dentro de la LAN interna

Devdatta Tengshe
fuente
2

Veo las siguientes opciones para su agencia:

a) Para encontrar un Host GeoServer para su aplicación: consulte ¿Hay alguna empresa de Hosting que ofrezca Geoserver?

Comenzará eligiendo su plan de alojamiento, de acuerdo con el espacio requerido por su información geográfica y el tráfico mensual esperado. (Es mejor que elija un plan de alojamiento básico y luego cambie, si es necesario, a un nivel superior)

Además, registrará un nuevo dominio para garantizar que los visitantes puedan acceder a su aplicación, por ejemplo, geoagency.com . Obtendrá acceso a un panel de administración general ubicado en geoagency.com/adminpanel o algo así. Al elegir un host, debe asegurarse de que proporcionan dentro del panel de administración todas las herramientas necesarias:

  • Interfaz de administración de Tomcat para administrar sus servlets
  • Interfaz de gestión GeoServer
  • Acceso a la base de datos PostgreSQL (generalmente realizada por phpPgAdmin)
  • Herramienta GUI shp2pgsql
  • Herramienta de copia de seguridad automática para PostgreSQL

Pros: no interfieres con el sitio web de la agencia. No necesita equipo adicional o instalación de software / actualización de actividades difíciles. También se beneficia el soporte técnico; solo recuerda descargar periódicamente las copias de seguridad.

Contras: si almacena más datos y tiene un tráfico mensual alto, los costos de alojamiento pueden ser bastante altos.

b) La segunda opción sería alojar su aplicación en una computadora dentro de la agencia. Sí, es posible acceder a la aplicación a través de un enlace como www.agency.com/geo o geo.agency.com . Algunos de los detalles de implementación se pueden encontrar en http://www.gistutor.com/geoserver/21-intermediate-geoserver-tutorials/38-configuring-geoserver-proxy-for-public-and-remote-data-access.html . Un buen administrador de red podrá seguir las explicaciones. Además, es necesario tener acceso a los registros DNS y al enrutador de la agencia para completar todo el proceso.

Pros: no tiene restricciones de almacenamiento ni restricciones de tráfico y no tiene que pagarle a una empresa de hosting. Si ya tiene un administrador de red y una computadora dedicada para su GeoServer, este es el camino a seguir.

Contras: si no tiene un administrador de red, debe contratar uno, al menos para el proceso de implementación y, después de eso, para las tareas de mantenimiento y la inevitable resolución de incidentes. Debe gastar dinero en la computadora dedicada. Si tiene una aplicación exitosa, con muchos visitantes, es posible que necesite gastar nuevamente para aumentar la velocidad de banda ancha de Internet.

Sorin Călinică
fuente
La agencia tiene un administrador de red que reanuda sus funciones en febrero o marzo. En esta etapa, estoy buscando información relevante, sugerencias y consejos para poder informar nuevamente a la gerencia en nuestra segunda reunión sobre las opciones disponibles, consideraciones críticas (técnicas, financieras y administrativas), pros y contras, costos, etc. La opción (a) se ve práctico como tamaño de datos inferior a 1 GB o incluso 500 MB, menos trabajo, etc. Sin embargo, también he explorado la viabilidad de la opción (b). Escriba el enlace en la opción (b), los detalles son específicos de Linux. ¿Dónde puedo obtener los detalles específicos de Windows de esto?
Barbara
La opción (a) y servicios similares a los proporcionados por WebFaction serían buenas alternativas. Sin embargo, la necesidad de explorar la opción b es tener justificación para el enfoque seleccionado. Sorin, si tengo más consultas, volveré a comentar.
Barbara
No se preocupe por la presencia de Linux en el enlace de la opción (b); Si mira más de cerca verá que todas las configuraciones necesarias están relacionadas con el Servidor Apache y con GeoServer, independientemente del sistema operativo. Esas configuraciones deben realizarse en los archivos httpd.conf y proxy.cgi (que se encuentran en la carpeta de instalación de Apache). Además, no es necesario editar users.properties (se encuentra en la carpeta de instalación de GeoServer) si ya ha cambiado la contraseña predeterminada de GeoServer.
Sorin Călinică
Sin embargo, la configuración que se muestra en el artículo es válida cuando toda la aplicación SIG y el servidor web de la agencia están instalados en la misma máquina. Pero no siempre es lo mismo para todas las empresas. Ahora, no sé qué hay en su caso, pero si el servidor web de su agencia está ubicado en su propia computadora y la aplicación GIS de la agencia está instalada en otra, pero ambas máquinas están ubicadas en la LAN de la agencia, en Apache ProxyPass y ProxyPassReverse directivas reemplazará localhost con la IP interna de la computadora SIG.
Sorin Călinică
Por otro lado, si el servidor web está alojado en un proveedor externo y la máquina SIG está en su LAN, entonces reemplazará localhost con su IP pública (asignada por su ISP); Además, debe iniciar sesión en su enrutador y reenviar el puerto 8080 a su computadora SIG. Si usted (o su administrador) alguna vez realizará esta instalación, puede solicitar detalles específicos.
Sorin Călinică
1

Solo para señalar algunas cosas que pueden ayudarlo:

  1. Puede dejar que su computadora portátil / PC se encienda para siempre, para que las personas puedan acceder a su aplicación cuando lo deseen (debe tener su ip / host / etc, etc, etc bien configurada para eso). Esto no es "recomendado" en términos generales, pero muchas personas lo hacen. Aquí un enlace al respecto: http://www.techsupportalert.com/how-to-set-up-your-own-web-server.htm
  2. Compre un host con capacidades gis. Hay varios, sé este (aunque me parece caro): http://www.hostgis.com/home/ . Pruebe los "servicios de alojamiento gis" en google y encontrará más opciones.
Gery
fuente
Hola Gery, me sumergiré en la opción # 2. Asumo que la agencia debería tener suficiente masa para esto.
Barbara
@Barbara, seguro de que deberían = D, mantén actualizada esta publicación una vez que encuentres una buena respuesta para que la gente pueda consultarla en el futuro.
Gery
1
Gery, seguro que lo hará después de buscar el alma. No solo eso, también compartiré lo que realmente se hizo.
Barbara