Ubuntupaket für lokalen Tileserver

Sind die Hinweise auf fehlende Tabellen ok?


osm2pgsql SVN version 0.80.0 (32bit id space)

Using projection SRS 900913 (Spherical Mercator)
Setting up table: planet_osm_point
HINWEIS:  Tabelle »planet_osm_point« existiert nicht, wird übersprungen
HINWEIS:  Tabelle »planet_osm_point_tmp« existiert nicht, wird übersprungen
Setting up table: planet_osm_line
HINWEIS:  Tabelle »planet_osm_line« existiert nicht, wird übersprungen
HINWEIS:  Tabelle »planet_osm_line_tmp« existiert nicht, wird übersprungen
Setting up table: planet_osm_polygon
HINWEIS:  Tabelle »planet_osm_polygon« existiert nicht, wird übersprungen
HINWEIS:  Tabelle »planet_osm_polygon_tmp« existiert nicht, wird übersprungen
Setting up table: planet_osm_roads
HINWEIS:  Tabelle »planet_osm_roads« existiert nicht, wird übersprungen
HINWEIS:  Tabelle »planet_osm_roads_tmp« existiert nicht, wird übersprungen

Ich hab bei dem DB-User “chris” eingegeben statt des web-users.


Reading in file: nordrhein-westfalen.osm.pbf
Processing: Node(11200k 42.7k/s) Way(0k 0.00k/s) Relation(0 0.00/s)Getötet

Hmmm, woran ist der jetzt gestorben?

Sind 2 GB Ram überhaupt genug? :wink:

Ja, das ist normal.

Im Prinzip ist das korrekt, aber man benoetigt sowohl “chris” (fuer den osm2pgsql import) als auch “www-data”, da renderd unter dem Benutzer www-data laeuft und sonst keinen Zugriff auf die Datenbank fuers Rendering hat. Man kann auch noch weitere Benutzer eintragen wenn man die Datenbank fuer andere Zwecke verwenden will.

Die Liste der Namen ist durch ein einfaches Leerzeichen zu trennen.

Ist das ein 32 bit System?

