You are not logged in.
- Topics: Active | Unanswered
Announcement
Pages: 1
#1 2013-03-28 11:30:47
- !i!
- Member

- Registered: 2009-11-28
- Posts: 3,313
- Website
Login lokale PostGIS (RenderingStack)
Hi,
ich habe mir mal den Ubuntu Renderingstack lokal installiert und der funktioniert auch wunderbar mit dem Apache.
Allerdings wollte ich auch große Bilder hiermit erzeugen:
http://svn.openstreetmap.org/applicatio … e_image.py
Ich habe also wie folgt das aufgerufen:
export MAPNIK_MAP_FILE=/etc/mapnik-osm-data/osm.xml
python generate_image.pyDa bekomme ich aber leider nur eine Fehlermeldung:
FATAL: Peer authentication failed for user "www-data" (encountered during parsing of layer 'landcover' in map '/etc/mapnik-osm-data/osm.xml')
Hat da jemand einen Tipp? Passen da Sachen nicht zusammen?
Ich wollte mich auch mit pgAdmin mal in der lokalen DB umsehen, musste dabei jedoch feststellen, dass ich dort einfach nicht rein komme, obwohl ich beim Setup auch meinem Nutzer die Rechte an der DB gegeben hatte ![]()
privater Account von KVLA-HRO-Mei
Offline
#2 2013-03-28 11:45:14
- wambacher
- Member

- From: Schlangenbad/Wambach, Germany
- Registered: 2009-12-16
- Posts: 16,769
- Website
Re: Login lokale PostGIS (RenderingStack)
Da bekomme ich aber leider nur eine Fehlermeldung:
FATAL: Peer authentication failed for user "www-data" (encountered during parsing of layer 'landcover' in map '/etc/mapnik-osm-data/osm.xml')
Hat da jemand einen Tipp? Passen da Sachen nicht zusammen?
www-data ist doch eigentlich für den webserver da. mit dieser userid kann apache die web-seiten lesen. damit dürfte der Zugriff auf die datenbak natürlich nicht möglich sein (ist auch nicht sinnvoll). Check mal username und password für die db in osm.xml
gruss
walter
Offline
#3 2013-03-28 11:49:22
- maxbe
- Member
- Registered: 2010-01-19
- Posts: 3,255
- Website
Re: Login lokale PostGIS (RenderingStack)
Wenn Du noch als User "postgres" damit arbeiten kannst, kannst Du die Rechte mit
GRANT SELECT, INSERT, UPDATE, DELETE ON "public"."tabelle" TO "benutzername";(oder halt entsprechend weniger)
Häufiger darf man sich nicht anmelden, weil die Rechte in "/etc/postgresql/ Versionsnummer /main/pg_hba.conf" nicht passen: Da steht bei mir z.B.
# Database administrative login by UNIX sockets
local all postgres ident
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5Was so viel heisst wie "Der Herr postgres darf ohne Passwort rein, wenn er am Server angemeldet ist. Alle anderen mit Passwort".
Offline
#4 2013-03-28 18:17:17
- !i!
- Member

- Registered: 2009-11-28
- Posts: 3,313
- Website
Re: Login lokale PostGIS (RenderingStack)
Danke für eure Hinweise. Vielleicht bin ich ja auch einfach zu unerfahren damit.
Habe mal den Nutzer "gis" als Nutzer eingetragen, der sollte ja im Stack als default genutzt werden?
Leider bekomme ich nun:
python generate_image.pyTraceback (most recent call last):
File "generate_image.py", line 42, in <module>
mapnik.load_map(m,mapfile)
RuntimeError: Could not create datasource. No plugin found for type 'gis' (searched in: /usr/lib/mapnik/2.0/input) (encountered during parsing of layer 'landcover' in map '/etc/mapnik-osm-data/osm.xml')Leider ist mir noch nicht klar, wie ich mich mit dem pgadmin in die DB einklinken kann. Vermutlich ist der gis Nutzer ja ohne Passwort ausgestattet? Genau das mag der DB Client aber nicht und meine pg_hba.conf ist genau wie deine. *grübel*
privater Account von KVLA-HRO-Mei
Offline
#5 2013-03-28 20:23:13
- maxbe
- Member
- Registered: 2010-01-19
- Posts: 3,255
- Website
Re: Login lokale PostGIS (RenderingStack)
Zum Tileserver kann ich nichts sagen. aber vielleicht dazu:
Leider ist mir noch nicht klar, wie ich mich mit dem pgadmin in die DB einklinken kann. Vermutlich ist der gis Nutzer ja ohne Passwort ausgestattet?
Als User postgres:
postgres@server:~$ psql
postgres=# CREATE USER verwalter WITH PASSWORD '123456';
CREATE ROLE
postgres=# GRANT ALL ON DATABASE deindatenbankname TO verwalter;
GRANTDamit hast Du einen User "verwalter" mit Passwort 123456, der deine Datenbank verwalten darf. Hilft vielleicht, sich mit pgadmin mal anzusehen, welche User und Datenbanken da rumliegen...
Offline
#6 2013-03-28 22:50:33
- derstefan
- Member

