DE:Ubuntu tile server

From OpenStreetMap Wiki
Jump to: navigation, search
Verfügbare Sprachen — Ubuntu tile server
· Afrikaans · Alemannisch · aragonés · asturianu · azərbaycanca · Bahasa Indonesia · Bahasa Melayu · Bân-lâm-gú · Basa Jawa · Baso Minangkabau · bosanski · brezhoneg · català · čeština · dansk · Deutsch · eesti · English · español · Esperanto · estremeñu · euskara · français · Frysk · Gaeilge · Gàidhlig · galego · Hausa · hrvatski · Igbo · interlingua · Interlingue · isiXhosa · isiZulu · íslenska · italiano · Kiswahili · Kreyòl ayisyen · kréyòl gwadloupéyen · Kurdî · latviešu · Lëtzebuergesch · lietuvių · magyar · Malagasy · Malti · Nederlands · Nedersaksies · norsk bokmål · norsk nynorsk · occitan · Oromoo · oʻzbekcha/ўзбекча · Plattdüütsch · polski · português · português do Brasil · română · shqip · slovenčina · slovenščina · Soomaaliga · suomi · svenska · Tiếng Việt · Türkçe · Vahcuengh · vèneto · Wolof · Yorùbá · Zazaki · српски / srpski · беларуская · български · қазақша · македонски · монгол · русский · тоҷикӣ · українська · Ελληνικά · Հայերեն · ქართული · नेपाली · मराठी · हिन्दी · অসমীয়া · বাংলা · ਪੰਜਾਬੀ · ગુજરાતી · ଓଡ଼ିଆ · தமிழ் · తెలుగు · ಕನ್ನಡ · മലയാളം · සිංහල · ไทย · မြန်မာဘာသာ · ລາວ · ភាសាខ្មែរ · ⵜⴰⵎⴰⵣⵉⵖⵜ · አማርኛ · 한국어 · 日本語 · 中文(简体)‎ · 吴语 · 粵語 · 中文(繁體)‎ · ייִדיש · עברית · اردو · العربية · پښتو · سنڌي · فارسی · ދިވެހިބަސް

Ubuntu Tile Server von Kai Krüger

Einleitung

Die erste Version der Ubuntu tile-server Pakete ist nun fertig. Vorausgesetzt man hat Ubuntu 11.04 (Natty, 64 bit empfohlen) sollten die folgenden 6 Befehle zu einem lauffaehigen Tile-Server führen. Die Befehle müssen im Terminal eingegeben werden. Dieses findet ihr unter Zubehör im Ersten Menü. Alternativ, kann man die ersten drei Schritte auch in der grafischen Umgebung machen.

Installation

Zuerst python-software-properties installieren:

sudo apt-get install python-software-properties

Neue Paketquelle hinzufügen:

sudo add-apt-repository ppa:kakrueger/openstreetmap

Die lokalen Paketlisten aktualisieren:

sudo apt-get update

Das Paket libapache2-mod-tile installieren und konfigurieren. Bei der Konfiguration können die Standardwerte benutzt werden. Nur bei dem Benutzernamen für den Datenbankuser unbedingt mit einem Leerzeichen getrennt den eigenen Benutzernamen hinter "www-data" ergänzen!

sudo apt-get install unzip libapache2-mod-tile

OSM-Daten herunterladen

wget http://download.geofabrik.de/openstreetmap/europe/germany/rheinland-pfalz.osm.pbf

Die Daten in die Datenbank schieben. --slim muss verwendet werden wenn man später die Daten der Datenbank updaten möchte und die Daten nicht immer neu einlesen möchte. -C 1500 muss verwendet werden, wenn nicht genügend RAM Speicher zur Verfügung steht. Diese option ist aber nur zusammen mit --slim wirksam. Der Import von Berlin braucht ca. 2 GB größere Regionen brauchen entsprechend mehr. Die Zahl hinter -C gibt die Größe des RAMs an, welche durch diesen Job belegt werden kann.

osm2pgsql --slim -C 1500 rheinland-pfalz.osm.pbf

Wichtig: je nach Grösse des Extraktes das importiert wird und der Leistungsfähigkeit des Computers, kann diese Vorgang bis zu mehreren Tagen dauern!


Den Renderjob neustarten

sudo /etc/init.d/renderd restart

Wenn alles glatt gelaufen ist, sollte man darauf hin seinen tile-server haben, von dem man unter http://localhost/osm/0/0/0.png Kacheln gerendert bekommt.

Fehlersuche

Es kann immer mal Sachen schief gehen und dann heisst es Fehler suche. Hier sind ein paar der haeufig auftretenden Probleme und deren Loesung beschrieben:

Zugriff verweigert fuer osm2pgsql

Connection to database Failed: FATAL: Ident authentication failed for user "xyz"

Wenn man aus versehen vergessen hat seinen eigenen Benutzer waerend der Konfiguration in die Frage nach den berechtigten Benutzer vergessen hat einzutragen, schlaegt der Import mit osm2pgsql vermutlich schief. Es gibt Zwei Moeglichkeiten dies zu beheben:

Entweder man reconfiguiert das Packet um den User hinzuzufuegen:

 sudo dpkg-reconfigure openstreetmap-postgis-db-setup

Oder man fuegt manuell einen weiteren Benutzer hinzu (in diesem Beispiel user xyz in die Datenbank gis):

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

keine Tiles bei Zugriff von anderem Rechner

öffnet man die /osm/slippymap.html von einem anderen Rechner bekommt man keine Tiles angezeigt.

Damit es funktioniert einfach in der /var/www/osm/slippymap.html nach localhost suchen und durch die ip des Servers ersetzen

Zugriff auf die Postgresdatenbank von anderem Rechner

Damit dies möglich wird, sind zwei Konfigurationsdateien von Postgresql zu anzupassen. Zum einen pg_hba.conf und postgresql.conf.
In der ersten Datei ist eine neue Zeile einzutragen, welche IP Adressen und Nutzer nach welcher Methode auf den Server zugreifen dürfen. Und in der postgresql.conf muss beim Parameter listen_addresses die entsprechenden Einstellungen vorgenommen werden. Schön erklärt ist das alles hier

Häufig gestellte Fragen

Wo im Filesystem liegen die ganzen Sachen (DB / Tiles, etc.) ?

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/sites-available/tileserver_site
Die scripts liegen unter /usr/bin
Die Datenbankkonfiguration liegt in /etc/postgresql/X.X/main
wobei X.X für die jeweilige Version steht also zum Beispiel 9.1
Die osm2pgsql Konfiguration und state.txt ist in /var/lib/mod_tile/.osmosis

Hardware

Für einen Live-Server mit komplett Welt-Abdeckung wird ein Server mit 8 CPU-Kernen und mindestens 48 GB RAM empfohlen.

Links

http://forum.openstreetmap.org/viewtopic.php?id=13983

http://wiki.openstreetmap.org/wiki/Mapnik/PostGIS#Tuning_the_database

http://www.geofabrik.de/media/2010-07-10-rendering-toolchain-performance.pdf