Eigener OSM Server

Hallo zusammen,

ich möchte meinen eigenen OSM Server aufsetzen und habe hierfür das folgende Tutorial [1] [2] schrittweise befolgt. Nachdem ich die Schritte durchgeführt habe, bekomme ich leider keine Karte in meinem Browser dargestellt. Als System habe ich ein blankes Debian 6.0.2 mit der Karte für Berlin verwendet. Das Howto habe ich dann nochmal auf einem blanken Debian 6.0.0 mit der Karte für das Saarland ausprobiert. Leider erhalte ich auch hier keine Karte in meinem Browser.

Was habe ich falsch gemacht?

[1] http://wiki.openstreetmap.org/wiki/DE:HowtoMinutelyHstore
[2] http://wiki.openstreetmap.org/wiki/DE:HowTo_Mapnik_%26_Tirex

Gruß
Christian

Es wäre schön, wenn du uns dein eigentliches Ziel verraten könntest. Geht es dir nur darum einen Server zu haben, welcher später einmal eine Karte anzeigt, so gibt es dort inzwischen eine praktikable Lösung:
http://forum.openstreetmap.org/viewtopic.php?id=13983
Frank kann dir dort sicher bei den möglichen Anpassungen für Debian helfen.
Die Entwiklung ist aber noch nicht angeschlossen. Insbesondere das aktuell halten der Datenbank ist gerade noch in Entwicklung, wobei das immer noch ein riesen Problem für alle Serverbetreiber ist, welche nicht den ganzen Planeten vorhalten. Denn Updates sind in der Regel für die ganze Welt.

Hi,

mir geht es darum, dass ich zunächst einen eigenen Server mit Europakarte habe.
Ob mein Server letztendlich per Debian oder Ubuntu läuft, ist im Grunde genommen egal. Ich schau mir mal deinen Link genauer an. Danke.

asdf

Hallo zusammen,

das Howto habe ich in meiner Testumgebung (Debian 6 32-bit) durchgeführt. Der OSM-Server mit einer kleinen Karte von Berlin funktioniert tadellos. Anschließend wiederholte ich die gleichen Schritte auf dem Produktivsystem (Debian 6 64-bit) mit einer Europakarte. Leider werden im Browser nur die Zoomstufen 1-6 angezeigt, die ich vorher mittels tirex-batch berechnet habe.

Eventuell kann anhand der folgenden Log-Dateien von Euch jemand erkennen, was die Fehlerursache sein könnte:


==> /var/log/postgresql/postgresql-8.4-main.log <==

2011-11-09 12:32:26 CET LOG:  Datenbanksystem wurde am 2011-11-09 12:30:04 CET heruntergefahren
2011-11-09 12:32:26 CET LOG:  unvollst?ndiges Startpaket
2011-11-09 12:32:27 CET FATAL:  das Datenbanksystem startet
2011-11-09 12:32:28 CET LOG:  Datenbanksystem ist bereit, um Verbindungen anzunehmen


==> /var/log/tirex/jobs.log <==

2011-11-09T12:30:00 id=1320837267_30229752 map=osm x=128 y=88 z=8 prio=1 request_time=1320837267 expire= sources=MMMMMMM render_time=0 success=
2011-11-09T12:30:00 id=1320837273_30236528 map=osm x=136 y=88 z=8 prio=1 request_time=1320837273 expire= sources=M render_time=0 success=
2011-11-09T12:30:00 id=1320837273_30249256 map=osm x=136 y=80 z=8 prio=1 request_time=1320837273 expire= sources=MMMM render_time=0 success=
2011-11-09T12:30:03 id=1320837252_30588584 map=osm x=56 y=40 z=7 prio=1 request_time=1320837252 expire= sources=MMMMMMMMMM render_time=0 success=
2011-11-09T12:30:03 id=1320837253_30262784 map=osm x=128 y=80 z=8 prio=1 request_time=1320837253 expire= sources=MMMMMMMMMMMMMMMMMMMMMMMMMMMM render_time=0 success=
2011-11-09T12:30:03 id=1320837251_30609864 map=osm x=64 y=40 z=7 prio=1 request_time=1320837251 expire= sources=MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM render_time=0 success=
2011-11-09T12:30:03 id=1320837482_30432288 map=osm x=24 y=24 z=6 prio=10 request_time=1320837482 expire= sources=MMMMMMMMMM render_time=0 success=
2011-11-09T12:30:03 id=1320837482_30483432 map=osm x=32 y=24 z=6 prio=10 request_time=1320837482 expire= sources=MMMMMMMMMM render_time=0 success=
2011-11-09T12:30:04 id=1320837249_30510816 map=osm x=32 y=16 z=6 prio=2 request_time=1320837249 expire= sources=MMMMMMMMMMMMMMMMMMMMMMMMMM render_time=0 success=


