phpPgAdminは、PostgreSQLデータベースを管理するためのWebベースの管理ツールであり、ルックアンドフィールはphpMyAdminと非常によく似ています。 phpMyAdminの使用経験がある場合は、phpPgAdminを使用する方法を見つけるのにそれほど時間はかかりません。
このガイドは、CentOS 7 /RHEL7でphpPgAdmin5.6をセットアップするのに役立ちます。
前提条件
システムにPostgreSQLがすでにインストールされていると仮定します。そうでない場合は、CentOS 7 /RHEL7にPostgreSQL11/10をインストールする方法を確認してください。
phpPgAdminの依存パッケージをインストールします。
yum install -y php php-cli php-common php-pdo php-pgsql httpd apr apr-util httpd-tools libzip mailcap
phpPgAdminをインストールします
EPELリポジトリで利用可能なphpPgAdminは、PostgreSQL10以降をサポートしていません。
エラー:
PostgreSQLのバージョンはサポートされていません。バージョン以降にアップグレードしてください。
そこで、公式ウェブサイトからダウンロードしたパッケージを使用してphpPgAdminを設定します。
phpPgAdminの最新バージョンをダウンロードします。タールファイルをダウンロードすることをお勧めします。
wget https://github.com/phppgadmin/phppgadmin/archive/REL_5-6-0.tar.gz
tarコマンドを使用してダウンロードしたアーカイブを抽出します。
tar -zxvf REL_5-6-0.tar.gz
抽出したファイルを/usr/share/phppgadmin
に移動します ディレクトリ。
mv phppgadmin-REL_5-6-0/ /usr/share/phppgadmin
phpPgAdminを構成する
構成ファイルをコピーして、phpPgAdmin構成を開始します。
mv /usr/share/phppgadmin/conf/config.inc.php-dist /usr/share/phppgadmin/conf/config.inc.php
/etc/phpPgAdmin/config.inc.php
を編集します ファイル。
vi /usr/share/phppgadmin/conf/config.inc.php
PostgreSQLインスタンスの名前を設定します。この設定により、phpPgAdminWebインターフェイスにインスタンス名が一覧表示されます。
$conf['servers'][0]['desc'] = 'PostgreSQL 11';
次のサーバーパラメータにPostgreSQLインスタンスのローカルホストまたはIPアドレスを追加します。
$conf['servers'][0]['host'] = 'localhost';
追加のログインセキュリティがtrueの場合、パスワードまたは特定のユーザー名( pgsql、postgres、root、administrator )を使用せずにphpPgAdmin経由でログインします。 )拒否されます。 postgresログインを有効にするには、falseに変更します。
$conf['extra_login_security'] = false;
リスト内で他のデータベース(他の人が所有している)を単に非表示にするには、次の条件をtrueにします。
$conf['owned_only'] = true;
PostgreSQLの構成
phpPgAdminからPostgreSQLインスタンスを管理したり、外部マシンから接続したりできるように、PostgreSQLでMD5認証を有効にする必要があります。
MD5認証を有効にすると、セキュリティが強化され、暗号化されたパスワードログインのみが許可されます。 MD5認証を受け入れるように構成ファイルを変更します。
### PostgreSQL 11 ### vi /var/lib/pgsql/11/data/pg_hba.conf ### PostgreSQL 10 ### vi /var/lib/pgsql/10/data/pg_hba.conf
IPv4接続の要件に従って値を入力してください。 MD5パスワードを受け入れることを確認してください。
# TYPE DATABASE USER ADDRESS METHOD # IPv4 local connections: host all all all md5192.168.1.0/24を使用する すべての代わりに アドレスで IPアドレスの特定のサブネットに対してMD5認証を有効にします。
PostgreSQLサービスを再起動します。
### PostgreSQL 11 ### systemctl restart postgresql-11 ### PostgreSQL 10 ### systemctl restart postgresql-10
Apacheの構成
/etc/httpd/conf.d
の下に構成ファイルを作成します ApacheがphpPgAdminインターフェイスを提供できるようにするためのディレクトリ。
vi /etc/httpd/conf.d/phppgadmin.conf
以下のコンテンツをコピーして上記のファイルに貼り付けます。
Alias /phppgadmin /usr/share/phppgadmin <Location /phppgadmin> <IfModule mod_authz_core.c> # Apache 2.4 Require all granted #Require host example.com </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order deny,allow Deny from all Allow from 127.0.0.1 Allow from ::1 # Allow from .example.com </IfModule> </Location>
HTTPDサービスを再起動して有効にします。
systemctl restart httpd systemctl enable httpd
SELinux
システムでSELinuxを有効にしている場合は、以下のコマンドを実行する必要があります。そうしないと、phpPgAdminにログインできなくなります。
yum install -y policycoreutils setsebool -P httpd_can_network_connect_db 1
ファイアウォール
外部マシンからブラウザを使用してphpPgAdminにアクセスできるように、ファイアウォールでHTTPサービスを許可します。
firewall-cmd --permanent --add-service=http firewall-cmd --reload
phpPgAdminにアクセス
ブラウザからphpPgAdminにアクセスします。URLは次のようになります。
http://your.ip.add.ress/phppgadmin以下のページが表示されます。
左側のペイン(サーバーの下)にリストされているPostgreSQLインスタンスをクリックします。ユーザー名とパスワードを使用してPostgreSQLインスタンスにログインします。
これでデータベースページが表示されます。
結論
CentOS 7 / RHEL 7にphpPgAdminが正常にインストールされました。サポートが必要な場合は、phpPgAdminのFAQページにアクセスして、phpPgAdminとヘルプページの詳細を確認してください。