Das Hosting eigener OSM-Kacheln garantiert Unabhängigkeit, Leistung und DSGVO-Konformität. Dieser kompakte Leitfaden geht über klassische Tutorials hinaus: Er behandelt die Installation, Leistungsanpassungen, Sicherheit, Echtzeit-Updates, Monitoring und führt zu Vektorkacheln.
Somaire
1. Voraussetzungen & Hardware-Sizing
Warum? Eine korrekte Dimensionierung vermeidet Verzögerungen beim Import und garantiert eine flüssige Darstellung.
- Aktuelles Ubuntu 24.04 LTS (Kernel 6.8).
- Mindestens 16 GB RAM (Frankreich); 64 GB für Europa; 128 GB für den Planeten.
- NVMe-SSD ≥ 1 TB für Import + Cache.
- CPU mit 8 Threads oder mehr (osm2pgsql Multithread).
2. Schritt-für-Schritt Installation
2.1 Pakete installieren
Warum? Diese Pakete bilden den Rendering-Stack (Apache, mod_tile, renderd) und die räumliche Datenbank (PostgreSQL 16 + PostGIS 3.4).
sudo apt update && sudo apt upgrade -y
sudo apt install apache2 libapache2-mod-tile renderd git wget unzip bzip2
postgresql postgresql-16-postgis-3 postgresql-16-postgis-3-scripts
python3-mapnik mapnik-utils gdal-bin lua5.1 npm node-carto osm2pgsql
2.2 PostGIS-Datenbank erstellen
Warum? Die Datenbank gis speichert die OSM-Daten und dient Mapnik.
sudo -u postgres createuser _renderd
sudo -u postgres createdb -E UTF8 -O _renderd gis
sudo -u postgres psql -d gis -c "CREATE EXTENSION postgis; CREATE EXTENSION hstore;"
2.3 Den Stil openstreetmap-carto herunterladen
Warum? Es ist der „Standard“-OSM-Stil, geeignet für alle Regionen.
git clone https://github.com/gravitystorm/openstreetmap-carto ~/src/osm-carto
cd ~/src/osm-carto && npm install -g carto
carto project.mml > mapnik.xml
2.4 OSM-Daten importieren
Warum? Die Datenbank mit Ihren regionalen Daten füllen.
wget -P ~/data https://download.geofabrik.de/europe/france/alsace-latest.osm.pbf
sudo -u _renderd osm2pgsql -d gis --create --slim -G --hstore
--tag-transform-script ~/src/osm-carto/openstreetmap-carto.lua
-C 75% --number-processes $(nproc)
-S ~/src/osm-carto/openstreetmap-carto.style
~/data/alsace-latest.osm.pbf
2.5 renderd & Apache konfigurieren
Warum? Die Rendering-Engine mit dem HTTP-Server verbinden.
sudo tee /etc/renderd.conf >/dev/null <<EOF
[renderd]
num_threads=$(nproc) tile_dir=/var/lib/mod_tile stats_file=/run/renderd/stats
[default]
URI=/osm/ XML=/home/$USER/src/osm-carto/mapnik.xml HOST=localhost TILESIZE=256 EOF sudo systemctl enable –now renderd apache2
Test: http://IP/osm/0/0/0.png
3. Optimierungen
Warum? Die Renderzeit reduzieren und den Durchsatz erhöhen.
- PostgreSQL:
shared_buffers=RAM/4,work_mem=128MB. - Vorrendering der Zoomstufen 0-12:
render_list -a -z 0 -Z 12. - HTTP-Cache über
Cache-Control: max-age=31536000.
4. Sicherheit & Backups
Warum? Ihre Daten und den Dienst schützen.
- UFW: Nur Ports 80/443 öffnen, 5432 einschränken.
- fail2ban für Apache.
- TLS Let’s Encrypt:
sudo certbot --apache --hsts. - Sicherungen:
pg_dump -Fc gis | rclone copy - s3://bucket/.
5. Automatische Updates
Warum? Die Datenbank mit OSM synchron halten.
sudo -u _renderd osm2pgsql-replication init -d gis
--osm-file ~/data/alsace-latest.osm.pbf
# systemd timer toutes les 5 min
6. Überwachung
Warum? Probleme frühzeitig erkennen.
- Munin: Plugin renderd queue size.
- Prometheus + Grafana für Metriken und Alarme.
7. Erweiterungen: Vektor-Kacheln, Docker, Ansible
- Tegola oder TileServer-GL für Vektor-Kacheln.
- Docker-Image
overv/openstreetmap-tile-servereinsatzbereit. - Ansible-Playbook für idempotente Bereitstellung.
Letztes Update: Juli 2025.