0

私は地図を提供するためにタイルライトを使用しています。サーバーの起動時に実行する必要があります。起動時に次のコマンドを実行するスクリプトを作成しました:
/usr/local/bin/liteserv.py /home/Uname/bin/mapnik/my_osm.xml --caching --debug = False
プロセスは次のように失敗します:
FATAL :ユーザー "user_name"のID認証に失敗しました(レイヤー'leisure'の解析中に発生しました)
このページによると:

http://wiki.openstreetmap.org/wiki/Mapnik#Authentication_failed

次のコマンドを実行しました。

./generate_xml.py osm.xml my_osm.xml --accept-none --dbname gis --symbols ./symbols/ --world_boundaries ./world_boundaries/

今私は得る:

RuntimeError:PSQLエラー:
FATAL:ユーザー "root"のID認証に失敗しました(レイヤー'leisure'の解析中に発生しました)

私はpostgresに本当に慣れていないので、誰かがこれを修正する方法についていくつかの非常に簡単な説明を私に与えることができます。

4

1 に答える 1

0

./generate_xml.py --helpを呼び出すと、さまざまなオプションが表示されます。それらの1つは--userです。これを指定せずに--accept-noneを渡すと、特定のユーザーはMapnik XMLに書き込まれません。つまり、Mapnikがpostgresデータベースに接続しようとすると、現在のユーザーが使用されます。したがって、そのスクリプトをrootとして実行すると、「root」が使用されます。

したがって、そのスクリプトをpostgresに接続できるUNIXユーザーとして実行するか、戻ってXMLを再生成し、postgresに接続できるユーザーの名前を埋め込む必要があります。後者の方が簡単でしょう。これが私がすることです:

通常のUNIXの使用が「heman」という名前であると仮定すると、次のようになります。

$ sudo su postgres
$ createuser heman # make superuser
$ exit
$ ./generate_xml.py osm.xml --accept-none --user heman --dbname gis --symbols ./symbols/ --world_boundaries ./world_boundaries/
$ liteserv.py osm.xml --caching --debug=False

postgresの詳細と、「postgres」ユーザーとして接続できるように「trust」を有効にする方法については、http://dbsgeo.com/foss4g2010/html/troubleshooting.html#troubleshooting-postgresql-connectionsをご覧ください。

于 2011-02-02T04:46:03.293 に答える