- From: OpenTopoMap
- Registered: 2010-03-28
- Posts: 504
- Website
Re: Login lokale PostGIS (RenderingStack)
Sicher, dass der Benutzer "gis" heißt? Normalerweise lautet der Datenbankname "gis" und der Benutzer anders. Als welcher Benutzer wird denn das Ubuntu-Dingens ausgeführt? (Einfach mal was rendern und z.B. mit htop den Prozess suchen.)
Dann versuche dich als dieser Benutzer ("sudo -u username -i") mit "psql gis" bei der Datenbank anzumelden. Mal drinnen mit "\d" nach Tabellen gucken und "\q" zum verlassen.
Last edited by derstefan (2013-03-28 22:51:10)
Offline
#7 2013-04-16 14:10:25
- !i!
- Member

- Registered: 2009-11-28
- Posts: 3,313
- Website
Re: Login lokale PostGIS (RenderingStack)
Ich habe es nun auch mit pgadmin hinbekommen, man muss einfach ganz hart die Standartwerte drin lassen (kein Nutzer, kein Passwort), dann kann man sich als normaler Nutzer auch mit der lokalen DB verbinden.
Mein eigentliches Problem mit dem Skript besteht aber immernoch. Es findet kein Plugin für die GIS DB. Komisch, da der RenderD im Hintergrund ja fröhlich mit dem Setup vor sich hin läuft ![]()
Last edited by !i! (2013-04-16 14:23:22)
privater Account von KVLA-HRO-Mei
Offline
#8 2013-04-16 14:34:20
- wambacher
- Member

- From: Schlangenbad/Wambach, Germany
- Registered: 2009-12-16
- Posts: 16,769
- Website
Re: Login lokale PostGIS (RenderingStack)
Mein eigentliches Problem mit dem Skript besteht aber immernoch. Es findet kein Plugin für die GIS DB. Komisch, da der RenderD im Hintergrund ja fröhlich mit dem Setup vor sich hin läuft
wenn das dein Problem von hier sein sollte: Type ist nicht der User und muß postgis sein. maximal user, dbname und password ändern. Type definiert den Treiber, den die Software verwenden soll.
inc/datasource-settings.xml.inc
<!--
Settings for your postgres setup.
Note: feel free to leave password, host, port, or use blank
-->
<Parameter name="type">postgis</Parameter> <----------------------
<Parameter name="password">%(password)s</Parameter>
<Parameter name="host">localhost</Parameter>
<Parameter name="port">5432</Parameter>
<Parameter name="user">osmuser</Parameter>
<Parameter name="dbname">osmdb</Parameter>
<!-- this should be 'false' if you are manually providing the 'extent' -->
<Parameter name="estimate_extent">'false'</Parameter>
<!-- manually provided extent in epsg 900913 for whole globe -->
<!-- providing this speeds up Mapnik database queries -->
<Parameter name="extent">-20037508,-20037508,20037508,20037508</Parameter>Gruß
walter
Last edited by wambacher (2013-04-16 14:39:50)
Offline
#9 2013-04-16 16:08:15
- amm
- Member
- Registered: 2009-09-20
- Posts: 618
- Website
Re: Login lokale PostGIS (RenderingStack)
Wie wambacher beschrieben hat, enthaelt die Datei inc/datasource-settings.xml.inc einige wichtige Parameter fuer die Verbindung zu Postgresql. Unter anderem auch den username. Falls du die PPA packete von switch2osm.org verwendest, dann ist dort der username default maessig auf "www-data" gesetzt, da renderd unter dem namen laeuft.
Die standard Authentifizierung die in Ubuntu fuer postgresql aktiviert ist, ist das Postgresql dem lokalen Betriebsystem vertraut den lokalen Benutzer bereits authentifiziert zu haben. Demzufolge braucht man dann kein Passwort, wenn man sich bei Postgresql mit seinem Unix Benutzername anmeldet. Allerdings klappt das nur fuer lokale Zugriffe und nur ueber "unix domain sockets", nicht TCP/IP Verbindungen. Demzufolge muss der Parameter "host" auskommentiert bleiben, denn auch "localhost" zwingt die Verbindung ueber TCP/IP.
Als Loesung fuer das Problem ist moeglicherweise, einfach auch noch den "user" parameter auskommentieren. Dann verwendet er hoffentlich jeweils den korrekten. Ansonsten muesstest du ihn manuell auf den korrekten user namen setzen.
Offline
#10 2013-04-16 16:15:02
- wambacher
- Member

