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

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

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

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

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Q&A

解決済

2回答

1650閲覧

Mac,PostgreSQL,apacheでphppgadminを見たいが403 Forbiddenエラー

I_LIKE_EGGS

総合スコア11

phpPgAdmin

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

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

0グッド

0クリップ

投稿2020/08/12 15:00

編集2020/08/14 13:20

お世話になります。
表題の通り環境を構築しましたが、エラーが出てしまった為、アドバイス頂きたく質問させて頂きました。
下記に詳細記します。

環境

MacOS:Catalina 10.15.4
apache:2.4.41
PostgreSQL:12.3
phppgadmin:5.6

環境構築手順

1.phpadminにてREL_5-6-0.zipをダウンロード。

2.1のファイルを/ライブラリ/Webserver/Documents/に解凍(ドキュメントルートへ解凍)。

3.2で解凍したフォルダ(phppgadmin)にある/conf/config.inc.php-distをconfig.inc.phpに変更。

4./etc/apache2/httpd.confを変更。

<Directory /> AllowOverride none Require all denied </Directory>

<Directory /> AllowOverride none Require all granted </Directory>

5.%sudo apachectl restartにてアパッチ再起動。

環境構築の為参考にしたサイト

こちらこちらのサイトを参考にさせて頂きました。
サイトに載っている通りで環境構築しております。

現象

http://localhost/phppgadmin/と打つと

Forbidden You don't have permission to access this resource.

と403エラー。

また
http://localhost/と打てば(トップページにアクセス)

It works!

と問題なくアクセス。

問題解決の為にやった事1

様々なサイトを見たところ、httpc.confのRequire all denied(全拒否)アクセスが影響を及ぼしていると思われた為、
httpd.confの
Require all deniedを
Require all grantedに変更してみた。

またhttpd.confにある

<FilesMatch "^.([Hh][Tt]|[Dd][Ss]_[Ss])"> Require all denied </FilesMatch>
<Files "rsrc"> Require all denied </Files> <DirectoryMatch ".*..namedfork"> Require all denied </DirectoryMatch>

もRequire all grantedに変更してみた(全てのRequire all deniedをRequire all grantedに変更した)。

結果
変わらず。

問題解決の為にやった事2

chmodにてパーミッション確認。

結果
問題ない様子。

問題解決の為にやった事3

/ライブラリ/Webserver/Documents/(ドキュメントルート)に/aa/aa.html
と他のHTMLファイルを置いて、それがアクセス出来るか確認

結果
そちらはアクセス出来る。

考察

様々なサイトを見たところ Require all denied が悪さをしているという記載が多かった為、httpd.conf全てのRequire all deniedをRequire all grantedに直しましたが、そもそもトップページやその配下に置いたフォルダ内のhtmlが見れている時点でhttpd.confが問題じゃないのでは?と思っています。

他に考えられる可能性、同じ問題に当たった方、参考サイト等アドバイス頂ければ幸いです。

よろしくお願い致します。

追記1

回答を頂き、こちらのサイトを参考に
/ドキュメントルート/phppgadmin/config.inc.phpを

$conf['servers'][0]['host'] = ''; ↓ $conf['servers'][0]['host'] = '127.0.0.1';
$conf['extra_login_security'] = true; ↓ $conf['extra_login_security'] = false;

と2箇所変更かけましたが、上手く行きませんでした(症状も変わらず)。

追記2

試しにhttpd.confにある

<Directory /> AllowOverride none Require all granted </Directory>

<Directory /> AllowOverride none Require all denied </Directory>

また

<Directory "/Library/WebServer/Documents"> Options FollowSymLinks Multiviews MultiviewsMatch Any AllowOverride None Require all granted </Directory>

<Directory "/Library/WebServer/Documents"> Options FollowSymLinks Multiviews MultiviewsMatch Any AllowOverride None Require all denied </Directory>

とどちらもIPアドレスの制限の設定をしてみたところ

このサイトにアクセスできませんlocalhost で接続が拒否されました。 次をお試しください 接続を確認する プロキシとファイアウォールを確認する ERR_CONNECTION_REFUSED