==> /var/log/syslog <==

Nov  9 13:15:01 osm /USR/SBIN/CRON[3089]: (root) CMD (if [ -x /etc/munin/plugins/apt_all ]; then /etc/munin/plugins/apt_all update 7200 12 >/dev/null; elif [ -x /etc/munin/plugins/apt ]; then /etc/munin/plugins/apt update 7200 12 >/dev/null; fi)
Nov  9 13:15:01 osm /USR/SBIN/CRON[3090]: (munin) CMD (if [ -x /usr/bin/munin-cron ]; then /usr/bin/munin-cron; fi)
Nov  9 13:16:07 osm mpt-statusd: detected non-optimal RAID status
Nov  9 13:17:01 osm /USR/SBIN/CRON[3143]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Nov  9 13:17:02 osm tirex-master[30646]: Job with id=1320838459_31610272 timed out on rendering list (map=osm z=8 x=120 y=80)
Nov  9 13:17:02 osm tirex-master[30646]: Job with id=1320838477_31581504 timed out on rendering list (map=osm z=8 x=120 y=88)
Nov  9 13:17:02 osm tirex-master[30646]: Job with id=1320838477_31626904 timed out on rendering list (map=osm z=8 x=128 y=88)
Nov  9 13:17:02 osm tirex-master[30646]: Job with id=1320838459_31609264 timed out on rendering list (map=osm z=8 x=128 y=80)
Nov  9 13:20:01 osm /USR/SBIN/CRON[3167]: (root) CMD (if [ -x /etc/munin/plugins/apt_all ]; then /etc/munin/plugins/apt_all update 7200 12 >/dev/null; elif [ -x /etc/munin/plugins/apt ]; then /etc/munin/plugins/apt update 7200 12 >/dev/null; fi)
Nov  9 13:20:01 osm /USR/SBIN/CRON[3168]: (munin) CMD (if [ -x /usr/bin/munin-cron ]; then /usr/bin/munin-cron; fi)


http://xyz.de/mod_tile

NoResp200: 251
NoResp304: 401
NoResp404: 595
NoResp503: 0
NoResp5XX: 0
NoRespOther: 0
NoFreshCache: 493
NoOldCache: 68
NoFreshRender: 0
NoOldRender: 91
NoRespZoom00: 5
NoRespZoom01: 8
NoRespZoom02: 80
NoRespZoom03: 163
NoRespZoom04: 169
NoRespZoom05: 58
NoRespZoom06: 159
NoRespZoom07: 0
NoRespZoom08: 0
NoRespZoom09: 10
NoRespZoom10: 0
NoRespZoom11: 0
NoRespZoom12: 0
NoRespZoom13: 0
NoRespZoom14: 0
NoRespZoom15: 0
NoRespZoom16: 0
NoRespZoom17: 0
NoRespZoom18: 0


==> /var/log/apache2/error.log<==

[Wed Nov 09 12:20:55 2011] [notice] caught SIGTERM, shutting down
[Wed Nov 09 12:21:03 2011] [notice] Apache/2.2.16 (Debian) configured -- resuming normal operations
[Wed Nov 09 12:34:25 2011] [error] server is within MinSpareThreads of MaxClients, consider raising the MaxClients setting


==> /var/log/apache2/access.log<==

x.x.x.x - - [09/Nov/2011:13:23:10 +0100] "GET /tiles/osm/9/252/196.png HTTP/1.1" 404 520 "http://x.x.x.de/" "Mozilla/5.0 (Windows NT 6.0; rv:8.0) Gecko/20100101 Firefox/8.0"
x.x.x.x - - [09/Nov/2011:13:23:10 +0100] "GET /tiles/osm/9/250/192.png HTTP/1.1" 404 520 "http://x.x.x.de/" "Mozilla/5.0 (Windows NT 6.0; rv:8.0) Gecko/20100101 Firefox/8.0"
usw.

Vielen Dank für die Hilfe. Gruß

Christian

wenn du nur die manuell erstellten tiles bekommst, sieht so aus als ob mod_tile nicht arbeiten würde.
zeig mal die Ecke im apache2.conf

gruss
walter

