- ベストアンサー
phpPgAdminが動きません。
会社のテスト用WebサーバのDocumentRoot/ppaディレクトリ下にphpPgAdmin4.2を入れました。 ID・パスワードを入力してログイン後、既存のDB一覧が表示されるのですが、「データベース名」や「アカウント」をクリックしても必ずログイン画面へ戻ってしまいます。 正しいユーザID・パスワードを入力した場合のみログインできる点、データベース一覧が見えてる点などから、config.inc.phpのDB接続設定はうまくできていると考えているのですが… なにか心当たりがあれば教えて頂きたいと思います。 【各バージョン】 OS:CentOS release 4.4 (Final) ※VMware6上で稼働 カーネル:Linux version 2.6.9-42.EL PHP:4.3.9 PostgreSQL:7.4.19 Apache:2.0.52 【pg_hba.confの設定】 local all all md5 host all all 127.0.0.1 255.255.255.255 md5 host all all 0.0.0.0 0.0.0.0 md5 DBとWebサーバは上記同一サーバ上で稼働しております。 以上、よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
私も以下の条件で同じ事象が発生しました。 apache:2.2.9 php:5.1.6 postgresql:8.3.1 phpPgAdmin:4.2 原因は、/var/lib/php/session のディレクトリ権限が不足していたので、 apacheでも書き込めるようにしました。 (環境の違いによりディレクトリが異なるかと思います) なお、php.iniで、display_errors=Onとすることでエラー出力され 対応方法がわかりました。
その他の回答 (2)
- affilie
- ベストアンサー率36% (173/474)
こんばんわ。 >http://サーバのイントラIPアドレス/ppa/ ↑これのことです。 その他も「回答へのお礼」を見ました。 気になるのは… >httpd.confは初期状態からそれほどいじっていません。(DocumentRootの位置を変えたりした程度) と >PerlとPostgres連携 です。 今回の対象となっているものは、PostgresとPHPになります。 Perlは別モノとお考えください。 またphpPgAdminも別モノになります(PHPを使ったソフトという意味)。 私のところはFedora8でディレクトリが異なる可能性があるため、具体的なフォルダ名は記載しませんが、以下のポイントを確認してみてください。 ・phpPgAdminをインストールしたフォルダがサブフォルダを含めてApacheから正常に許可されているか。 ・特にphpPgAdmin関連のフォルダがallow from 127.0.0.1とかの指定がなされているか。 ・/ppa/がaliasされているか。 なお、この他の要因で上手く動作しない場合は、私にはお手上げです…><
お礼
追って解答頂きありがとうございます。返信が遅れ申し訳ありません。 色々試して駄目でしたが上記kawasさんの回答で解決致しました。ありがとうございました。
- affilie
- ベストアンサー率36% (173/474)
こんばんわ。 思い当たるところを幾つか記載します。 ・Apacheの設定は適切ですか? おそらく見えているので大丈夫とは思いますが、念のためです。 ・初期データベース用の管理者アカウントは正常ですか? ログインできていますので正常と思いますが、念のためです。 ・管理者アカウントの許可でIPアドレスは適切ですか? phpPgAdminはブラウザで入力されたURLなりIPアドレスを、そのまんま引き渡すと思いました。 よってデータベースへのアクセス権限でIPアドレスだけで開放し、FQDNで開放していない際に、ブラウザからFQDNでアクセスすると不具合を起こすと思います。 ウロ覚えですので参考程度にしてください。
お礼
回答ありがとうございます。 ・Apacheの設定は適切ですか? →phpPgAdminのログイン画面が正常に見れている点、同サーバにて稼働しているWebアプリ(PerlとPostgres連携)が正常稼働している点などから、間違いはないと考えているのですが…httpd.confは初期状態からそれほどいじっていません。(DocumentRootの位置を変えたりした程度) ・初期データベース用の管理者アカウントは正常ですか? →コンソールやターミナルからpsqlでログイン&該当DBのテーブル参照可能なのでおそらくこちらも問題ないと思われます。 ・管理者アカウントの許可でIPアドレスは適切ですか? →現在、ブラウザからはhttp://サーバのイントラIPアドレス/ppa/でアクセスしております。 pg_hba.confに、 host all all サーバIP 255.255.255.0 md5 を追加後にサーバリブートしましたが現象変わらずでした。 (affilieさんがおっしゃってるのは上記の様な意味であってましたでしょうか…的外れな事をしていたらすみません)
お礼
回答ありがとうございます。 kawasさんのおっしゃる通りPHPのエラー表示オプションをONにしてphpPgAdminにアクセスしたところ、sessionディレクトリに対するパーミッションがない旨、メッセージ出力されました。 該当ディレクトリのアクセス権限とApacheの起動ユーザを確認したところ、sessionディレクトリはユーザ"apache"の書き込みOKとなっていましたが、肝心のApache起動ユーザが"nobody"というユーザになっていました(汗) Apache起動ユーザを"apache"に変更しApacheを再起動、正常にphpPgAdminにアクセスできました。 非常に助かりました。ありがとうございました。