Overpass
De Wiki de Geonov
Révision datée du 19 avril 2021 à 13:00 par Mathieu Ambrosy (discussion | contributions)
Overpass est une API permettant d'interroger des données OSM.
1 Installation d'un serveur Overpass (Debian)
1.1 Création d'un utilisateur système spécifique
sudo adduser overpass --system --shell /bin/bash --group
1.2 Création des répertoires
sudo mkdir -p "/opt/osm-3s/database/"
sudo mkdir "/opt/osm-3s/replicate/"
sudo mkdir "/opt/osm-3s/logs/"
sudo chown overpass:overpass -R /opt/osm-3s
1.3 Téléchargement et compilation d'Overpass
1.3.1 Téléchargement
sudo wget https://dev.overpass-api.de/releases/osm-3s_v0.7.56.9.tar.gz -P /usr/local/src/
sudo tar -xvf /usr/local/src/osm-3s_v0.7.56.9.tar.gz -C /usr/local/src/
sudo chown overpass:overpass -R /usr/local/src/osm-3s_v0.7.56.9
1.3.2 Compilation et installation
cd /usr/local/src/osm-3s_v0.7.56.9
sudo -u overpass ./configure CXXFLAGS="-O2" --prefix=/opt/osm-3s/osm-3s_v0.7.56.9
sudo apt-get install -y g++ make expat libexpat1-dev zlib1g-dev
sudo -u overpass make
sudo -u overpass make install
1.4 Installation et configuration d'Apache
1.4.1 Installation
sudo apt-get install -y apache2 libapache2-mod-auth-openidc python-certbot-apache
sudo a2enmod cgid
sudo a2enmod ext_filter
sudo a2enmod headers
sudo a2enmod setenvif
sudo a2enmod rewrite
1.4.2 Configuration
Fichier de configuration "/etc/apache2/sites-available/000-default.conf" :
<VirtualHost *:80>
ServerName nom_de_domaine
ServerAdmin mail_de_contact
DocumentRoot /var/www/html
DirectoryIndex index.html interpreter
ExtFilterDefine gzip mode=output cmd=/bin/gzip
ScriptAlias /api /opt/osm-3s/osm-3s_v0.7.56.9/cgi-bin/
LogLevel error
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory "/opt/osm-3s/osm-3s_v0.7.56.9/cgi-bin/">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Require all granted
</Directory>
</VirtualHost>
Note : le domaine "nom_de_domaine" lié à l'adresse IP du serveur doit être configuré dans les DNS du domaine.
1.4.3 Service
Activation et redémarrage du service :
sudo systemctl enable apache2
sudo systemctl restart apache2
1.4.4 Pare-feu (Nftables)
inet filter input tcp dport {80,443} ct state new,established accept
inet filter output tcp sport {80,443} ct state established accept
1.4.5 Certificat Let's Encrypt
sudo certbot -d nom_de_domaine --apache -n --agree-tos --email mail_de_contact
sudo certbot enhance -d nom_de_domaine -n --redirect --apache --cert-name nom_de_domaine
Note : le renouvellement automatique est mis en place dans "/etc/cron.d/certbot".
1.5 Clonage des données mondiales
Avant de pouvoir utiliser l'API, il faut charger les données OSM.
1.6 Documentation
https://wiki.openstreetmap.org/wiki/Overpass_API/Installation