- From: Schlangenbad/Wambach, Germany
- Registered: 2009-12-16
- Posts: 16,769
- Website
Re: Login lokale PostGIS (RenderingStack)
Als Loesung fuer das Problem ist moeglicherweise, einfach auch noch den "user" parameter auskommentieren. Dann verwendet er hoffentlich jeweils den korrekten. Ansonsten muesstest du ihn manuell auf den korrekten user namen setzen.
er hat ja weiter oben geschrieben, dass er bei Type=gis angemotzt wird. Eventuell hat er ja vor Tagen postgis nach gis geändert und nur vergessen, das rückgängig zu machen.
Aber schaun mer mal.
Gruss
walter
Offline
#11 2013-04-16 17:28:06
- !i!
- Member

- Registered: 2009-11-28
- Posts: 3,313
- Website
Re: Login lokale PostGIS (RenderingStack)
Da habt ihr genau richtig getippt ![]()
Ich dachte mir dann nämlich auch, dass das ja eigentlich den Zugang zur Datenquelle beschreiben muss. Komisch, kann mich nicht entsinnen da was verstellt zu haben. Naja...
Ansonsten habe ich noch ein Verständnisproblem: Ich musste für generate_image.py nämlich mich als user eintragen, damit es klappt.
Wie kann ich mich denn als der www-data Nutzer ausgeben? Mit sudo -u hat das mangels Passwort leider nicht geklappt.
privater Account von KVLA-HRO-Mei
Offline
#12 2013-04-16 19:02:15
- TEL0000
- Moderator
- From: Berlin
- Registered: 2008-06-11
- Posts: 968
Re: Login lokale PostGIS (RenderingStack)
Wie kann ich mich denn als der www-data Nutzer ausgeben? Mit sudo -u hat das mangels Passwort leider nicht geklappt.
Ich hab in solchen fällen immer ein PHP-Script geschrieben das neue Berechtigungen für die Datei setzt. Da PHP als www-data arbeitet hat das Script die entsprechende Berechtigung dazu.
Offline
#13 2013-04-16 19:08:47
- mmd
- Member
- Registered: 2010-11-06
- Posts: 2,150
Re: Login lokale PostGIS (RenderingStack)
.
Last edited by mmd (2013-04-28 07:42:44)
Offline
#14 2013-04-16 19:14:21
- maxbe
- Member
- Registered: 2010-01-19
- Posts: 3,255
- Website
Re: Login lokale PostGIS (RenderingStack)
Probier mal "sudo su - www-data"
max@offler:~$ id
uid=1000(max) gid=113(max) Gruppen=...
max@offler:~$ sudo su - www-data
[sudo] password for max:
$ id
uid=33(www-data) gid=33(www-data) Gruppen=33(www-data)Offline
Pages: 1