Quick install instructions for p.mapper 3.2

For more detailed documentation see the p.mapper manual

PHP Settings

PHP/MapScript Library and WebServer

p.mapper in the current version requires PHP 5. If you want to run p.mapper on PHP 4 you need to use the older version 3.0.

Install the PHP/MapScript library in the appropriate place and configure your webserver to parse *.php and *.phtml files with PHP.

See the documentation for PHP/MapScript and MapServer for details.

LIBICONV

PHP needs to be compiled with support of the ICONV library. This should be the default on Windows and Unix versions of PHP

PHP.INI

Under section [PHP] for Error handling and logging set

error_reporting = E_ALL & ~E_NOTICE        ;;;IMPORTANT!!!
log_errors = On
error_log = ...: Set a valid file name writable by the webserver user. IMPORTANT!!! 

See the PHP Manual for more details.

In section [PHP] under the paragraph Paths and Directories set:

enable_dl = On

alternatively: load the Mapscript extension via the php.ini. This is also the required method on Windows both for IIS and Apache running PHP as module.

The application uses PHP sessions to store user settings during the session. Modify the php.ini file to the following settings below section [Session]:

session.save_path = ... : Set a valid path writable by the webserver user
session.use_trans_sid = 0 : set to 0 in order to be compliant with W3C XHTML Strict 
session.auto_start = 0

Using cookies for sessions

In most cases it is recommended to disable the usage of cookies for session handling. You achieve this by the following setting

session.use_cookies = 0

For a more detailed discussion about this setting please see the FAQ

Note that for p.mapper 1 you have to set session.use_trans_sid to 1

Settings for security As with all PHP installations it is strongly recommended to disable both register_globals and allow_url_include (allow_url_fopen before PHP 5.2) to avoid potential cross side scripting attacks:

 register_globals = Off

 allow_url_include = Off

Note that register_globals is set to Off by default and its dangerous activation needs an active input by the system admin. Since v3.2 there are additional checks to prevent code insertion in case of very weak PHP security settings that are against any [recommendations].

Application settings

config/config_default.ini The main configuration for p.mapper is set under the subdirectory config in the file config.ini. Adapt following mandatory settings to your environment:

msVersion: e.g. for php_mapscript_48.so set to 48, for php_mapscript_50.dll set to 50
  This setting can be skipped if the php_mapscript extension is loaded via the php.ini (see above). 
  If commented out the php_mapscript.so/php_mapscript.dll will be used.
mapFile: Map file location; 2 possibilities:
  1) use absolute path to map file in file system (use slashes instead of backslashes)
  2) filename only, if map file is under the directory specified at 'pm_config_location' 
allGroups: a comma-separated list of layers/groups available in the application

useCategories: if set to 1 the thematic categories and the assigned layers/groups 
               have to be defined in the array $categories in "php_config.php"

General rule: if a layer belongs to a group, use the group name, otherwise use the layer name. Layer and group names must not have spaces.

Other settings

Directory /images/legend/

This directory has to be writeable for the user that runs the web server (used for automatic update of legend icons). Important

On a Debian system for example, this could be achieved with the command

chown -R www-data /var/www/pmapper_demo/images/legend/

On Windows and IIS set the directory security properties to 'Modify' for user IUSR_hostname

Demo data

You can download the demo dataset (pmapper-demodata-3.zip) and test p.mapper with the supplied map file pmapper_demo.map.

Map file

in pmapper_demo.map adapt settings for

MAP
  SHAPEPATH 
  (FONTSET) 
  (SYMBOLSET)
 
WEB
  IMAGEPATH 
  IMAGEURL

Layer and group names must not have spaces.

Start p.mapper

Starting p.mapper can be done via the map.phtml file or a link from index.html.

Pre-prepared packages - MS4W and Debian/Ubuntu

In order to facilitate the first set-up of p.mapper, packages for MS4W and Debian/Ubuntu are available. See the here how to get and install them.