のようなエラーメッセージが出ました。

IPアドレスの制限では上記のエラーとなる為、今回の問題はIPアドレス制限と違うところにあるんじゃないかと推測・・・。

追記3

問題解決の為にやった事2でchmodは問題無さそうと書きましたが、そこに原因があると思い

Documents % sudo chmod 777 phppgadmin

とphppgadminフォルダ&フォルダ内すべてパーミッション変更。
しかし症状は変わらず。

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

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

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

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

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

guest

回答2

0

自己解決

/etc/apache2/other/

phppgadmin.conf

というファイルを作り

<directory /Library/WebServer/Documents/phppgadmin/> Options Indexes FollowSymLinks MultiViews AllowOverride All <ifmodule mod_authz_core.c> Require all granted </ifmodule> <ifmodule !mod_authz_core.c> Order allow,deny Allow from all </ifmodule> </directory>

という内容を記載したところパーミッションエラーは消えました。

わざわざファイルを作らなくともhttpd.confに同様の内容を記載しても同じように動きます。

設定内容はphpmyadminから持ってきました。

投稿2020/08/14 12:49

編集2020/08/14 13:04
I_LIKE_EGGS

総合スコア11

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

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

0

以下は参考になるでしょうか。
phpPgAdminをインストール

投稿2020/08/13 00:13

javahack

総合スコア1088

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

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

I_LIKE_EGGS

2020/08/13 13:07 編集

インストール方法がサイトの方法ではなく。ドキュメントルートの直下にphppgadmin置いたやり方なので設定ファイルが/etc/phpPgAdmin/config.inc.phpではなくドキュメントルート/phppgadmin/config.inc.phpでした。 サイトにあるように ---------------------------------------------- $conf['servers'][0]['host'] = ''; ↓ $conf['servers'][0]['host'] = '127.0.0.1'; ---------------------------------------------- $conf['extra_login_security'] = true; ↓ $conf['extra_login_security'] = false; ---------------------------------------------- と2箇所変更かけましたが上手く行きませんでした(症状も変わらず)。 ありがとうございます。
javahack

2020/08/13 16:17

リンク先では、上記作業後に403が出て以下のファイルを修正していますが、そちらは試しましたか? /etc/httpd/conf.d/phpPgAdmin.conf
I_LIKE_EGGS

2020/08/14 12:26 編集

サイトではyumでインストール、私の環境でドキュメントルート直下にphppgadminフォルダを設置しただけなのでetcにはphpPgAdmin.confはないですし、phppgadminフォルダにないです。
javahack

2020/08/14 12:37

見当違いの回答だったようで、お役に立てずすみません。
I_LIKE_EGGS

2020/08/14 12:44

色々試して /etc/apache2/other/ に phppgadmin.conf というファイルを作り 下記の内容を記載したところ、 とりあえずはエラーはなくなりました(まだまだ完璧な表示にはなっていませんが)。 <directory /Library/WebServer/Documents/phppgadmin/> Options Indexes FollowSymLinks MultiViews AllowOverride All <ifmodule mod_authz_core.c> Require all granted </ifmodule> <ifmodule !mod_authz_core.c> Order allow,deny Allow from all </ifmodule> </directory> 一応今回のパーミッションエラーは消えたので、一度質問は閉じようと思います。 ありがとうございました!
I_LIKE_EGGS

2020/08/14 13:01 編集

いえ、リンク先のご指摘下さった <Location /phpPgAdmin> Order deny,allow Deny from all Allow from 127.0.0.1 Allow from ::1 # Allow from .example.com </Location> は 私とapacheのバージョン&phppgadminのインストール方法が違う為、 「設定の命令方法が異なる&設定ファイルの場所が異なる」というだけで、 本質的な問題点は、まさにご指摘下さった部分にありました。 設定ファイルの置いてある場所、設定する命令は自力で見つけましたが、 ここに至るまでの道標になり、ご回答がなければ辿り着けませんでした。 ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問