【问题标题】:mapnik gis authentication error during boot启动期间mapnik gis身份验证错误
【发布时间】:2011-02-02 04:23:10
【问题描述】:

我正在使用 tilelite 来提供地图。我需要它在服务器启动时运行。我已经构建了一个在启动时运行以下命令的脚本:
/usr/local/bin/liteserv.py /home/Uname/bin/mapnik/my_osm.xml --caching --debug=False
该过程失败:
致命:用户“user_name”的身份验证失败(在解析层“休闲”时遇到)
根据这个页面:

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 错误:
致命:用户“root”的身份验证失败(在解析层“休闲”时遇到)

我对 postgres 真的很陌生,所以有人可以给我一些非常简单的关于如何解决这个问题的指导。

【问题讨论】:

    标签: postgresql gis mapnik


    【解决方案1】:

    如果您调用 ./generate_xml.py --help 您将看到各种选项。其中之一是 --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”用户身份连接的更多详细信息:http://dbsgeo.com/foss4g2010/html/troubleshooting.html#troubleshooting-postgresql-connections

    【讨论】:

    • 我使用的原始用户(在更改为 root 之前)实际上是一个超级用户。 select * from pg_user 将它们显示为 su。我会尝试 pg“信任”的东西。
    • 更改信任有效。可能不是最安全的路线,但现在已经足够了。感谢您的快速回复。
    • @Dane 您能否提供一个工作链接来帮助启用 postgreSQL 的“信任”?谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多