phpPgAdmin è uno strumento di amministrazione basato sul Web per la gestione del database PostgreSQL e l'aspetto grafico è molto simile a quello di phpMyAdmin. Se hai esperienza di lavoro su phpMyAdmin, non ci vorrà molto tempo per trovare il modo di lavorare con phpPgAdmin.
Questa guida ti aiuterà a configurare phpPgAdmin 5.6 su CentOS 7 / RHEL 7.
Prerequisiti
Supponendo che tu abbia già installato PostgreSQL sul tuo sistema. In caso contrario, dai un'occhiata a come installare PostgreSQL 11/10 su CentOS 7/RHEL 7.
Installa i pacchetti dipendenti per phpPgAdmin.
yum install -y php php-cli php-common php-pdo php-pgsql httpd apr apr-util httpd-tools libzip mailcap
Installa phpPgAdmin
Il phpPgAdmin disponibile nel repository EPEL non supporta PostgreSQL 10 e versioni successive.
Errore:
Versione di PostgreSQL non supportata. Esegui l'upgrade alla versione o successiva.
Quindi, configureremo phpPgAdmin utilizzando il download del pacchetto dal sito Web ufficiale.
Scarica l'ultima versione di phpPgAdmin. Sarebbe preferibile scaricare il file tarred.
wget https://github.com/phppgadmin/phppgadmin/archive/REL_5-6-0.tar.gz
Estrai l'archivio scaricato usando il comando tar.
tar -zxvf REL_5-6-0.tar.gz
Sposta i file estratti in /usr/share/phppgadmin
directory.
mv phppgadmin-REL_5-6-0/ /usr/share/phppgadmin
Configura phpPgAdmin
Copia il file di configurazione per iniziare la configurazione di phpPgAdmin.
mv /usr/share/phppgadmin/conf/config.inc.php-dist /usr/share/phppgadmin/conf/config.inc.php
Modifica /etc/phpPgAdmin/config.inc.php
file.
vi /usr/share/phppgadmin/conf/config.inc.php
Imposta il nome per la tua istanza PostgreSQL. Questa impostazione elencherà il nome dell'istanza nell'interfaccia web di phpPgAdmin.
$conf['servers'][0]['desc'] = 'PostgreSQL 11';
Aggiungi localhost o indirizzo IP della tua istanza PostgreSQL nel seguente parametro del server.
$conf['servers'][0]['host'] = 'localhost';
Se la sicurezza dell'accesso extra è vera, effettua l'accesso tramite phpPgAdmin senza password o con determinati nomi utente (pgsql, postgres, root, amministratore ) sarà negato. Per abilitare il login postgres, cambialo in false.
$conf['extra_login_security'] = false;
Per nascondere semplicemente i database di altri (di proprietà di altri) nell'elenco, imposta la seguente condizione su true.
$conf['owned_only'] = true;
Configura PostgreSQL
Dovremo abilitare l'autenticazione MD5 su PostgreSQL in modo da poter gestire le istanze PostgreSQL da phpPgAdmin e stabilire connessioni da macchine esterne.
L'abilitazione dell'autenticazione MD5 aumenta la sicurezza e consente solo l'accesso con password crittografata. Modifica il file di configurazione per accettare l'autenticazione MD5.
### PostgreSQL 11 ### vi /var/lib/pgsql/11/data/pg_hba.conf ### PostgreSQL 10 ### vi /var/lib/pgsql/10/data/pg_hba.conf
Inserisci il valore secondo i tuoi requisiti nelle connessioni IPv4. Assicurati che accetti le password MD5.
# TYPE DATABASE USER ADDRESS METHOD # IPv4 local connections: host all all all md5Usa 192.168.1.0/24 invece di tutti in INDIRIZZO per abilitare l'autenticazione MD5 per la sottorete specifica degli indirizzi IP.
Riavvia il servizio PostgreSQL.
### PostgreSQL 11 ### systemctl restart postgresql-11 ### PostgreSQL 10 ### systemctl restart postgresql-10
Configura Apache
Crea un file di configurazione in /etc/httpd/conf.d
directory in modo che Apache possa servire l'interfaccia phpPgAdmin.
vi /etc/httpd/conf.d/phppgadmin.conf
Copia e incolla il contenuto seguente nel file sopra.
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>
Riavvia e abilita il servizio HTTPD.
systemctl restart httpd systemctl enable httpd
SELinux
Se hai SELinux abilitato sul tuo sistema, dovrai eseguire i comandi seguenti; altrimenti non sarai in grado di accedere a phpPgAdmin.
yum install -y policycoreutils setsebool -P httpd_can_network_connect_db 1
Firewall
Consenti il servizio HTTP nel firewall in modo da poter accedere a phpPgAdmin utilizzando un browser da macchine esterne.
firewall-cmd --permanent --add-service=http firewall-cmd --reload
Accedi a phpPgAdmin
Ora accedi a phpPgAdmin dal browser, l'URL sarà:
http://tuo.ip.add.ress/phppgadminOtterrai la pagina sottostante.
Fai clic sulla tua istanza PostgreSQL elencata nel riquadro a sinistra (sotto i server). Accedi alla tua istanza PostgreSQL con il tuo nome utente e password.
Ora dovresti ottenere la pagina del database.
Conclusione
Hai installato correttamente phpPgAdmin su CentOS 7 / RHEL 7. Visita la pagina delle FAQ di phpPgAdmin per saperne di più su phpPgAdmin e sulla pagina della Guida se hai bisogno di supporto.