2011-02-02 3 views
0

Я использую tilelite для обслуживания карт. Мне нужно, чтобы он запускался во время запуска сервера. Я создал скрипт, который запускает следующую команду при запуске:
/usr/local/bin/liteserv.py /home/Uname/bin/mapnik/my_osm.xml --caching --debug = False
Этот процесс неудача с:
FATAL: аутентификация идент Сбой пользователя «user_name» (возникающим при разборе слоя «досуга»)
Согласно этой странице:ошибка аутентификации mapnik gis во время загрузки

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

Я побежал следующую команду:

./generate_xml.py osm.xml не my_osm.xml --accept-ни --dbname Гис --symbols ./symbols/ --world_boundaries ./world_boundaries/

Теперь я получаю:

RuntimeError: ошибка PSQL:
FATAL: сбой аутентификации идент для пользователя «root» (встречается при разборе слоя «досуг»)

Я действительно новичок в postgres, поэтому кто-то может дать мне очень простые инструкции о том, как исправить это.

ответ

0

Если вы вызываете ./generate_xml.py --help, вы увидите различные варианты. Один из них - пользователь. Если вы его не передадите, а также передайте --accept-none, то конкретный пользователь не будет записан в XML Mapnik, а это значит, что когда Mapnik попытается подключиться к базе данных postgres, будет использоваться текущий пользователь. Итак, если вы запустите этот скрипт с правами root, будет использоваться «root».

Итак, вам нужно либо запустить этот скрипт как пользователь unix, который может подключиться к postgres, либо вам нужно вернуться и восстановить 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

+0

Исходный пользователь, которого я использовал (до изменения в root), был на самом деле суперпользователем. select * from pg_user показывает их как su. Я попробую pg «доверие». –

+0

Изменение доверия. Наверное, это не самый безопасный маршрут, но пока это достаточно хорошо. Спасибо за быстрый ответ. –

+0

@ Дане вы можете дать рабочую ссылку, чтобы помочь включить «доверие» к postgreSQL? Спасибо –

Смежные вопросы