Installer & Optimiser un Serveur de Tuiles OpenStreetMap sur Ubuntu 24.04 LTS

Evaluez cet article !
[Total: 0 Moyenne : 0]

Héberger ses propres tuiles OSM garantit indépendance, performance et conformité RGPD. Ce guide condensé va plus loin que les tutoriels classiques : il couvre l’installation, les réglages de performance, la sécurité, les mises à jour temps réel, le monitoring et ouvre sur les tuiles vectorielles.

1. Pré‑requis & sizing matériel

Pourquoi ? Dimensionner correctement évite les ralentissements lors de l’import et garantit un rendu fluide.

  • Ubuntu 24.04 LTS à jour (kernel 6.8).
  • 16 Go RAM min (France) ; 64 Go pour l’Europe ; 128 Go pour la planète.
  • SSD NVMe ≥ 1 To pour l’import + cache.
  • CPU 8 threads+ (osm2pgsql multithread).

2. Installation pas à pas

2.1 Installer les paquets

Pourquoi ? Ces paquets constituent la pile de rendu (Apache, mod_tile, renderd) et la base spatiale (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 Créer la base PostGIS

Pourquoi ? La base gis stocke les données OSM et sert 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 Télécharger le style openstreetmap‑carto

Pourquoi ? C’est le style “standard” OSM, prêt pour toutes régions.

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 Importer les données OSM

Pourquoi ? Peupler la base avec vos données régionales.

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 Configurer renderd & Apache

Pourquoi ? Lier le moteur de rendu au serveur HTTP.

sudo tee /etc/renderd.conf >/dev/null <<EOF

[renderd]

Lire aussi  Figer les volets dans Excel : verrouiller lignes et colonnes (Windows, Excel pour le web, Mac)

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. Optimisations

Pourquoi ? Réduire le temps de rendu et accroître le débit.

  • PostgreSQL : shared_buffers=RAM/4, work_mem=128MB.
  • Pré‑rendu des zooms 0‑12 : render_list -a -z 0 -Z 12.
  • Cache HTTP via Cache-Control: max-age=31536000.

4. Sécurité & sauvegardes

Pourquoi ? Protéger vos données et le service.

  • UFW : n’ouvrir que 80/443, restreindre 5432.
  • fail2ban sur Apache.
  • TLS Let’s Encrypt : sudo certbot --apache --hsts.
  • Backups : pg_dump -Fc gis | rclone copy - s3://bucket/.

5. Mises à jour automatiques

Pourquoi ? Garder la base en phase avec OSM.

sudo -u _renderd osm2pgsql-replication init -d gis \
  --osm-file ~/data/alsace-latest.osm.pbf
# systemd timer toutes les 5 min

6. Monitoring

Pourquoi ? Anticiper les problèmes.

  • Munin : plugin renderd queue size.
  • Prometheus + Grafana pour métriques et alertes.

7. Extensions : vector tiles, Docker, Ansible

  • Tegola ou TileServer‑GL pour tuiles vectorielles.
  • Image Docker overv/openstreetmap-tile-server prête à l’emploi.
  • Playbook Ansible pour déploiement idempotent.

Dernière mise à jour : juillet 2025.

Evaluez cet article !
[Total: 0 Moyenne : 0]
Julie - auteure Com-Strategie.fr

Julie – Auteure & Fondatrice

Étudiante en journalisme et passionnée de technologie, Julie partage ses découvertes autour de l’IA, du SEO et du marketing digital. Sa mission : rendre la veille technologique accessible et proposer des tutoriels pratiques pour le quotidien numérique.

Laisser un commentaire