Open Source GIS Web Server

Creating a Fully Open Source Enterprise GIS Web Server

While rebuilding a spare computer at my home I was struck with the thought, could I create a fully functioning GIS webserver with this computer? Always interested in a challenge, I set out to find out!

I started out by deciding what I wanted the end product to be. I wanted a product that could server webmaps in a browser that drew maps from data held in a database that could be edited by multiple users from anywhere in the world. The maps should be viewable in a client that was attractive and had some basic GIS tools such as searching for locations, ability to turn layers on and off, display a legend and pop ups that displayed attribute data on demand. All of this should be done using open source software and hosted from my home so there was no need to pay a server fee.

The tools that I have chosen so far are:

  1. Windows 11

  2. Apache2

  3. Postgresql 14

  4. PostGIS

  5. Php 8.1

  6. QGIS Desktop 3.22

  7. QGIS Server 3.22 (or Geoserver)

  8. Lizmap Client or QGIS Client Web Client 2

Available Hardware:

  • Intel 11th Gen Quad Core 2.0 - 2.9Ghz N5105 Jasper Lake Processor

  • 512GB M.2 SSD

  • 16GB DDR4 Ram

  • Intel UHD Graphics 450Mhz - 800Mhz Coprocessor

  • Shaw XB7 Internet Modem

  • Netgear Nighthawk Router

Visual diagram of the architecture (docs.lizmap.com)

Perceived Issues:

  • Shaw modems can be a bit of a headache when trying to open port 443, so using an additional router is good work-around

  • QGIS’ latest release is 3.28 but the documentation for QGIS server is only current up to 3.22, so I will be working with QGIS Desktop/Server 3.22

  • I researched the hardware requirements for the software and determined that my current setup should be suitable as a test project. I would be concerned about the processing power for any sort of high volume traffic.

Installing Postgresql, PostGIS

Installation of Postgresql and with the Postgis extension was very smooth. I create a new master database and login with password. I added the Postgis extension through the bundled stack builder app.

I then opened QGIS and create a connection to the database through the Postgres database option on the right hand side. Then, using the load database tool, I successfully loaded some shapefiles from my local drive into the Postgres database as you can see here.

Screenshot showing the Buildings and Parcels spatial layers inside the Postgres Database

Screenshot showing that Parcels and Buildings layer are being hosted in the Postgres Database rather than the local drive

GeoCat Bridge provides an easy way to publish your project to GeoServer

Screen shot illustrating the layers in QGIS in preparation to upload via GeoCat Bridge

The layers are being served from GeoServer. The interface is clean and intuitive

This project is still under construction be sure to check back soon to see its progress

Next
Next

QGIS Cloud