質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

phpPgAdmin

phpPgAdminは、PHPで作成された複数のPostgreSQLデータベースをブラウザから簡単に管理・操作できるツール。テーブルの作成や参照を始め、データのバックアップやリストアといった操作が可能になります。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

3908閲覧

CentOS7&PHP 7.2のphpPgAdminにてログインできない

退会済みユーザー

退会済みユーザー

総合スコア0

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

phpPgAdmin

phpPgAdminは、PHPで作成された複数のPostgreSQLデータベースをブラウザから簡単に管理・操作できるツール。テーブルの作成や参照を始め、データのバックアップやリストアといった操作が可能になります。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2018/01/23 10:09

phpPgAdminにログインできないも参照しましたが現象が違うようなので質問させてください。
あちこちの情報をつまみ食いしたせいか、打開できずにおります。

目的

phpPgAdminをネット越しに利用できるようにして、簡単にクエリーを実サーバーで実行して結果をダウンロードしたい。
そのためにphpPgAdminを使えるようにしたい。

他人に使用させるつもりはないので、/phpPgAdmin ディレクトリをユーザー認証が必要な(htpasswdにてパスワードファイルを作成)状態にしてます。
データベース接続も特定の一般ユーザー名ひとりで良いと思っています。

#サーバー環境
さくらのVPSにて構築中。

  • CentOS Linux release 7.4.1708 (Core)
  • PHP 7.2.1 (cli) (built: Jan 3 2018 08:53:04) ( NTS )
  • psql (PostgreSQL) 9.6.5

remi-php72リポジトリを使ってます。
getenforce は Permissive です。
rootになれる一般ユーザーとして、「tterui」を使っています。
PostgreSQLのデフォルトデータベースにもtteruiを追加している(つもり)。ロールを設定した気もしますが、怪しいので点検したいのですがどうすればいいでしょうか。

PostgreSQLのログ

データベース名をdbname、

2018-01-23 18:31:46 JST tterui dbname LOG: provided user name (tterui) and authenticated user name (apache) do not match

2018-01-23 18:31:46 JST tterui dbname FATAL: Peer authentication failed for user "tterui"
2018-01-23 18:31:46 JST tterui dbname DETAIL: Connection matched pg_hba.conf line 80: "local all all peer"

pg_hba.conf(抜粋)

# TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all peer # IPv4 local connections: host all all 127.0.0.1/32 trust #host all all 127.0.0.1/32 md5 host all all 10.0.0.0/24 md5 host all all ::1/128 md5 # IPv6 local connections: host all all ::1/128 ident # Allow replication connections from localhost, by a user with the # replication privilege. #local replication postgres peer #host replication postgres 127.0.0.1/32 ident #host replication postgres ::1/128 ident

現在ドキュメントを読み込み中です。
20.1. pg_hba.confファイル

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/01/23 10:18

動作している認証方式が(peer )ですがそれに対応する設定ですか?
退会済みユーザー

退会済みユーザー

2018/01/23 12:00

unixuser名での認証よりも、dbuser名での認証のほうがしっくり来るんですけど、記述がおかしいのでしょうか。
guest

回答2

0

ベストアンサー

これがあっているのかどうか、実際ログインできるようになった設定を示します。

pg_hba.confの抜粋

# TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all peer map=usermap # IPv4 local connections: host all all 127.0.0.1/32 md5 #host all all 127.0.0.1/32 md5 #host all all 10.0.0.0/24 md5 #host all all ::1/128 md5 # IPv6 local connections: host all all ::1/128 ident # Allow replication connections from localhost, by a user with the # replication privilege. #local replication postgres peer #host replication postgres 127.0.0.1/32 ident #host replication postgres ::1/128 ident

pg_ident.confの抜粋

# MAPNAME SYSTEM-USERNAME PG-USERNAME usermap apache tterui

これでひとまず、tteruiでのphpPgAdmin利用ができるようになりました。


phpPgAdmin経由でログインできるのがtteruiのみで、他のユーザーだと弾かれるので、
もう一度点検してみたところ、設定漏れを見つけました。

/usr/share/phpPgAdmin/conf/config.inc.php

$conf['servers'][0]['host'] = 'localhost';

ホスト名の記入が漏れていました。
これで、データベースdbname上の他のユーザーでもログインできるのを確認できました。
pg_hba.conf の local all all peer行の改変ももとに戻して
systemctl restart rh-postgresql96-postgresqlして再度ログインできることを確認しました。
これが正解でしょうか。

投稿2018/01/23 12:07

編集2018/01/24 07:08
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

エラー内容は postgres_user!=unix_user なので Peer 認証ができません。のようなので認証方式を md5 などに変更しましょう。

投稿2018/01/23 10:25

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/01/23 12:09

tteruiとapacheがあってません、って感じなのはわかりました。見直ししてみます。
退会済みユーザー

退会済みユーザー

2018/01/24 07:08

見直しによって、 phpPgAdmin/conf/config.inc.php の記述ミスも発見できました。たいへんお騒がせしました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問