Vous hébergez l'application de cartographie Web GeoServer + Openlayers sur Internet? [fermé]

12

J'ai créé un prototype d'application de cartographie Web en utilisant GeoServer (fonctionnant sur Tomcat comme servlet), Openlayers et PostGIS. Comme il s'agissait d'un prototype, à l'époque, je ne me suis pas soucié des aspects d'hébergement de celui-ci. Cela fonctionnait bien sur mon hôte local (ordinateur portable): 8080.

Maintenant, dans le cadre de mon travail, on me demande de développer une application similaire, mais cette fois, elle doit aller sur le Web, de sorte que la personne x puisse y accéder via www. L'agence pour laquelle je travaille a un site Web en cours d'exécution, mais ils veulent que ce soit une chose distincte, hébergée séparément du site Web.

Ce sont mes questions:

  1. Quelles sont les étapes / options à suivre pour héberger une application de cartographie Web sur le Web de sorte qu'une personne en dehors de l'intranet de l'agence ou, par exemple dans mon cas, une personne autre que l'hôte local puisse également y accéder? (Étant donné que j'en ai un qui fonctionne et accessible via localhost uniquement, et maintenant je veux que quelqu'un d'autre y accède également sur leur machine).
  2. Si oui, comment puis-je implémenter cela? Dans le cas où l'agence déciderait de l'intégrer dans son site Web à l'avenir.

J'ai lu quelques articles et réponses ici qui sont en quelque sorte liés, mais je suis confus, donc j'espère que quelqu'un pourra aider à répondre à ma requête spécifique.

Barbara
la source
Vous avez eu plusieurs réponses, mais vous feriez peut-être mieux de poser cette question sur serverfault.com - la page SE pour les trucs d'administration système. Il n'y a rien de spécifique au SIG dans cette question; les gens là-bas seraient mieux à même de vous aider.
GIS-Jonathan
Jonathan, je ferai ce que vous avez suggéré.
Barbara
Une solution hors bande, que je laisse à quelqu'un d'autre pour étoffer et obtenir des représentants, serait d'exporter la carte GeoServer vers une carte openlayers "statique" qui pourrait être servie à partir d'un hébergement Web partagé générique.
matt wilkie
@Barbara avez-vous pu héberger la carte Web? si oui, comment?
ziggy

Réponses:

5

J'ai utilisé WebFaction pour héberger GeoServer avec PostGreSQL / PostGIS. Attention, l'installation et le réglage de GeoServer sur un serveur ne sont pas pour les âmes sensibles.

Initialement, pour que mon application soit opérationnelle, j'ai converti ma géométrie en fichiers geojson et les ai placés dans la structure de fichiers de l'application. J'ai utilisé OpenLayers mais je suis passé à Leaflet en raison de la petite empreinte, de très beaux plugins et de la documentation. La communauté de support est également impressionnante.

Si les tailles des fichiers de géométrie sont grandes et ralentissent l'application, vous pouvez envisager de les convertir en topojson . Je viens de commencer à jouer avec et ça semble bien fonctionner.

geomajor56
la source
Hé geomajor56, alors WebFaction est un service d'hébergement SIG? Quelle est la procédure (application / fichiers de données / gestion des dossiers) si vous devez utiliser un service d'hébergement SIG pour héberger votre application?
Barbara
Ce n'est pas un service d'hébergement Web SIG mais il fournit PostGreSQL, PostGIS et toutes les bibliothèques nécessaires. Vous devrez installer GeoServer vous-même en tant qu'application personnalisée. Je l'ai installé dans Tomcat
geomajor56
Votre application permettra-t-elle la modification de la géométrie et des attributs?
geomajor56
Geomajor, le réseautage et l'hébergement me dépassent, je vais donc devoir vous demander ceci: comment votre application est-elle accessible via le Web? Je télécharge en fait la documentation pertinente pour WebFaction pour avoir un aperçu, mais je vous serais reconnaissant de bien vouloir partager votre expérience pratique avec son service. Pour commencer, l'application ne permettra pas la modification des géométries et des attributs.
Barbara
Une fois que la tâche d'hébergement est en ordre et bien documentée pour la mise en œuvre, il me faudra alors commencer à travailler pour permettre aux géométries et aux attributs d'être modifiables, mais uniquement par des utilisateurs sélectionnés.
Barbara
3

Habituellement, nous hébergeons les applications nous-mêmes. Si vous prévoyez de le faire, voici les étapes à suivre:

  1. Assurez-vous que vous ne faites pas référence à localhostou à un nom d'hôte spécifique dans votre code JavaScript. Il est préférable que vous utilisiez un chemin relatif, afin qu'il fonctionne de manière transparente à l'intérieur et à l'extérieur du réseau.
  2. Mes applications ont généralement tendance à avoir des scripts Php. Pour cette raison, j'héberge l'application dans Apache, fonctionnant sur le port 80.
  3. Mon Geoserver fonctionne soit sur Tomcat soit sur Jetty sur le port 8080
  4. Mes applications appellent également WFS et GetFeatureInfo de WMS. Au lieu d'utiliser un proxy.cgi, j'utilise ProxyPass et ProxyPassReverse d'Apache pour proxy vers GeoServer. Cette réponse vous indiquera comment configurer Apache pour cela.
  5. L'administrateur réseau configure le réseau afin d'ouvrir uniquement le port 80 d'Internet à ce système.
  6. De plus, l'administrateur réseau configurera généralement un nom de domaine pour pointer vers l'adresse IP de cette machine, afin que les utilisateurs n'aient pas à saisir d'adresse IP. Par exemple, si le nom de domaine de mon entreprise est:, big-corp.coml'administrateur achemine généralement le sous-domaine webgis.big-corp.comvers ce serveur. si, au lieu de cela, vous souhaitez router big-corp.com\webgis\vers ce serveur, cela peut également être organisé en configurant le serveur principal de big-corp.commanière appropriée.

Une fois que vous faites cela, l'application devient accessible à la fois à l'extérieur du réseau (c'est-à-dire Internet) ainsi qu'à l'intérieur du LAN interne

Devdatta Tengshe
la source
2

Je vois les options suivantes pour votre agence:

a) Pour trouver un hôte GeoServer pour votre application: voir Existe-t-il des sociétés d'hébergement proposant Geoserver?

Vous commencerez par choisir votre plan d'hébergement, en fonction de l'espace requis par vos informations géographiques et du trafic mensuel attendu. (Il est préférable pour vous de choisir un plan d'hébergement de base et de passer plus tard, si nécessaire, à un niveau supérieur)

De plus, vous enregistrerez un nouveau domaine, pour vous assurer que les visiteurs peuvent accéder à votre application, par exemple geoagency.com . Vous aurez accès à un panneau d'administration générale situé sur geoagency.com/adminpanel ou quelque chose comme ça. Lorsque vous choisissez un hôte, vous devez vous assurer qu'il fournit dans le panneau d'administration tous les outils nécessaires:

  • Interface de gestion Tomcat pour gérer vos servlets
  • Interface de gestion GeoServer
  • Accès à la base de données PostgreSQL (généralement effectué par phpPgAdmin)
  • shp2pgsql GUI Tool
  • Outil de sauvegarde automatique pour PostgreSQL

Avantages: Vous n'interférez pas avec le site Web de l'agence. Vous n'avez pas besoin d'équipement supplémentaire ou d'installation difficile de logiciel / mise à niveau des activités. Vous bénéficiez également d'un support technique; n'oubliez pas de télécharger périodiquement les sauvegardes.

Inconvénients: si vous stockez plus de données et si votre trafic mensuel est élevé, les coûts d'hébergement peuvent devenir assez élevés.

b) La deuxième option serait d'héberger votre application sur un ordinateur au sein de l'agence. Oui, il est possible d'accéder à l'application via un lien comme www.agency.com/geo ou geo.agency.com . Certains détails d'implémentation sont disponibles sur http://www.gistutor.com/geoserver/21-intermediate-geoserver-tutorials/38-configuring-geoserver-proxy-for-public-and-remote-data-access.html . Un bon administrateur réseau pourra suivre les explications. En outre, il est nécessaire d'avoir accès aux enregistrements DNS et au routeur d'agence pour terminer l'ensemble du processus.

Avantages: Vous n'avez pas de contraintes de stockage ou de restrictions de trafic et vous n'avez pas à payer une société d'hébergement. Si vous avez déjà un administrateur réseau et un ordinateur dédié pour votre GeoServer, c'est la voie à suivre.

Inconvénients: Si vous n'avez pas d'administrateur réseau, vous devez en embaucher un, au moins pour le processus de mise en œuvre et, après cela, pour les tâches de maintenance et pour la résolution inévitable des incidents. Vous devez dépenser de l'argent pour l'ordinateur dédié. Si vous avez une application réussie, avec beaucoup de visiteurs, vous devrez peut-être dépenser à nouveau pour augmenter votre vitesse Internet haut débit.

Sorin Călinică
la source
L'agence a un administrateur réseau qui reprend ses fonctions en février ou mars à peu près. À ce stade, je cherche des informations, des suggestions et des conseils pertinents afin que je puisse informer à nouveau la direction de notre deuxième réunion sur les options disponibles, les considérations critiques (techniques, financières et administratives), les avantages et les inconvénients, les coûts, etc. L'option (a) semble pratique, car la taille des données est inférieure à 1 Go ou même 500 Mo, moins de travail, etc. WRT le lien sous l'option (b), les détails sont spécifiques à Linux. Où puis-je obtenir les détails spécifiques de Windows à ce sujet?
Barbara
L'option (a) et des services similaires à ceux fournis par WebFaction seraient de bonnes alternatives. La nécessité d'explorer l'option b est cependant d'avoir une justification pour l'approche choisie. Sorin, si j'ai d'autres questions, je commenterai à nouveau.
Barbara
Ne vous inquiétez pas de la présence de Linux sous le lien de l'option (b); si vous regardez de plus près, vous verrez que tous les paramètres nécessaires sont liés au serveur Apache et à GeoServer, quel que soit le système d'exploitation. Ces paramètres doivent être définis dans les fichiers httpd.conf et proxy.cgi (qui se trouvent dans votre dossier d'installation Apache). De plus, il n'est pas nécessaire de modifier users.properties (il se trouve dans le dossier d'installation de GeoServer) si vous avez déjà modifié le mot de passe par défaut de GeoServer.
Sorin Călinică
Toutefois, les paramètres indiqués dans l'article sont valides lorsque l'intégralité de l'application SIG et le serveur Web de l'agence sont tous deux installés sur la même machine. Mais ce n'est pas toujours le même pour toutes les entreprises. Maintenant, je ne sais pas ce qui est dans votre cas, mais si le serveur Web de votre agence est situé sur son propre ordinateur et que l'application SIG de l'agence est installée sur un autre, mais les deux machines sont situées dans le LAN de l'agence, dans Apache ProxyPass et ProxyPassReverse directives, vous remplacerez localhost par l'IP interne de l'ordinateur SIG.
Sorin Călinică
D'un autre côté, si le serveur Web est hébergé sur un fournisseur externe et que la machine SIG est dans votre LAN, vous remplacerez localhost par votre IP publique (attribuée par votre FAI); vous devez également vous connecter à votre routeur et transmettre le port 8080 à votre ordinateur SIG. Si vous (ou votre administrateur) effectuez cette installation, vous pouvez demander des détails spécifiques.
Sorin Călinică
1

Juste pour souligner certaines choses qui peuvent vous aider:

  1. Vous pouvez laisser votre ordinateur portable / PC s'allumer pour toujours, afin que les gens puissent accéder à votre application quand ils le souhaitent (vous devriez avoir votre ip / host / etc, etc, etc. bien configuré pour cela). Ce n'est pas "recommandé" en termes généraux, mais beaucoup de gens le font. Voici un lien à ce sujet: http://www.techsupportalert.com/how-to-set-up-your-own-web-server.htm
  2. Achetez un hôte avec des capacités SIG. Il y en a plusieurs, je connais celui-ci (je le trouve cher cependant): http://www.hostgis.com/home/ . Essayez "gis hosting services" dans google et vous trouverez plus d'options.
Gery
la source
Salut Gery, plonger dans l'option # 2. Je suppose que l'agence devrait avoir assez de pâte pour cela.
Barbara
@Barbara sûr qu'ils devraient = D s'il vous plaît garder à jour ce post une fois que vous trouverez une bonne réponse afin que les gens puissent s'y référer à l'avenir.
Gery
1
Gery, certainement le fera après une introspection. Non seulement cela, je partagerai également ce qui a été fait.
Barbara