Sollte mod_tile nicht funktionieren, wenn ich das Modul im Browser aufrufe und die Ausgabe sich verändert?

Ich habe die Datei tile.conf in /etc/apache2/mods-available/ angelegt mit folgendem Inhalt:


ModTileRenderdSocketName /var/lib/tirex/modtile.sock
ModTileTileDir           /var/lib/mod_tile
ModTileRequestTimeout    5

AddTileConfig            /tiles/test/ test
AddTileConfig            /tiles/example/ example
AddTileConfig            /tiles/osm/ osm
AddTileConfig            /tiles/surveillance/ surveillance

Dann habe ich /var/lib/mod_tile dahin verlinkt, wo ich die tiles von tirex erzeugen lasse.


osm@osm:~$ ls -la /var/lib/mod_tile
lrwxrwxrwx 1 root root 20  9. Nov 02:23 /var/lib/mod_tile -> /var/lib/tirex/tiles

jo, sieht eigentlich ganz gut aus.
wollte nur sicher gehen, dass du da nix übersehen hast (das mit dem link schnallt nicht jeder beim ersten mal)
im augenblick kann ich nicht schlimmes erkennen.
du bist ja sehr sparsam mit beispielen und hast nur das allernötigste rausgerückt.

ist das modul auch geladen?
mach mal “LogLevel debug” im apache2.conf an und schau, ob mod_tile sich überhaupt im log meldet. erst dann wäre ich mir sicher, dass mod_tile auch wirklich loslegt.

ne andere sache wäre, dass das mit dem socket-file eventuell nicht klappt.

musste halt durch :frowning: hab auch etwas dafür gebraucht. es war bei mir das zusammenspiel von tirex-configs und apache

gruss
walter

Hi walter,
zunächst mal danke für deine Hilfe. Eigentlich dacht ich, ich hätte alles was wichtig ist gepostet. Sag gerne Bescheid, wenn mehr Log-Dateien etc. gebraucht werden.


osm@osm:~$ ls -l /etc/apache2/mods-enabled/
lrwxrwxrwx 1 root root 27  3. Nov 22:32 tile.conf -> ../mods-available/tile.conf
lrwxrwxrwx 1 root root 27  3. Nov 22:32 tile.load -> ../mods-available/tile.load


osm@osm:~$ /usr/sbin/apache2ctl -M
[Thu Nov 10 00:31:33 2011] [notice] Loading tile config test at /tiles/test/ for zooms 0 - 18 from tile directory /var/lib/mod_tile
[Thu Nov 10 00:31:33 2011] [notice] Loading tile config example at /tiles/example/ for zooms 0 - 18 from tile directory /var/lib/mod_tile
[Thu Nov 10 00:31:33 2011] [notice] Loading tile config osm at /tiles/osm/ for zooms 0 - 18 from tile directory /var/lib/mod_tile
[Thu Nov 10 00:31:33 2011] [notice] Loading tile config surveillance at /tiles/surveillance/ for zooms 0 - 18 from tile directory /var/lib/mod_tile
[Thu Nov 10 00:31:33 2011] [notice] Loading tile config default at /osm_tiles2/ for zooms 0 - 18 from tile directory /var/lib/mod_tile
Loaded Modules:
 core_module (static)
 log_config_module (static)
 logio_module (static)
 mpm_worker_module (static)
 http_module (static)
 so_module (static)
 alias_module (shared)
 auth_basic_module (shared)
 authn_file_module (shared)
 authz_default_module (shared)
 authz_groupfile_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 cgid_module (shared)
 deflate_module (shared)
 dir_module (shared)
 env_module (shared)
 mime_module (shared)
 negotiation_module (shared)
 reqtimeout_module (shared)
 setenvif_module (shared)
 status_module (shared)
 tile_module (shared)
Syntax OK


osm@osm:~$ sudo tail -f /var/log/apache2/error.log