Ich frage mich ob es etwas mit der kuerzlichen Aenderung des Speicherreservierens fuer Nodes zu tun hat ( http://trac.openstreetmap.org/changeset/26665/applications/utils/export/osm2pgsql )

Vielleicht hilft es den Parameter “–alloc-chunk” zu setzen um es rueckgaengig zu machen. Wieviel Node Cache wurde verwendet? Hilft es den zu verringern?

64 bit.
Ja, ich denke es liegt am Speicher. Laut top krallt sich osm2pgsql die 2GB und darüber hinaus Swap, bis er stirbt.
-C habe ich mal ohne Erfolg auf 700 runter gesetzt.
Edit: --alloc-chunk hat auch nicht geholfen

Nur um sicherzustellen, wird der Slim mode verwendet? “–slim” Falls nicht, habe die verschiedenen Parameter keinen Einfluss da die komplette Datei im Ram vorgehalten wird.

Wollte es mal neu installieren, beim sudo apt-get remove kommt Fehler:


Die folgenden Pakete werden ENTFERNT:
  libapache2-mod-tile
0 aktualisiert, 0 neu installiert, 1 zu entfernen und 0 nicht aktualisiert.
Nach dieser Operation werden 168 kB Plattenplatz freigegeben.
Möchten Sie fortfahren [J/n]? j
(Lese Datenbank ... 142632 Dateien und Verzeichnisse sind derzeit installiert.)
Entfernen von libapache2-mod-tile ...
Syntax error on line 20 of /etc/apache2/sites-enabled/tileserver_site:
Invalid command 'LoadTileConfigFile', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.
The Apache error log may have more information.
   ...fail!
invoke-rc.d: initscript apache2, action "restart" failed.
dpkg: Fehler beim Bearbeiten von libapache2-mod-tile (--remove):
 Unterprozess installiertes pre-removal-Skript gab den Fehlerwert 1 zurück
Fehler traten auf beim Bearbeiten von:
 libapache2-mod-tile
E: Sub-process /usr/bin/dpkg returned an error code (1)

Edit: --slim sieht gut aus

Es funktioniert! Ubuntu 64 Bit und er zeigt mir erste Kacheln an!
Was jetzt noch schön wäre, wenn wir das irgendwie dokumentieren können, wo welche Konfigdateien abgelegt sind, damit man zum Beispiel den Style von Mapnik ändern kann oder anderweitig auf die Datenbank zugreifen kann. Aber ersteinmal vielen vielen Dank!

Welche Schritte waren nötig?


sudo add-apt-repository ppa:kakrueger/openstreetmap
sudo apt-get update
sudo apt-get install libapache2-mod-tile
wget http://download.geofabrik.de/osm/europe/germany/berlin.osm.pbf
osm2pgsql berlin.osm.pbf
sudo /etc/init.d/renderd restart

Anschließend meldet sich der Server brav unter: http://localhost/osm/0/0/0.png

Achtung!
Bei der Konfiguration während der Installation unbedingt bei Usernamen der Zugriff auf die Datenbank haben soll nur den eigenen User ergänzen und den Vorgabewert nicht löschen. Der Nutzer www-data wird zum rendern gebraucht. Alle anderen Defaultparameter kann man so übernehmen, wie sie da stehen.
Beim einlesen mit osm2pgsql darauf achten, das man genügend Hauptspeicher zur Verfügung hat. Das einlesen von Berlin kostet etwas über 2GB bei größeren Ländern wird es entsprechend mehr. Sollte der Hauptspeicher nicht ausreichen, dann osm2pgsql wie folgt aufrufen: osm2pgsql --slim - C XXXX berlin.osm.pbf
Wobei die XXXX die MB Hauptspeicher sind, welche osm2pgsql benutzen kann. Je weniger Hauptspeicher ihr zur Verfügung stellt, desto länger dauert der import, da jetzt die Datenbank als Zwischenspeicher bemüht werden muss.

Für WindowsNutzer sei an dieser Stelle erwähnt, dass es neben der Möglichkeit Mapnik und Co unter Windows zu installieren auch die Möglichkeit gibt, dies in eine virtuelle Maschiene auszulagern.
Dafür einfach unter https://www.virtualbox.org/wiki/Downloads die entsprechende Version auswählen und installieren. Während der Installation werdet ihr gefragt ob ihr unsignierte Hardwaretriber installieren möchtet. Dies unbedingt bestätigen, da sonst keine Netzwerkverbindung eingerichtet werden. Diese sind aber nötig um aus dem Internet die Pakete herunterzuladen.
Danach einfach noch die ISO Datei von linux herunterladen: http://www.ubuntu.com/download/ubuntu/download
Entsprechend Eurer Bedürfnisse die 32 oder 64 Bit Version.
Dann legt ihr eine neue virtuelle Maschiene an. Wählt am besten das richtige Betriebssystem und legt eine neue Festplatte an. Achtet darauf, dass genug Speicher vorhanden ist. Meit einlesen und installieren verbraucht meine Festplatte für das Berlinbeispiel jetzt knapp 10GB. Wenn ihr jedoch ersteinmal anfangt zu rendern, wird sicher weit mehr Platz benötigt.
Nachdem ihr alles eingerichtet habt unbedingt noch mal die Einstellung ändern! Sucht euch den Menüpunkt Massenspeicher und klickt auf das CD Symbol. Dort müsst ihr noch euer frisch heruntergeladenes Linuyimage einbinden, damit ihr nicht erst die CD brennen müsst. Eventuell wollt ihr auch noch mehr Ressourcen zur Verfügung stellen. Sprich Grafikspeicher und Ram. Danach könnt ihr die Maschiene starten und loslegen. Die Installation ist auf deutsch und eigentlich selbsterklärend.

Eine Verbindung vom Windows zum Server habe ich aber bisher noch nicht herstellen können. Sind hier eventuell noch Rechte im Linux zu setzen, damit man von außen auf den Server zugreifen kann?

Soweit ich mich erinnere ist deine VM vom Host-System aus nicht mehr localhost. Die IP-Addresse findest du entweder über den Netzwerkmanager, oder über den Kommandozeilenparameter “ifconfig -a”.
Dann müsste das eigentlich funktionieren.

Viel Erfolg!

Sehr schoen.

Was hast Du jetzt geaendert im Gegensatz zu gestern Abend, als es noch nicht funktionierte?

Bei mir geht es nicht, hab allerdings auch Debian 6 (squeeze).

Sind die Grenzen und Kuestenlinien notwendig (zu viel zum Downloaden, brauch eh nur Bayern)
oder geht es auch ganz ohne oder mit “Fake-boundaries”?

Merci.

Ciao,
Frank

Ok, das Einlesen der nrw.pbf hat geklappt (Dauer ca. 2,5h), allerdings ist das Modul durch meinen gescheiterten Neuinstallationsversuch anscheinend kaputt.


sudo /etc/init.d/apache2 restart
[sudo] password for chris: 
Syntax error on line 20 of /etc/apache2/sites-enabled/tileserver_site:
Invalid command 'LoadTileConfigFile', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.
The Apache error log may have more information.
   ...fail!

Chris’ Fehler hat’ ich gestern abend auch, hab’ dann ein
tile.load → …/mods-available/tile.load
unter /etc/apache2/mods-enabled reingefriemelt. Danach startet der Apache wieder.

Kacheln seh’ ich trotzdem keine :frowning:

Ciao,
Frank

Was ich geändert habe? Eigentlich nur eins. Nähmlich bei der Konfiguration den User www-data stehen lassen und den eigenen nach einem Leerzeichen ergänzen. Ersetzt man www-data dann kann man zwar importieren bekommt aber keine Kacheln. lässt man www-data stehen kann man nicht importieren.
Beid er grafischen Installation steht es auch in der Hilfe. Ich habe natürlich die Küstenlinien runtergeladen, auch wenn ich nur Berlin importiert habe. Ob es ohne genauso geht werde ich mal testen.

Ok, mit dem Link kann ich apache2 auch restarten. Nun wollte ich noch den User www-data hinzufügen.
Problem 1 : es muss --no-createdb heißen (nicht --no-create-db)
Problem 2 :


(
>         echo "GRANT ALL on geometry_columns TO www-data;"
>         echo "GRANT ALL ON SCHEMA PUBLIC TO www-data;"
>         echo "GRANT ALL on spatial_ref_sys TO www-data;"
>         )| sudo -u postgres psql -Upostgres gis
FEHLER:  Syntaxfehler bei »-«
ZEILE 1: GRANT ALL on geometry_columns TO www-data;
                                             ^
FEHLER:  Syntaxfehler bei »-«
ZEILE 1: GRANT ALL ON SCHEMA PUBLIC TO www-data;
                                          ^
FEHLER:  Syntaxfehler bei »-«
ZEILE 1: GRANT ALL on spatial_ref_sys TO www-data;

Ja dies hatte ich auch schon vermutet, auch habe ich von Nat auf Netzwerkbrücke umgestellt, aber dennoch erreiche ich keinen. Ein Ping ist aber erfolgreich. Ich vermute ja das liegt an Windows7. Er erkennt das Netzwerk nämlich nicht.
Edit:

Er meldet sich doch! aber nicht unter der IP die man im Windows lesen kann, sondern eben unter der welche er selbst vom dhcp erhalten hat! Also schaut man unter Linux in den Verbindungsinformationen nach und siehe da es geht!

Und wenn du den User in ’ einschließt?
Ich gebe ja zu in der virtualbox ist die Sache einfacher. Da wird einfach ein neues Linux installiert und fertig.

yep, man kann auch ein
"www-data"
verwenden, dann klappt es mit den “Bindestrich-user”

Mit dem verwendeten style sheet sind die Kuestenlinien notwending. Wenn man sie nicht hat startet Mapnik nicht. Wahrscheinlich koennte man den Kuesten layer aber relativ leicht aus dem Stylesheet herausnehmen. Mit den Stylesheets kenne ich mich aber nicht so aus.

Wenn man im ersten Versuch alles richtig macht, muss man sich hoffentlich damit nicht herum schlagen. Allerdings ist es noch zu leicht einen Fehler zu machen und dann ist es sehr schwer diesen zu korrigieren. Das muss noch verbessert werden. Vielleicht helfen da ein paar extra Scripts mit denen man noch nachtraeglich Sachen korrigieren kann.

Kann mir jemand erklären, wie ich ein zweiten Style parallel einrichten kann?
Das rendern funktioniert jetzt schon zu meiner vollsten Zufriedenheit. Nachdem ich die IPadresse festgelegt habe, habe ich mir den OSMviewer von Ajoessen http://wiki.openstreetmap.org/wiki/User:Ajoessen/Osmviewer_und_GPXviewer runtergeladen und angepasst. Der läuft unter Windows wie Linux gleichermaßen gut. Nur gibt es derzeit eben nur den einen Mapnikgrundlayer und keine Overlays.

Also mit allen shpfiles, habe ich auch in Bayern die Wohngebiete in den höheren Zoomstufen angezeigt bekommen obwohl dafür keine Daten vorliegen. Erst ab zoom 10-11 ist dann nur noch der Farbton der Landmasse vorhanden.

Mit welchem Passwort und User kann ich auf die Datenbank zugreifen?
Im Terminal ist das kein Problem. Dort gebe ich unter meinem Benutzernamen einfach psql gis ein und bin in der Datenbank.
Aber pgadminIII weigert sich mit den Daten localhost und Benutzernamen ohne Passwort den Server zu kontaktieren. Mein eigenes Passwort wiederum lehnt er ab.