Installer un serveur de tuile sur Opensuse 12.1 (mod_tile)

L’installation et le fonctionnement d’un serveur de tuile (une tuile est une image d’une carte. Les cartes “web” sont en fait l’assemblage d’images carrées, mises côte à côte) est bien documentée sur la plate forme Ubuntu. Peu d’articles, par contre, portent sur la distribution OpenSUSE. Or, alternatif dans l’alternatif, c’est celle que j’ai choisie.

Petit tour des difficultés que j’ai rencontrée, et des solutions que j’ai pu trouver.

Trouver mod_tile.so

Première difficulté: trouver le fichier mod_tile.so. Ce fichier est le module d’apache qui “sert” les tuiles. Lors de la compilation, il s’était caché… dans un répertoire caché, à l’endroit suivant:

Pour le trouver, la commande find est utile:

Charger le module dans apache

Là encore, le fichier de configuration par défaut proposé ne rend pas service… En effet, le fichier contient à la fois le code de chargement de mod_tile, mais également la configuration du vhost. Or, par facilité, j’ai voulu terminer la configuration du vhost avec l’installateur automatique… ce qui a supprimé le code avant la définition du vhost.

Le code prévu :

Pour plus de facilité, j’ai déplacé le fichier mod_tile.so dans le répertoire des modules d’apache (chez moi, /usr/…) et il est apparu dans la liste des modules du configurateur Yast. Je n’ai plus eu qu’à suivre les étapes de l’installateur automatique des modules et du vhost, puis à copier/coller les variables par défaut de la configuration de mod_tile dans le fichier ad hoc dans le répertoire /etc/apache2/vhosts.d/

Renderd

Autre fil à retordre: renderd. C’est un service qui semble faire l’interface entre mapnik et apache.

Chez moi, les librairies libiniparser3.0, requises par le service, étaient installées en version 32 et 64 bit. Cela empêchait renderd de démarrer. Il a suffit que je supprime la version 32bits et il semblait démarrer… Mais je dis bien “semblait”, car en fait, le service s’arrêtait au démarrage, mais cela n’était pas communiqué. Quelques recherches plus tard, je découvre que la commande -f permet d’afficher des informations de débogages

Ce qui m’a permis de constater qu’il s’arrêtait, ne pouvant localiser le répertoire de mapnik qui contenait les librairies nécessaire à l’utilisation de données postgis… La commande suivante m’a permis de les localiser :

Et il a suffit, alors, de modifier le fichier /etc/renderd.conf (qui n’est pas lui-même nativement à cette place) pour l’adapter (comparez avec la version par défaut):

Les informations de débogage m’ont également permis de constater que renderd établissait un fichier .sock dans le répertoire /tmp du système. Pas très propre. Il a donc fallu créer le répertoire /var/run/renderd/, auquel l’utilisateur qui lance renderd a accès:

Puis décommenter la ligne correspondante dans /etc/renderd.conf:

Stockage des tuiles

Par défaut, les fichiers meta des tuiles sont stockées dans le répertoire /var/lib/mod_tile. Mais mon disque est partitionné en deux (comme la plupart des utilisateurs linux): d’un côté le répertoire racine, de l’autre le répertoire /home. Le répertoire racine étant limité en taille, et devant contenir les données des programmes, mieux vaut éviter de l’encombrer inutilement…

J’ai donc créer un lien symbolique vers un répertoire spécifique créé sur la partition /home:

J’espère que partager ces informations pourra aider…

Post a comment or leave a trackback: Trackback URL.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>