[Thu Nov 10 00:17:41 2011] [notice] caught SIGTERM, shutting down
[Thu Nov 10 00:17:42 2011] [notice] Apache/2.2.16 (Debian) configured -- resuming normal operations
[Thu Nov 10 00:17:42 2011] [info] Server built: Sep 29 2011 20:59:07
[Thu Nov 10 00:17:42 2011] [debug] worker.c(1757): AcceptMutex: sysvsem (default: sysvsem)
[Thu Nov 10 00:18:08 2011] [notice] SIGUSR1 received.  Doing graceful restart
[Thu Nov 10 00:18:08 2011] [notice] Loading tile config test at /tiles/test/ for zooms 0 - 18 from tile directory /var/lib/mod_tile
[Thu Nov 10 00:18:08 2011] [notice] Loading tile config example at /tiles/example/ for zooms 0 - 18 from tile directory /var/lib/mod_tile
[Thu Nov 10 00:18:08 2011] [notice] Loading tile config osm at /tiles/osm/ for zooms 0 - 18 from tile directory /var/lib/mod_tile
[Thu Nov 10 00:18:08 2011] [notice] Loading tile config surveillance at /tiles/surveillance/ for zooms 0 - 18 from tile directory /var/lib/mod_tile
[Thu Nov 10 00:18:08 2011] [notice] Loading tile config default at /osm_tiles2/ for zooms 0 - 18 from tile directory /var/lib/mod_tile
[Thu Nov 10 00:18:08 2011] [notice] Apache/2.2.16 (Debian) configured -- resuming normal operations
[Thu Nov 10 00:18:08 2011] [info] Server built: Sep 29 2011 20:59:07
[Thu Nov 10 00:18:08 2011] [debug] worker.c(1757): AcceptMutex: sysvsem (default: sysvsem)

a) Kann man das auch irgendwie debuggen?

b) Könnte der Fehler eventuell durch Tirex verursacht werden? Im Howto wurde die Abhängigkeit libboost-program-options1.34.1 installiert (Debian 5). Ich habe libboost-program-options1.42.0 eine neuere Version unter Debian 6.

c) Ebenfalls macht mich Mapnik stutzig. Wenn ich das Render-Skript ausführe, dann bekomme ich diese Fehlermeldung.


osm@osm:~/mapnik-0.7.1$ render --file world
rendering bbox (-180, -85, 180, 85) in style /usr/share/osm-mapnik/osm.xml to file world which is of type png in size 800x600

PostGIS: SRID warning, using srid=-1
Traceback (most recent call last):
  File "/usr/local/bin/render", line 205, in <module>
    main()
  File "/usr/local/bin/render", line 93, in main
    mapnik.load_map(m, style)
RuntimeError: PSQL error:
FEHLER:  Relation »planet_osm_polygon« existiert nicht
LINE 4:        from planet_osm_polygon
                    ^
Full sql was: 'select * from
      (select way,aeroway,amenity,landuse,leisure,man_made,military,"natural",power,tourism,name,highway,
       case when religion in ('christian','jewish') then religion else 'INT-generic'::text end as religion
       from planet_osm_polygon
       where landuse is not null
          or leisure is not null
          or aeroway in ('apron','aerodrome')
          or amenity in ('parking','university','college','school','hospital','kindergarten','grave_yard')
          or military in ('barracks','danger_area')
          or "natural" in ('field','beach','desert','heath','mud','wood','sand','scrub')
          or power in ('station','sub_station','generator')
          or tourism in ('attraction','camp_site','caravan_site','picnic_site','zoo')
          or highway in ('services','rest_area')
       order by z_order,way_area desc
      ) as leisure
       limit 0'
 (encountered during parsing of layer 'landcover')

Bei mir heißt in PostGIS die Tabelle planet_polygon. Alle anderen haben ebenfall nicht osm im Namen.

das merkwürdige ist eben, dass unter debian 32-bit alles problemlos geklappt hat und jetzt unter 64-bit nicht. sind dir eventuell besonderheiten bekannt, die man bei 64-bit beachten muss? nutzt du eventuell selbst einen osm-server unter 64-bit?

Gruß
Christian

ok, mod_tile ist da und startet.

a) Kann man das auch irgendwie debuggen?
nicht dass ich wüsste.
mal tirex-master und tirex-backend-manager mit “-d” starten; dann bleiben die im vordergrund.

ich hab die 1.46.1 im einsatz

hat nichts mit dem Problem zu tun, dass das rendern über mod_tile nicht geht. das würde ich seperat angehen. aber wenn deine tabellen anders heissen, musst du halt deine schema-files anpassen.
das wird wohl hier definiert:

settings.xml.inc.template und darin am ende prefix

ich nutze nicht die mit osm2pgsql sondern mit osmosis erzeugte db im snapshot-schema. daher heissen bei mir die tabellen eh anders.
aber der Prefix ist genau die Schraube an der du drehen musst.

bei mir rennt das unter ubuntu 11.10 / 64bit

gruss
walter

anscheinend wurde mapnik beim letzten update aktualisiert und daher auch die settings.xml.inc, fontset-settings.xml.inc und datasource-settings.xml.inc überschrieben

