Benutzer-Werkzeuge

Webseiten-Werkzeuge


backend

Übersicht Dokumentation

Backend

PostgreSQL / PostGIS

apt-get install postgresql-8.3 postgresql-contrib-8.3 postgresql-client-8.3 postgresql-8.3-postgis

PostGIS-Template erstellen:

su postgres
createdb postgis_template
createlang plpgsql postgis_template
psql -d postgis_template -f /usr/share/postgresql-8.3-postgis/lwpostgis.sql
psql -d postgis_template -f /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql

psql -U postgres -h MY.IP  -l

postgresql.conf Anpassungen

/etc/postgresql/8.3/main/postgresql.conf:

...
listen_addresses = 'localhost, MY.IP' # auf lokalen Interfaches lauschen
...
--with-oids=on  # OIDS zur Identifizierung von Geodatensätzen verwenden

pg_hba.conf Anpassungen

/etc/postgresql/8.3/main/pg_hba.conf:

In dieser Datei werden für die Datenbankbenutzer die Datenbankberechtigungen gesetzt.

Für den Zugriff der Mapserver-Dateien muss man einen Nutzer einrichten, kann auch mehrere einrichten (Einer darf nur löesen, einer darf auch schreiben etc.)

UMN Mapserver

Paketinstallation

Der Mapserver wird zunächst aus den Paketen installiert. Da weder AGG noch FastCGI unterstützt werden, werden weitere Versionen von Hand kompiliert und eingerichtet (s.u.).

apt-get install cgi-mapserver mapserver-bin
/usr/lib/cgi-bin/mapserv -v
MapServer version 5.0.0 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=FREETYPE
SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER
SUPPORTS=THREADS SUPPORTS=GEOS INPUT=EPPL7 INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE

MapServer Logging

cd /var/log
touch mapserver.log
chgrp www-data mapserver.log
chmod g+w mapserver.log

MapServer Doku zu Logging unter: http://mapserver.org/mapfile/map.html

Angabe in der Mapdatei im Headerbereich:

CONFIG  'MS_ERRORFILE' '/var/log/mapserver.log'
DEBUG 0

Mapserver kompilieren

Da der mitgelieferte MS weder AGG noch FastCGI unterstützt, müssen aktuellere Varianten mit entsprechender Unterstützung gebaut werden.

Entwicklungsumgebung und MapServer-relevante Bibliotheken/Dateien

cd ~/inst/
mkdir mapserver; cd mapserver/
apt-get install build-essential libxml2-dev libfcgi-dev libagg-dev proj libgeos-dev gdal-bin libgdal1-dev postgresql-server-dev-8.3
wget http://download.osgeo.org/mapserver/mapserver-5.6.5.tar.gz
tar -xzf mapserver-5.6.5.tar.gz 

MapServer 5.6.5

cd /home/administrator
sudo apt-get update
sudo apt-get install build-essential
mkdir src
cd src  
wget http://download.osgeo.org/mapserver/mapserver-5.6.5.tar.gz
tar -xzf mapserver-5.6.5.tar.gz
cd mapserver-5.6.5
sudo apt-get install libgd2-xpm-dev libxml2-dev libfcgi-dev libagg-dev proj libgeos-dev gdal-bin libgdal1-dev   postgresql-server-dev-8.3 libgdal1-dev libxslt1-dev libpam0g-dev libreadline5-dev
./configure --with-gd \
        --with-jpeg \
        --with-tiff \
        --with-proj \
        --with-postgis=/usr/bin/pg_config \
        --with-freetype=/usr/bin/freetype-config \
        --with-curl=/usr/bin/curl-config \
        --with-geos=/usr/bin/geos-config \
        --with-gdal=/usr/bin/gdal-config \
        --with-ogr \
        --with-wmsserver \
        --with-wmsclient \
        --with-wfs \
        --with-wfsclient \
        --with-wcs \
        --with-agg \
        --with-fastcgi=/usr
make
./mapserv -v
MapServer version 5.6.5 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=AGG SUPPORTS=FREETYPE SUPPORTS=ICONV SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER SUPPORTS=FASTCGI SUPPORTS=GEOS INPUT=TIFF INPUT=EPPL7 INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE
sudo cp mapserv /usr/lib/cgi-bin/mapserv565

Verfügbare Versionen

ls -l /usr/lib/cgi-bin
total 5436
-rwxr-xr-x 1 root root  923428 2009-08-18 23:04 mapserv
-rwxr-xr-x 1 root root 1597834 2010-xx-xx 18:49 mapserv565

Tomcat / GeoServer

Tomcat

Installation

apt-get install sun-java6-jdk tomcat5.5 tomcat5.5-admin unzip

mod_jk für Apache-Integration installieren:

apt-get install libapache2-mod-jk
/etc/init.d/apache2 force-reload

GeoServer

Installation

cd /root/inst/geoserver
wget http://downloads.sourceforge.net/project/geoserver/GeoServer/2.0.2/geoserver-2.0.2-war.zip?use_mirror=netcologne
unzip geoserver-2.0.2-war.zip
cp geoserver.war /var/lib/tomcat5.5/webapps/public
/etc/init.d/tomcat55 restart

Konfiguration

Siehe Dokumentation

Einbinden der Datenbank!

Wrapper

Der Wrapper hat die Aufgabe Anfragen an den Mapserver die üblicherweise so in etwa:

http://meinserver.com/cgi-bin/mapserv?map=/home/user/maps/07-misc/meine_neue_karte.map

aussehen, in einen Aufruf in der Form:

http://meinserver.com/meineServices/tolleKarte

umzubiegen!

Apachen anpassen

  • Verzeichnis für „services“ angelegt
    • /opt/services für „normale“ Dienste
  • Verzeichnis wie cgi-bin ausführbar machen:
    • in /etc/apache2/sites-enabled/000-default einfügen:
        ScriptAlias /meineServices/ /opt/services/
        <Directory "/opt/services">
                AllowOverride None
                Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>
  • Apachen restart!

Wrapper-Skripte

Im Verzeichnis /opt/services Datei z.B. „tolleKarte“ angelegt, Inhalt:

#!/bin/bash
 
MAPSERV="/usr/lib/cgi-bin/mapserv"
MAPFILE="/home/user/maps/07-misc/meine_neue_karte.map"
if [ "${REQUEST_METHOD}" = "GET" ]; then
  if [ -z "${QUERY_STRING}" ]; then
    QUERY_STRING="map=${MAPFILE}"
  else
    QUERY_STRING="map=${MAPFILE}&${QUERY_STRING}"
  fi
  exec ${MAPSERV}
else
  echo "Sorry, I only understand GET requests."
fi
exit 1
# End of Script

ausführbar gemacht:

sudo chmod +x tolleKarte
backend.txt · Zuletzt geändert: 2017/05/18 10:43 (Externe Bearbeitung)