I have created a web mapping application prototype using GeoServer (running on Tomcat as the servlet), Openlayers and PostGIS. Since it was a prototype, at that time, i did not bother about the hosting aspects of it. It was working fine on my (laptop) localhost: 8080.

Now as part of my job, i am requested to develop a similar application but this time it has to go on the web, such that person x can access it via www. The agency i work for has a website running however they want it to be a separate thing of its own, hosted separately from the website.

These are my questions:

  1. what are the steps/options to follow in order to host a web mapping application on the web such that someone outside of the agency's intranet or for e.g. in my case, someone other than the localhost can access it as well? (Considering that i have one that is functioning and accessible via localhost only, and now i want someone else to access it also on their machine).
  2. If so, how can i implement this? In the event that the agency decides to have it as part of their website in future.

I have read through some post and responses here that is somehow related however I'm getting confused so I am hoping someone can help respond to my specific query.

closed as too broad by PolyGeo Jan 18 '16 at 0:17

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • You've had several answers, but you may be better off asking this on serverfault.com - the SE page for system admin stuff. There's nothing specific to GIS in this question; the folks there would be better able to help you. – GIS-Jonathan Dec 31 '13 at 19:09
  • Jonathan, i will do as you've suggested. – Barbara Jan 1 '14 at 9:57
  • An out of band solution, which I leave for someone else to flesh out and garner rep for, would be to export the GeoServer map to a "static-like" openlayers map which could be served from generic shared web hosting. – matt wilkie Nov 17 '14 at 19:56
  • @Barbara were you able to host the web map? if yes, how? – ziggy Dec 27 '16 at 19:52

I've been using WebFaction to host GeoServer along with PostGreSQL/PostGIS. Beware, installing and tweaking GeoServer on a server is not for the faint of heart.

Initially, to get my app up and running, I converted my geometry to geojson files and placed them within the file structure of the app. I've used OpenLayers but have switched to Leaflet due to the small footprint, very nice plugins, and docs. The support community is awesome also.

If the geometry file sizes are large and slow down the app you may want to consider converting them to topojson. I've just started playing around with it and it seems to work well.

  • Hey geomajor56, so WebFaction is a GIS hosting service? What is the procedure like (application/data files/folder handling) if you have to use a GIS hosting service to host your application? – Barbara Jan 1 '14 at 10:07
  • It's not a GIS web hosting service but it does supply PostGreSQL,PostGIS and all of the necessary libraries. You'll have to install GeoServer yourself as a custom app. I installed it within Tomcat – geomajor56 Jan 2 '14 at 14:43
  • Will your app allow editing of geometry and attributes? – geomajor56 Jan 2 '14 at 14:45
  • Geomajor, networking and hosting is beyond me so im gonna have to ask this: how is your app accessible via the web? Im actually downloading relevant documentation for WebFaction to gain some insight into it but please i would appreciate if you can share your practical experience with its service. For a start, the app will not allow the editing of geometries and attributes. – Barbara Jan 3 '14 at 11:41
  • Once i get the hosting task in order and well documented for implementation, then ill have to start work on the part of allowing geometries and attributes to be editable, but only by selected users. – Barbara Jan 3 '14 at 11:51

I see the following options for your agency:

a) To find a GeoServer Host for your application: see Are there any Hosting companies, that offer Geoserver?

You'll start by choosing your hosting plan, according to the space required by your geographic information and to the expected monthly traffic. (It is better for you to choose a basic hosting plan and to switch later, if necessary, to a higher level)

Also, you'll register a new domain, to ensure that visitors can access your application, e.g. geoagency.com. You will get access to a general administration panel located at geoagency.com/adminpanel or something like that. When choosing a host you must ensure that they provide within adminpanel all the necessary tools:

  • Tomcat management interface to manage your servlets
  • GeoServer management interface
  • Access to PostgreSQL database (usually done by phpPgAdmin)
  • shp2pgsql GUI Tool
  • Automatic backing up tool for PostgreSQL

Pros: You don't interfere with the agency's website. You do not need additional equipment or software installation/upgrade difficult activities. You also benefit technical support; you just remember to download periodically the back-ups.

Cons: If you store more data and if you have a high monthly traffic, hosting costs can become quite high.

b) The second option would be to host your application on a computer within the agency. Yes, it is possible to access the application through a link like www.agency.com/geo or geo.agency.com. Some of the implementation details can be found at http://www.gistutor.com/geoserver/21-intermediate-geoserver-tutorials/38-configuring-geoserver-proxy-for-public-and-remote-data-access.html. A good network administrator will be able to follow the explanations. Also, it is necessary to have access to DNS records and agency router to complete the whole process.