tirex-backend-manager startet nicht ordnungsgemäß und taucht nicht in den prozessen auf.


osm@osm:~$ tirex-backend-manager --debug
tirex-backend-manager[14166]: tirex-backend-manager started with cmd line options: --debug
tirex-backend-manager[14166]: Config bucket=[{maxload=20 maxproc=4 minprio=1 name=live},{maxload=8 maxproc=3 minprio=10 name=important},{maxload=4 maxproc=2 minprio=20 name=background}]
tirex-backend-manager[14166]: Can't open pidfile '/var/run/tirex/tirex-backend-manager.pid' for writing: Keine Berechtigung
tirex-backend-manager[14166]: Found config for renderers: mapnik test
tirex-backend-manager[14166]: opened port 9331 for renderer 'mapnik'
tirex-backend-manager[14166]: opened port 9330 for renderer 'test'
tirex-backend-manager[14166]: renderer mapnik started with pid 14168
tirex-backend-manager[14166]: renderer mapnik started with pid 14169
tirex-backend-manager[14166]: renderer mapnik started with pid 14170
tirex-backend-manager[14166]: renderer test started with pid 14171
tirex-backend-manager[14166]: renderer test started with pid 14172
tirex-backend-test[14171]: Renderer started (name=test)
tirex-backend-test[14171]: map config found: Map test: renderer=test tiledir=/var/lib/tirex/tiles/test zoom=0-10 sleep=0
tirex-backend-test[14171]: using existing socket 6
tirex-backend-test[14172]: Renderer started (name=test)
tirex-backend-test[14172]: map config found: Map test: renderer=test tiledir=/var/lib/tirex/tiles/test zoom=0-10 sleep=0
tirex-backend-test[14172]: using existing socket 6
tirex-backend-mapnik[14169]: Renderer started (name=mapnik)
tirex-backend-mapnik[14168]: Renderer started (name=mapnik)
tirex-backend-mapnik[14170]: Renderer started (name=mapnik)

Teilweise komme ich bis auf Zoomstufe 9 wie Irland und GB oder 11 in Deutschland (Koblenz).

Gruß
Christian

Ich bin jetzt von Tirex zu mod_tile/Renderd umgestiegen und es scheint wohl alles zu funktionieren.
Die Berechnung der Kacheln dauert sehr lange, wie würdet ihr das beurteilen bzw. woran liegt das?

Nov 16 23:24:17 osm renderd[8237]: DEBUG: DONE TILE default 6 24-31 16-23
Nov 16 23:24:17 osm renderd[8237]: DEBUG: DONE TILE default 6 24-31 16-23 in 4191.478 seconds
Nov 17 04:54:18 osm renderd[8237]: DEBUG: DONE TILE default 10 528-535 352-359
Nov 17 04:54:18 osm renderd[8237]: DEBUG: DONE TILE default 10 528-535 352-359 in 23835.356 seconds
Nov 17 05:01:58 osm renderd[8237]: DEBUG: DONE TILE default 7 56-63 40-47
Nov 17 05:01:58 osm renderd[8237]: DEBUG: DONE TILE default 7 56-63 40-47 in 18617.803 seconds
Nov 17 05:18:45 osm renderd[8237]: DEBUG: DONE TILE default 7 56-63 32-39
Nov 17 05:18:45 osm renderd[8237]: DEBUG: DONE TILE default 7 56-63 32-39 in 1465.579 seconds
Nov 17 05:32:08 osm renderd[8237]: DEBUG: DONE TILE default 7 56-63 48-55
Nov 17 05:32:08 osm renderd[8237]: DEBUG: DONE TILE default 7 56-63 48-55 in 1809.016 seconds
Nov 17 05:38:59 osm renderd[8237]: DEBUG: DONE TILE default 7 64-71 32-39
Nov 17 05:38:59 osm renderd[8237]: DEBUG: DONE TILE default 7 64-71 32-39 in 18667.911 seconds
Nov 17 05:44:44 osm renderd[8237]: DEBUG: DONE TILE default 7 64-71 40-47
Nov 17 05:44:45 osm renderd[8237]: DEBUG: DONE TILE default 7 64-71 40-47 in 21184.779 seconds
Nov 17 13:47:22 osm renderd[8237]: DEBUG: DONE TILE default 9 272-279 168-175
Nov 17 13:47:22 osm renderd[8237]: DEBUG: DONE TILE default 9 272-279 168-175 in 11664.584 seconds