Ubuntupaket für lokalen Tileserver

Hab mal eine angelegt:

http://wiki.openstreetmap.org/wiki/Ubuntu_tile_server

@ kellerma

Danke für den Tipp.

Jedoch auch nach Änderung des timeout keine Kachel zu sehen.

Hi,

das importieren der Daten hat also schon mal geklappt?
Hast Du auch den renderd danch restartet?

Danach wuerd’ ich den
den renderd im Vordergrund laufen lassen per
sudo /usr/bin/renderd -f
um zu sehen wie er startet.

Desweiteren mal die Logfiles von Apache
sudo tail -f /var/log/apache2/error.log
umd das der Datenbank
sudo tail -f /var/log/postgresql/postgresql-8.4-main.log
beobachten waehrend Du einen request mit dem Browser erzeugst.

Ciao,
Frank

Jetzt nochmal langsam. Womit hast du genau Probleme. Hast du die Daten in die Datenbank eingelesen? Falls du das nicht geschafft hast wäre es kein Wunder wenn du keine Kacheln siehst.
Hast du die automatische Konfiguration des Tools benutzt? Dort habe ich alle Standardwerte übernommen und nur bei dem Datenbanknutzer meinen Benutzernamen zu www-data hinzugefügt. Sonst waren keine weiteren eingriffe nötig.

Ich hoffe du bist mir nicht böse, wenn ich deine Tipps mit Erklärungen zwischen die einzelnen Befehle geschrieben habe.
Kann jemand ein paar Screenshoots hochladen um das ganze etwas anschaulicher zu machen?
Macht es Sinn einen eigenen Bereich für die GUI Installation anzulegen?
Wollen wir einen Bereich ergänzen in dem die Konfiguration des OSMviewers für diesen Server erklärt wird?

Möglicherweise hat mein osm2pgsql beim Einsatz von pbf’s ein Speicherloch (nach Sekunden unbrauchbar) :wink:
oder es braucht wirklich soviel Speicher.

Habe daher per
osmconvert berlin.osm.pbf > berlin.osm
umgemodelt, dauerte bei mir 16 Sekunden.

Und dann per
$ osm2pgsql -U postgres berlin.osm
eingelesen. Ist zwar nicht schnell
Processing: Node(1339k 29.8k/s) Way(245k 4.30k/s) Relation(4467 319.07/s) parse time: 116s
dafür schafft es mein 1 GB netbook (mit verschlüsselter Platte) in 5 min:
Osm2pgsql took 299s overall

Ge-swap-t wird zwar immer noch, aber nur leicht und auch “mittelfranken.osm” (50% größer als berlin.osm) geht noch. :slight_smile:
Bei bayern.osm wird’s wohl die Grätsche machen :wink:

Ciao,
Frank

EDIT:
So, jetzt hab’ ich mal eine neuere Library (protobuf-c aus dem svn) verwendet:
$ LD_LIBRARY_PATH=/usr/local/lib osm2pgsql -U postgres --slim -C 800 berlin.osm
Processing: Node(1339k 15.8k/s) Way(245k 4.02k/s) Relation(4467 78.37/s) parse time: 203s
Osm2pgsql took 550s overall

$ LD_LIBRARY_PATH=/usr/local/lib osm2pgsql -U postgres --slim -C 800 berlin.osm.pbf
Processing: Node(1339k 24.8k/s) Way(245k 5.71k/s) Relation(4460 94.89/s)  parse time: 144s
Osm2pgsql took 484s overall

=> Als doch beim “pbf” bleiben :slight_smile:

EDIT2:
Mittelfranken geht auch noch, sogar ohne “-C 800” Parameter:
$ LD_LIBRARY_PATH=/usr/local/lib osm2pgsql -U postgres --slim data/geofabrik/mittelfranken.osm.pbf
Processing: Node(2343k 26.3k/s) Way(362k 4.48k/s) Relation(7150 65.00/s) parse time: 280s
Osm2pgsql took 877s overall

=> Stets “–slim” benutzen

Ich führe die Befehle aus wie im wiki. Mit restart.

An den User www-data kann ich mich nicht erinnern.

Wie starte ich die Konfiguration ein weiteres mal?

Zwischenzeitlich habe ich libapache2-mod-tile de- und wieder installiert.

Konfiguration wurde danach nicht abgefragt.

Es wird während der Installation gefragt ob man das Paket konfigurieren möchte. Danach kommt die Frage nach Datenbank, User und Küstenlinien. Möglicherweise auch in anderer Reihenfolge. Ob das Paket bei der Deinstallation die Konfiguration irgendwo speichert weiß ich nicht. Aber Kai hat schon erkannt, dass die Installation nicht sehr fehlertollerant ist und arbeitet vielleicht schon an weiteren Skripten.
Ich selbst habe Linux immer neu installiert bzw. die virtuelle Maschine kopiert und so immer ein frisches Linux gehabt.

