Mapbender3 geoportal framework. Start here for building Mapbender yourself.
PHP Python Shell Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
application Mapbender lib bump to tag v3.0.7.3 Jul 13, 2018
bin
doc Wording Improvements Mar 13, 2018
packaging added owsproxy fom and documentation to debian packet Dec 17, 2012
phing/tasks
.editorconfig Added .editorconfig to the project Mar 1, 2018
.gitignore Merge remote-tracking branch 'origin/release/3.0.5' into release/3.0.6 Apr 18, 2018
.gitlab-ci.yml Generate API docs Aug 17, 2017
.travis.yml Enable test travis on PHP 7.0 Nov 29, 2016
CHANGELOG.md v3.0.7.3 starter changelog Jul 13, 2018
CONTRIBUTING.md Move root account password change CONTRIBUTING => README, clean up May 7, 2018
LICENSE Switched to MIT license Sep 4, 2014
README.md Redocument changed bootstrap / dev server usage Jun 14, 2018
apigen.conf Disable generate API documentation generation report May 4, 2017
bootstrap Remove automatic server:run at end of bootstrap, echo a message instead Jun 14, 2018
bootstrap.bat Remove automatic server:run at end of bootstrap, echo a message instead Jun 14, 2018
build.properties Change versions Feb 13, 2017
build.xml composer in bin directory Mar 29, 2017

README.md

Mapbender

Mapbender is a web based geoportal framework.

The official site contains documentation and installation information (also available in German).

To install Mapbender from this Git-repository, please read the guide of the Git-based installation (in German).

Requirements

At a minimum, Mapbender requires OpenSSL, curl, a PHP 5.4 interpreter, bzip2 decompression and the following php extensions to be installed and enabled:

  • curl
  • gd
  • intl
  • mbstring
  • bz2
  • xml
  • json
  • sqlite

You may have to install and enable further extensions at your own discretion if you want to use specific database systems.

We also recommend installing an sqlite client so you can inspect the (default) sqlite database.

E.g.

Ubuntu 16.04

sudo apt-get install php php-cli openssl bzip2 \
    php-curl php-gd php-intl php-mbstring \
    php-bz2 php-xml php-json \
    php-sqlite php-pgsql php-mysql \
    sqlite curl

Ubuntu 14.04

14.04 is similar, but requires activation of the "universe" repository and uses versioned package names ("php5-" instead of "php-").

Activate universe repository:

sudo add-apt-repository universe

Update package list:

sudo apt-get update

Install packages:

sudo apt-get install php5 php5-cli openssl bzip2 \
    php5-curl php5-gd php5-intl php5-mbstring \
    php5-xml php5-json \
    php5-sqlite php5-pgsql php5-mysql
    sqlite curl

System configuration

Make sure your PHP interpreter has explicitly configured temp and uploads directories and that they are writable. In >= PHP5.5, there are separate php.ini settings for sys_temp_dir and upload_tmp_dir. PHP <= 5.4 uses the value of upload_tmp_dir for both.

Your system most likely has separate php.ini files for cli and web server SAPIs such as mod_php, php-fpm, fcgi etc. Make sure to make changes in all php.ini files relevant to your installation.

Getting the code

Git clone mapbender-starter via ssh or https at your preference:

git clone git@github.com:mapbender/mapbender-starter.git mapbender-starter

or

git clone https://github.com/mapbender/mapbender-starter.git mapbender-starter

Bootstrapping

Switch to project directory and run ./bootstrap

cd mapbender-starter
./bootstrap

The bootstrap command performs the following required setup tasks for you:

  • installs userland dependencies (via composer)
  • creates a parameters.yml by copying the bundled parameters.yml.dist
  • performs the necessary database setup (as an sqlite file in application/app/db/demo.sqlite)
  • creates a root account with a default password root (which you should change later)

The full setup processes is only needed once. If you invoke it again, nothing of consequence will happen.

Built-in server

You can test your freshly bootstrapped Mapbender installation using a built-in development server. This is not production quality, and has some known issues processing external requests (such as in printing), but it allows some quick testing before you set up a production-grade web server.

The server is started like this:

app/console server:run

The URL is shown in the output:

Server running on http://localhost:8000

Changing root account password

From the application directory run:

app/console fom:user:resetroot

Components

Our code is maintained using git and hosted at Github. We split up our code into several parts:

  1. mapbender-starter: The starter project you are using right now. This provides a complete application to play with and build upon.
  2. mapbender: The CoreBundle contains all basic functionality, including base classes and interfaces for the Mapbender API usable by Mapbender and third-party bundles.
  3. FOM: User and rights management.
  4. OWSProxy3: OWSProxy3 is a transparent Buzz-based proxy that uses cURL for connection to web resources via/without a proxy server.
  5. mapquery: Mapbender uses MapQuery as its jQuery/OpenLayers wrapper. We maintain our own clone.

Issues

Please report issues at the Mapbender repository here at Github.

Other downloads

Pre-built Tarballs and Zip files (where all subbodules and Symfony bundles are integrated) are available at our Download page.

Mapbender demo & sandbox

Wanna see Mapbender live? A demo installation is available at http://demo.mapbender.org/.

Follow us on Twitter

You can follow Mapbender at Twitter.