Installer TileStache sur Ubuntu Server 11.10
TileStache est un serveur de tuiles codé en Python.
Il permet de servir des tuiles à partir de différents types de sources : proxy depuis un serveur de tuile distant, tuiles au format MBTiles, fichier GeoJSON, etc.
Plusieurs systèmes de cache sont disponibles : disque, memcache, Amazon S3, etc.
Installation
Traduction, et adaptation de Don’t Panic : An Absolute Beginner’s Guide to Building a Map Server.
Le paquet tilestache proposé dans les dépôts Ubuntu n’est pas à jour, on va donc procéder à une installation à partir des sources disponibles sur github.
On commence par installer Mapnik, mais pas la version proposée dans les dépôts d’ubuntu. On va utiliser une version plus récente disponible dans le dépôt de mapbox comme indiqué dans ce billet.
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:developmentseed/mapbox
sudo apt-get update
sudo apt-get install libmapnik python-mapnik mapnik-utilsPuis on installe mod-python pour apache :
sudo apt-get install libapache2-mod-python
sudo /etc/init.d/apache2 restartOn se déplace dans le répertoire /etc pour y installer TileStache, et on installe curl et git qui vont nous être nécessaire pour récupérer les sources.
cd /etc
sudo apt-get install curl git-core Puis on installe les outils python et quelques librairies nécessaires :
sudo apt-get install python-setuptools python-dev libjpeg8 libjpeg62-dev libfreetype6 libfreetype6-devOn installe PIP pour faciliter l’installation des modules python par la suite :
curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py
sudo python get-pip.pyOn installe les modules python requis par TilesStache :
sudo pip install -U werkzeug
sudo pip install -U modestmapsNotez que simplesjon n’est pas nécessaire si vous utilisez une version de python supérieure à la 2.6 (ce qui est le cas sur ubuntu 11.10 qui utilise python 2.7).
Avant d’installer PIL il faut vérifier la présence de certains liens symboliques dans le répertoire /usr/lib. Si les liens suivants ne sont pas présents dans ce répertoire, créez les avec les commandes suivantes :
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib
sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib
sudo ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/libPuis on installe PIL :
sudo pip install -U pilEnfin, on récupère TileStache depuis Github :
git clone https://github.com/migurski/TileStache.gitEt on lance le script d’installation :
cd TileStache/
python setup.py installFinalement, on configure mod_python pour apache afin que le serveur redirige les requêtes de tuiles vers TileStache. On édite le fichier de configuration d’apache :
sudo nano /etc/apache2/httpd.confEt on y ajoute ceci :
<Directory /var/www/tiles>
AddHandler mod_python .py
PythonHandler TileStache::modpythonHandler
PythonOption config /etc/TileStache/tilestache.cfg
</Directory>Cette règle indique à apache de rediriger les requêtes contenant l’extension ".py" dans le répertoire "tiles" vers Tilestache. Il ne nous reste plus qu’à créer un répertoire tiles dans /var/www pour ne pas avoir de requêtes en erreur :
mkdir /var/www/tilesOn redémarrer le serveur pour terminer :
rebootUne fois le serveur redémarré, on va pouvoir tester que tout fonctionne en affichant l’url suivante dans un navigateur :
http://adresse_ip_du_serveur/tiles/tiles.py/osm/preview.htmlSi vous voyez un fond de carte OpenStreetMap s’afficher c’est que tout va bien. Toutes les couches configurées dans votre instance de TileStache disposent d’une adresse de prévisualisation du type /tiles/tiles.py/nom_de_la_couche/preview.html.
Puis, pour tester que TileStache communique bien avec Mapnik, essayez d’afficher l’url suivante :
http://adresse_ip_du_serveur/tiles/tiles.py/example/preview.htmlSi vous voyez une carte simplifiée en gris et blanc c’est que Tilestache arrive bien à faire le rendu d’un fichier shapefile (celui-ci est situé dans le répertoire de TileStache).
Voilà, le serveur est fonctionnel, consultez la documentation pour découvrir toutes ses options de configuration.
Mise à jour
Pour mettre à jour votre installation, il faut dans un premier temps mettre à jour votre copie locale du dépôt GIT de Tilestache :
git pull origin masterPuis relancer le script d’installation :
python setup.py installProchaine étape, afficher des tuiles GeoJSON...
Répondre à cet article