GIS CGI server
Project homepage: https://www.mapserver.org/
Description
MapServer is a system for developing web-based GIS applications.
The basic system consists of a CGI program that can be configured to
respond to a variety of spatial requests like making maps, scalebars,
and point, area and feature queries. Virtually all aspects of an
application, from web interface to map appearance can be developed
without any programming.
This package contains the mapserv CGI program.
Package information
- Ports path
- geo/mapserver
- Package architecture
- amd64
- Maintainer
- Landry Breuil <landry@openbsd.org>
- Categories
- geo, www, lang/php, lang/python
- Available flavors
- None listed
- Only for architectures
- aarch64, amd64, arm, i386, mips64, mips64el, powerpc, powerpc64, riscv64, sparc64, alpha, hppa, m88k, sh
Ports list build and test dependencies as well as runtime dependencies. pkg_add selects those needed for installation.
Direct dependencies
Library
- devel/proj
- devel/fribidi
- devel/harfbuzz
- devel/protobuf-c
- graphics/cairo
- geo/gdal
- geo/geos
- graphics/giflib
- www/fcgi
Runtime
Build
- databases/postgresql,-server
- devel/swig
- devel/py-pip
- devel/py-setuptools
- lang/php/8.3 php->=8.3,<8.4
- lang/python/3
- devel/cmake/core STEM->=4
- devel/ninja
OpenBSD README
This README contains unresolved ports variables; replace them before using its commands.
+-----------------------------------------------------------------------
| Running mapserver on OpenBSD
+-----------------------------------------------------------------------
If you plan to use mapserv CGI with a chrooted web server, make sure to
copy the libs needed by mapserv binary from ${LOCALBASE}/lib, but also
the projection definitions from libgeotiff and proj packages to the
chroot:
# mkdir -p ${PREFIX-main}${LOCALBASE}/share/{epsg_csv,proj}
# cp ${LOCALBASE}/share/epsg_csv/* ${PREFIX-main}${LOCALBASE}/share/epsg_csv
# cp ${LOCALBASE}/share/proj/* ${PREFIX-main}${LOCALBASE}/share/proj
If you would like to use FastCGI with nginx, use the provided rc.d(8)
script to start a spawn-fcgi process and add the following lines to you nginx.conf:
location /cgi-bin/mapserv {
fastcgi_pass unix:run/mapserv.sock;
fastcgi_split_path_info ^(/cgi-bin/mapserv)(.*)$; # split path for ogcapi support
fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
include fastcgi_params;
}
Doing so, make sure /var is mounted with dev option, otherwise spawn-fcgi will
fail opening /dev/null in the chroot.
Another option is to use sysutils/supervisor to start a FastCGI process
pool, using this configuration snippet in ${SYSCONFDIR}/supervisord.d/mapserv.ini:
[fcgi-program:mapserv]
command=/var/www/cgi-bin/mapserv
socket=unix:///var/www/run/%(program_name)s.sock
socket_owner=www
socket_mode=0700
process_name=%(process_num)02d
numprocs=5
user=www
Used by (4 dependency relationships)
Includes library, runtime, build and test dependencies.