Назад | Перейти на главную страницу

Не могу войти в phpPgAdmin

Я пытаюсь настроить phpPgAdmin на своей тестовой машине, чтобы я мог взаимодействовать с PostgreSQL без необходимости всегда использовать psql CLI. У меня PostgreSQL 9.1 установлен через репозиторий RPM, а phpPgAdmin 5.0.4 я установил «вручную» (распаковав архив с сайта phpPgAdmin). Для справки, моя основная ОС - CentOS 6.2.

Я уже внес следующие изменения в конфигурацию:

PostgreSQL

phpPgAdmin config.inc.php

Всякий раз, когда я пытаюсь войти в phpPgAdmin, я получаю сообщение «Ошибка входа», даже если я использую успешные учетные данные (те, которые работают в psql). Я попытался выполнить некоторые шаги, указанные в вопросе 3 в Вопросы-Ответы, но там пока не все получилось. Наверное, не поможет то, что это мой первый день работы с PostgreSQL. Я хорошо знаком с MySQL, но мне нужно использовать PostgreSQL для проекта, над которым я работаю.

Может ли кто-нибудь предложить помощь по настройке phpPgAdmin на CentOS 6.2? Если я до сих пор сделал что-то ужасно неправильное в своей конфигурации, нет ничего страшного в том, чтобы сдуть что-то / все, потому что я еще не сохранил там какие-либо данные!

Я ценю любое ваше понимание!

Что ж, я понял - это была комбинация неопытности с PostgreSQL и очень неописательных ошибок от phpPgAdmin.

Оказывается, у меня не был включен доступ по TCP / IP, а это означало, что никакие PHP-приложения не могли получить доступ к базам данных. Чтобы исправить это, мне пришлось внести два изменения:

  • Казалось, что будет лучше, если я установлю listen_addresses к '*' в postgresql.conf. Я не уверен, что это полностью необходимо или нет, но на такой машине с хорошим брандмауэром проблем быть не должно.
  • Мне пришлось запустить команду setsebool -P httpd_can_network_connect_db 1 из окна терминала, чтобы Apache действительно запустил программу и подключился. Я не помню, приходилось ли мне перезапускать PostgreSQL после этого шага, но, вероятно, это не повредит.

И последнее замечание: я видел несколько вещей, предлагающих изменить строку tcpip_socket=true в postgresql.conf. Это очевидно не работает в PostgreSQL 9.1. Фактически, он отказался запускаться после того, как я это добавил. Так что не делай этого.

В любом случае, надеюсь, это поможет тому, кто столкнется с теми же проблемами, что и я!

Ну, пользователь по умолчанию Postgres и нет пароля новой установки. Так что в поле пользователя поместите это и очистите поле пароля. Щелкните. сделано.

Если вы использовали pgAdmin4 и ввел пароль при первом входе в систему, который является паролем, который вы используете для пользователя Postgres. Теперь в phppgadmin введите postgres в качестве имени пользователя и этот пароль в поле пароля. Щелкните. Готово. Спасибо

Я попробовал вышеуказанное решение, но все равно получил сообщение «Ошибка входа». Чтобы решить эту проблему, мне нужно было убедиться, что IPv6 также настроен на password в pg_hba.conf файл. Ну действуй: vi /var/lib/pgsql/9.4/data/pg_hba.conf и отредактируйте соответственно. Затем перезапустите httpd и postgresql (независимо от версии, которую вы используете)

Мне не удалось настроить phpPgAdmin, пока я не увижу ваше решение. Чтобы завершить ваше решение:

  • бесполезно устанавливать listen_address к '*' если ваш сервер phpPgAdmin находится на том же компьютере, что и ваш сервер postgresql (9.2 для меня), вы можете установить его на localhost.
  • Единственное, что полезно, - это настроить логическое значение SELinux.

Работает на сервере с GitLab-CE, сообщение, которое я получаю в файле журнала, было:

tail -f -n 8 /var/log/postgresql/postgresql-*-main.log
......
2019-07-24 16:33:15.073 EDT [9640] postgres@template1 LOG:  provided user name (postgres) and authenticated user name (gitlab-www) do not match
2019-07-24 16:33:15.073 EDT [9640] postgres@template1 FATAL:  Peer authentication failed for user "postgres"
2019-07-24 16:33:15.073 EDT [9640] postgres@template1 DETAIL:  Connection matched pg_hba.conf line 85: "local   all             postgres                                peer"

Итак, я подключаюсь к psql через cli и создать недостающую роль / пользователя (в моем случае gitlab-www):

# sudo -u postgres psql
CREATE USER "gitlab-www" WITH PASSWORD 'YouKnow..' CREATEDB CREATEROLE SUPERUSER LOGIN;

И затем процесс входа в систему открывает свои двери.