Nächste Seite: Test des cgi-Skriptes Aufwärts: Lösung mit MapServer Vorherige Seite: Lösung mit MapServer Inhalt Index

## Vorbereitung

Zur Instalation auf einem GNU/Linux System entpackt man die MapServer Distribution mit dem Kommando `tar -zxf ms_3.5.tar.gz`, wechselt mit `cd mapserver` in das erzeugte Verzeichnis und erstellt mittels `./configure` ein Makefile. Die dem `configure` angehängten Optionen ergänzen das eigentlich erzeugte Programm um weitere Funktionen wie zum Beispiel das Erkennen und Erzeugen von `.tiff` oder`.png` - Dateien. Eine Liste mit den möglichen Optionen erhält man durch den Befehl `configure -help`.
ShapefilesVon ESRI eingeführtes Format für Geodaten. Es besteht aus 4 Einzeldateien pro ,,Shapefile``. Die .apr-Datei mit den Definitionen des Projekts, z. B. der Dateipfade. Die .shp-Datei zur Speicherung der Geometriedaten. Die .shx-Datei mit dem Index der Geometrie und schließlich die .dbf-Datei (DBase) zur Speicherung der Attributdaten. makefileleer

    freegis@xml-2:~/tmp/mapserver > configure --with-png --with-jpeg
    --with-tiff
    loading cache ./config.cache
    checking for gcc... (cached) gcc
    checking whether the C compiler (gcc  ) works... yes
    checking whether the C compiler (gcc  ) is a cross-compiler... no
    checking whether we are using GNU C... (cached) yes
    checking whether gcc accepts -g... (cached) yes
    checking for c++... (cached) c++
    checking whether the C++ compiler (c++  ) works... yes
    checking whether the C++ compiler (c++  ) is a cross-compiler... no
    checking whether we are using GNU C++... (cached) yes
    checking whether c++ accepts -g... (cached) yes
    checking for ranlib... (cached) ranlib
    checking for flex... (cached) lex
    checking for yywrap in -ll... (cached) no
    checking for bison... no
    checking for byacc... no
    checking if compiler supports -R... (cached) no
    checking if compiler supports -Wl,-rpath,... (cached) yes
    checking for exp in -lm... (cached) yes
    checking how to run the C preprocessor... (cached) gcc -E
    checking for ANSI C header files... (cached) yes
    checking for strcasecmp... (cached) yes
    checking for strncasecmp... (cached) yes
    checking for strdup... (cached) yes
    checking whether we should include JPEG support...
    checking for jpeg_read_header in -ljpeg... yes
            using libjpeg from system libs.
    .
    .
    .
    checking for PHP/MapScript module options...
            PHP/MapScript module not configured.
    creating ./config.status
    creating Makefile

Nachdem erfolgreichen Erzeugen eines Makefiles wird die Übersetzung des Quelltextes in ausführbaren Code mit `make` gestartet.

    freegis@xml-2:~/tmp/mapserver > make
    gcc -c -O2  -Wall -DIGNORE_MISSING_DATA  -DUSE_EPPL -DUSE_TIFF
    -DUSE_JPEG -DUSE_GD_PNG -DUSE_GD_JPEG -DUSE_GD_WBMP -DUSE_GD_FT
    -I/usr/local/include mapbits.c -o mapbits.o
    gcc -c -O2  -Wall -DIGNORE_MISSING_DATA  -DUSE_EPPL
    -DUSE_TIFF -DUSE_JPEG -DUSE_GD_PNG -DUSE_GD_JPEG -DUSE_GD_WBMP
    -DUSE_GD_FT-I/usr/local/include
    .
    .
    .
    USE_GD_WBMP -DUSE_GD_FT       -I/usr/local/include
    tile4ms.c -o tile4ms.o
    gcc -O2  -Wall -DIGNORE_MISSING_DATA  -DUSE_EPPL -DUSE_TIFF
    -DUSE_JPEG -DUSE_GD_PNG -DUSE_GD_JPEG -DUSE_GD_WBMP
    -DUSE_GD_FT -I/usr/local/include tile4ms.o  -L.
    -lmap -lgd -L/usr/local/lib -lgd -ljpeg
    -lfreetype -lpng -lz  -ltiff -ljpeg -lfreetype
    -lpng -lz  -ljpeg         -lm   -o tile4ms
    freegis@xml-2:~/tmp/mapserver > cp mapserv /usr/local/httpd/cgi-bin/

Die so erzeugte binäre ``cgi-Datei`` mapserv wird in das entsprechende Verzeichnis des Web-Servers für ,,cgi-skripte" kopiert, der hier angegebene Verzeichnispfad /usr/local/httpd/cgi-bin/ ist ein möglicher Ort. Es ist darauf zu achten, daß dieses ``cgi-Skript`` von jedermann ausgeführt werden kann. Nötigenfalls können mit `chmod 755 mapserv` die nötige Berechtigung erteilt werden, diese muss natürlich auch für das Verzeichnis /usr/local/httpd/cgi-bin/ gelten.

Unterabschnitte

- - Test des cgi-Skriptes
  - Bildmaterial

Nächste Seite: Test des cgi-Skriptes Aufwärts: Lösung mit MapServer Vorherige Seite: Lösung mit MapServer Inhalt Index