Pros: You have no storage constraints or traffic restrictions and you don't have to pay a hosting company. If you already have a network administrator and a dedicated computer for your GeoServer, this is the way to go.

Cons: If you don't have a network administrator then you need to hire one, at least for the implementation process, and, after that, for maintenance tasks and for the inevitable incident solving. You must to spend money for the dedicated computer. If you have a successful application, with a lot of visitors, you may need spend again to increase your internet broadband speed.

  • The agency has a Network Administrator who resumes duty in February or March thereabout. At this stage, im seeking relevant information, suggestions and tips so i can inform the management again on our second meeting about options available, critical considerations (technical, financial and administrative), pros and cons, and costs etc. Option (a) looks practical as data size less than 1GB or even 500MB, less work etc. However i alsoneed to explore the feasibility of option (b). WRT the link under option (b), the details are Linux specific. Where can i get the Windows specific details of this? – Barbara Jan 3 '14 at 12:29
  • Option (a) and services similar to that provided by WebFaction would be good alternatives. The need to explore option b is to have justification for the selected approach, though. Sorin, if i have further queries i will comment again. – Barbara Jan 3 '14 at 12:48
  • Don't worry about the Linux presence under option (b) link; if you look closer you'll see that all the necessary settings are related to the Apache Server and to GeoServer, regardless of the operating system. Those settings must be done in the httpd.conf and proxy.cgi files (which are located in your Apache installation folder). Also, there is no need to edit users.properties (it is located in the GeoServer installation folder) if you already have changed the default password of GeoServer. – Sorin Călinică Jan 3 '14 at 18:50
  • However, the settings shown in the article are valid when the entire GIS application and the agency web server are both installed on the same machine. But it isn't always the same for all companies. Now, I do not know what is in your case, but if your agency web server is located on it's own computer and the agency's GIS Application is installed on another, but both machines are located in the agency's LAN, in the Apache ProxyPass and ProxyPassReverse directives you will replace localhost with the internal IP of the GIS computer. – Sorin Călinică Jan 3 '14 at 18:51
  • On the other hand, if the web server is hosted on an external provider and the GIS machine is in your LAN then you'll replace localhost with your public IP (assigned by your ISP); also, you need to log into your router and to forward 8080 port to your GIS computer. If you (or your administrator) will ever do this installation you may ask for specific details. – Sorin Călinică Jan 3 '14 at 18:55

Usually, we host the Applications ourselves. If you are planning to do this, these are the steps that you should follow:

  1. Make sure that you do not refer to localhost or to a specific hostname in your JavaScript code. It's best that you use a relative path, so that it will work seamlessly both inside and outside the network.
  2. My Applications usually tend to have some Php scripts. Due to this I host the application in Apache, running on port 80.
  3. My Geoserver runs either in Tomcat or Jetty on Port 8080
  4. My apps also make calls to WFS and WMS's GetFeatureInfo. Instead of using a proxy.cgi, I use Apache's ProxyPass and ProxyPassReverse to proxy to GeoServer. This answer will tell you how you can configure Apache for this.
  5. The Network Administrator configures the network, so as open only port 80 from the internet to this system.
  6. Additionally, the Network admin will usually configure a domain name to point to this machine's IP address, so that users don't have to enter an IP address. For example, if my company's Domain name is : big-corp.com , the Admin will usually route the sub domain webgis.big-corp.com to point to this server. if instead of this, you want to route big-corp.com\webgis\ to this server, that too can be arranged by configuring the main server of big-corp.com appropriately.

Once you do this, the Application becomes accessible from both outside the network (i.e. Internet) as well as inside the internal LAN

Just to point some things that may help you:

  1. You can let your laptop/PC turn on forever, so people can access your app whenever they want (you should have your ip/host/etc,etc,etc well configured for that). This is not "recommended" in general terms, but many people do that. Here a link about it: http://www.techsupportalert.com/how-to-set-up-your-own-web-server.htm
  2. Buy a host with gis capabilities. There are a several ones, I know this one (I find it expensive, though): http://www.hostgis.com/home/. Try "gis hosting services" in google and you will find more options.
  • Hi Gery, ill dive into option # 2. I assume the agency should have enough dough for this. – Barbara Jan 1 '14 at 9:59
  • @Barbara sure they should =D please keep updated this post once you find a nice answer so people can refer to it in the future. – Gery Jan 2 '14 at 14:30
  • 1
    Gery, sure will do that after soul searching. Not only that, i will also share what was actually done. – Barbara Jan 3 '14 at 11:59

Not the answer you're looking for? Browse other questions tagged or ask your own question.