Evtl. sollte man den Hinweis, dass es derzeit noch etwas beta ist und daher in einer VM besser aufgehoben ist auch im wiki erwähnen.

War nur als Initialzündung gedacht. Klar, es darf von allen ergänzt werden. :wink:

Ich habe jetzt noch ein paar Kleinigkeiten erweitert / verbessert.

  • Es ist nun eine slippymap unter http://localhost/osm/slippymap.html enthalten mit dem es einfacher sein sollte zu sehen was es gemacht hat
  • Mn kann nun nachtraeglich mit “/usr/bin/install-postgis-osm-user.sh gis peter” nachtraeglich user hinzufuegen
  • Es ist nun auch fuer Ubuntu 11.10 (oneiric) verfuegbar
  • Es sollte nun auch mit Postgresql 9.1 kompatibel sein (noch nicht wirklich getestet)

Ausserdem habe ich angefangen es leichter zu machen minutely diffs einzuspielen.

sudo apt-get install osmosis
sudo install-postgis-osm-user.sh gis www-data
sudo su www-data /usr/bin/openstreetmap-tiles-update-expire.sh 2011-10-09
sudo su www-data /usr/bin/openstreetmap-tiles-update-expire.sh

Wobei der letzte Befehl entweder in eine Schleife verpackt werden muss, oder in cron eingefuegt werden muss um den Server aktuell zu halten. Ausserdem aktuallisiert der Befehl maximal eine Stunden (eine Einstellung von Osmosis). Das heist wenn man mehr als eine Stunde hinter her ist, z.B. weil man das Berlin extrakt von Gestern verwendet hat, muss man den Befehlt ebenfalls wiederholt aufrufen. Der erste Aufruf von openstreetmap-tiles-update-expire.sh mit Datum als Parameter initialisiert osmosis fuer die Replikation. Das Datum sollte dabei das Datum der importierten Daten sein.

Hallo Kai,

schön das die Entwicklung voranschreitet. Ich habe keine Ahnung was deine Skripte tun. Aber ich wollte vorschlagen, statt osmosis eventuell osmupdate zu bemühen. Der Vorteil ist das hier zum einen das Programm selbst den Timestamp des zu letzt editierten Elementes der Pbf Datei ermittelt und zum anderen kümmert es sich selbständig darum die möglichst größten Häppchen Daily hourly minutely vom Server lädt und die zusammen in eine OSC Dateiverpacken kann. http://wiki.openstreetmap.org/wiki/Osmupdate

Eine andere Frage sind die Installationsskripte an sich. Ich habe immer noch keine Möglichkeit gefunden mich grafisch mit der Datenbank zu verbinden. Wie lauten denn die Daten? Server: localhost User: Benutzername wie eingerichtet Passwort: ? Port: ? Datenbankname: gis

Ist es möglich über einen Skriptbefehl den aktuellen Username auszulesen und dann entsprechend automatisch zu ergänzen?

Wie kann man die Installation um einen weiteren Layer ergänzen?

Was mich noch interessieren würde:
Wo im Filesystem liegen die ganzen Sachen (DB / Tiles, etc.) ?
Wie kann ich simple SQL Abfragen machen ?

für simple SQl Anfragen meldest du dich einfach mit pgsql gis an und machst tippst dann deinen SQL Code ein. Da wird man nach keinem Passwort gefragt.

Die style sheets und coastlines liegen in /etc/mapnik-osm-data
Die tiles liegen in /var/lib/mod_tile
Die configuration von renderd in /etc/renderd.conf
Die von mod_tile in /etc/apache2/sties-available/tileserver_site
Die scripts liegen unter /usr/bin

sudo dpkg-reconfigure openstreetmap-postgis-db-setup

Ja, leider speichert ubuntu die configuration und fraegt sie bei einem reinstall nicht noch einmal ab.

Alternativ kann man auch mit

sudo /usr/bin/install-postgis-osm-user.sh gis xyz

den Benutzer xyz in die Datenbank gis nachtraeglich hinzufuegen.

Mmh, mit der neumodischen Ubuntu-Zeug kenn’ ich mich nicht so aus :wink:
Bei goo’ ol’ Debian geht’s so:
$ pgadm3
→ Verbindung zum Server hinzufügen
→ Name tileserver
→ Server localhost
und dann 2x drücken.
Anschließend kann ich unter “Datenbanken” die “gis”-db auswählen.

That’s it :slight_smile:

Ciao,
Frank

Supi, funktioniert aber anscheinend wirklich nur lokal (nicht von einem anderen Rechner
im Netzwerk aus). Zieht der die Openlayer.js auch von lokal?

Chris

Noch schnell zwei Anmerkungen (wenn ich es richtig verstanden habe ;):

Ciao,
Frank