Instal·lació del PHP PG Admin

De Lordwektabyte Wiki
Salta a la navegació Salta a la cerca

És interessant instal·lar un gestor "visual" per web per a administrar el SGBD sense necessitat de fer-ho per terminal i, en certa manera, agilitzar els processos d'administració i manteniment del sistema. Hi ha eines com PHPMyAdmin per a MySQL/MariaDB i també tenim PHPPgAdmin per a Postgres.

Requeriments

  • Servidor web Apache
  • PHP

Instal·lació i posada en marxa del servidor web

yum install httpd

El posarem en marxa amb

systemctl start httpd

I configurarem l'arrencada automàtica amb

systemctl enable httpd

Un cop fet això, deshabilitarem el Firewall i el SELinux per a evitar problemes de restriccions. En un cas real configuraríem el SELinux i el firewall per a permetre el trànsit pel port 80 i el SELinux permetés a l'usuari de l'apache servir els arxius; però en una pràctica d'aquest tipus tiro pel dret:

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

Per a fer persistent la desactivació del selinux hauríem d'editar l'arxiu /etc/selinux/config i posarem disabled en lloc de enforcing. Com que no reiniciaré el servidor, ho faig en temps real amb el setenforce 0

Instal·lació de PHP

Instal·larem la versió 5.x de PHP, que és la que va per defecte als repos de CentOS 7:

yum install php

Un cop instal·lat, podem veure si s'ha instal·lat fent una consulta de la versió, per exemple:

php --version
M10UF2A06-10.png


Procediment

Instal·larem PHPPGAdmin des del repositori de posgresql:

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm
yum install phpPgAdmin

Instal·larà també una dependència: php-pgsql Una vegada instal·lat, configurarem l'apache per a poder accedir a l'interfície:

nano /etc/httpd/conf.d/phpPgAdmin.conf

Deixarem l'arxiu d'aquesta manera:

#
# This configuration file maps the phpPgAdmin directory into the URL space.
# By default this application is only accessible from the local host.
#
Alias /phpPgAdmin /usr/share/phpPgAdmin
<Location /phpPgAdmin>
<IfModule mod_authz_core.c>
# Apache 2.4
Require all granted
Order deny,allow
Allow from all
Allow from ::1
#Require host example.com
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order deny,allow
Allow from all
Allow from ::1
# Allow from .example.com
</IfModule>
</Location>

Desarem i farem un systemctl restart httpd per a aplicar la configuració nova de l'Apache. Podrem després accedir a la web GUI des de http://192.168.56.254/phpPgAdmin

M10UF2A06-11.png


Ara modificarem la configuració del PHP PG Admin amb l'arxiu /etc/phpPgAdmin/config.inc.php de manera que: Editarem la línia 49 per especificar a quin servidor Postgres ens volem connectar:

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

I la línia 93:

$conf['extra_login_security'] = false;

Per a poder fer login amb el mateix usuari postgres. Desarem els canvis i tancarem l'editor. Reiniciarem Apache i Postgres:

systemctl restart httpd
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile stop
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start

Comprovació de funcionament

Un cop tot configurat podem entrar a la web GUI d'on penja el PHPPGAdmin i autenticar-nos amb l'usuari postgres i password asix:

M10UF2A06-12.png


I hauríem de poder veure un entorn semblant al PHPMyAdmin que ens permetés gestionar el SGBD, però tenim un missatge d'error:

La versió de postgres instal·lada no és suportada per a la versió instal·lada de PHP PG Admin


La versió instal·lada de PostgreSQL és la 10.4:

M10UF2A06-14.png


Malauradament la documentació de PHPPGAdmin només contempla versions de Postgres fins a la 9.x; de manera que hauriem de reinstal·lar des de les fonts una versió 9.x de Postgres. Tot i això, el SGBD s'ha instal·lat correctament ja que podem crear i eliminar BBDD des de la línia de comandes:

M10Uf2A06-15.png