Requirements

To install a GeoMapFish application, you need to have the following components installed on your system:

  • Git (preferably to other revision control systems)
  • Docker >= 1.12
  • Docker-compose >= 1.8
  • Python >= 3.5 with development files (python-dev), python3-pip, python3-venv.
  • Python-netifaces
  • Oracle Java SE Development Kit 6 or 7
  • Tomcat >= 6.0
  • Apache >= 2.4 (with mod_wsgi for Python 3)
  • PostgreSQL >= 9.1/PostGIS >= 2.1, with library (libpq-dev)
  • MapServer 7.2 (for the filters) or QGIS-mapserver 2.2 and upper
  • Java >= 7.0
  • MapCache >= 1.0.0 with memcached support
  • Memcached >= 1.4
  • TinyOWS >= 1.1.0
  • ImageMagick
  • GCC GNU Compiler Collection >= 4.6
  • libproj >= 4.7
  • gdal >= 1.9 (with libgdal-dev)
  • geos >= 3.3
  • zip >= 3.0
  • unzip >= 6.0
  • graphviz-dev
  • node >= 6.0
  • npm >= 3.10
  • Deploy >= 0.4.7

Required Apache modules

  • mod_expires
  • mod_headers
  • mod_proxy
  • mod_proxy_http
  • mod_rewrite
  • mod_wsgi
  • mod_mapcache

Conflicting Apache modules

  • mod_php*

Print

The print requires a Tomcat server listening by default on port 8080. To change this, you can overwrite the print_url vars in config.yaml.in, default is: http://localhost:8080/print/pdf/.

MapFish Print must be installed in version 3 or later.

Additional notes for Windows users

GeoMapFish can be used under Windows, but you will need to install Cygwin and some additional stuff for Python.

We assume that Python 2.7 is used.

Once Python is installed, you should add two folders to your path environment variable:

  • C:\path_to_python\Python27
  • C:\path_to_python\Python27\Scripts

Python

  • Install Microsoft Visual C++ Compiler for Python 2.7 (http://aka.ms/vcpython27)
  • Be sure to have at least pip >= 9.x in your project . Using virtualenv >= 15 should resolve that.

Cygwin

  • Go to https://cygwin.com/
  • In the download section, download the installer corresponding to your system
  • Run the downloaded installer
  • Choose an install folder not containing any space or weird characters (like parentheses)

When installing Cygwin, please make sure to install the following non-default packages:

  • make from the devel folder
  • gettext-devel from the devel folder
  • wget from the web folder

Cygwin should always be run in administrator mode. To configure that:

  • Go to the Windows start menu
  • Right-click the Cygwin Terminal program icon
  • Open its properties
  • Under the Compatibility tab, check the Run this program as an administrator

To avoid file permission problems between Windows and Cygwin, edit Cygwin’s /etc/fstab file to disable ACLs like this:

none /cygdrive cygdrive binary,noacl,posix=0,user 0 0

Configure Git

Cygwin comes with its own git package. It might be a really good idea to configure Cygwin’s git for Windows. To do so:

  • Open a Cygwin bash
  • Run git config core.autocrlf true

Print

In your makefile, define the following variables:

PRINT_TMP = tmp
TOMCAT_START_COMMAND = net START Tomcat7
TOMCAT_STOP_COMMAND = net STOP Tomcat7

The first line disables the tmp folder, which is not working on Windows. The next two lines define the commands to start and stop your Tomcat service (here it would be Tomcat7). On Windows, these commands differ from the one used on Linux.