Skip to content

Install Database (Debian 9)

Jonathan Beliën edited this page Nov 9, 2018 · 2 revisions

The purpose to this server is to host the OpenStreetMap database.
The tiles for https://tile.osm.be/ are rendered by another server.
The tiles for https://tile.osm.be/ are streamed by another server.

Requirements

  • Disk space :
  • Debian 9 (obviously)

Update operating system

Just to be sure everything is up to date :

sudo apt-get update
sudo apt-get dist-upgrade

And restart your server :

sudo reboot

Install

Install required softwares and libraries

sudo apt-get install openjdk-8-jre
sudo apt-get install build-essential git cmake
sudo apt-get install \
    libprotobuf-c0-dev zlib1g-dev libexpat1-dev libbz2-dev \
    libproj-dev liblua5.3-dev libboost-all-dev libpq-dev

Install PostgreSQL and PostGIS

sudo apt-get install software-properties-common

sudo add-apt-repository 'deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

sudo apt-get update
sudo apt-get install postgresql-11 postgresql-11-postgis-2.5 postgresql-11-postgis-2.5-scripts

Install osm2pgsql

cd /home/debian/openstreetmap/
git clone git://github.com/openstreetmap/osm2pgsql.git
cd osm2pgsql
mkdir build && cd build
cmake ..
make
sudo make install

Install osmosis

cd /home/debian/openstreetmap/
wget https://bretth.dev.openstreetmap.org/osmosis-build/osmosis-latest.tgz
mkdir osmosis
mv osmosis-latest.tgz osmosis
cd osmosis
tar xvfz osmosis-latest.tgz
chmod a+x bin/osmosis

Create database

sudo -u postgres createuser -P openstreetmap
sudo -u postgres createdb --owner=openstreetmap openstreetmap
sudo -u postgres psql -d openstreetmap -c 'CREATE EXTENSION postgis; CREATE EXTENSION hstore;'

Clone openstreetmap-carto-be repository

cd /home/debian/openstreetmap/
git clone git://github.com/jbelien/openstreetmap-carto-be.git

Import data

Run /home/debian/openstreetmap/openstreetmap-carto-be/scripts/render/data-update.sh :

  1. Update "openstreetmap-carto-be"
  2. Clean data
  3. Get last version of Europe
  4. Create Belgium extract (based on bounding box)
  5. Import data in PostgreSQL

You will need to use ~/.pgpass file to define the password to connect to PostgreSQL : https://www.postgresql.org/docs/current/libpq-pgpass.html.