Cómo instalar phpPgAdmin en CentOS 7

Cómo instalar phpPgAdmin en CentOS 7

En esta ocasión veremos cómo instalar phpPgAdmin en CentOS 7 paso a paso, una magnífica interfaz web para PostgreSQL que no sólo nos permitirá trabajar remotamente sobre este servicio de bases de datos en nuestro servidor o VPS CentOS, sino que nos hará la vida mucho más fácil a aquellos que aún no dominamos el trabajo desde consola.

Antes de instalar phpPgAdmin en CentOS 7

Para completar esta guía de instalación de phpPgAdmin en CentOS 7 deberías cumplir estos requisitos básicos:

  • Una máquina CentOS 7 actualizada.
  • Servicio web con PHP (asumimos Apache).
  • Servicio de bases de datos PostgreSQL.
  • Paquetes adicionales: bzip2 y wget.
  • Acceso a consola con root o un usuario con permisos de sudo.
  • Conexión a Internet.

Si aún no tienes el entorno listo, te puede interesar la guía de instalación de PostgreSQL en CentOS 7. Es importante que tu servicio web ofrezca las conexiones seguras con HTTPS, también puedes consultar para ello la guía de instalación de Apache en CentOS 7.

Qué versión de phpPgAdmin instalar

A la hora de realizar la instalación de phpPgAdmin tienes dos alternativas:

  • Si usas PHP 7.1 ó superior (procedente del repositorio Remi, por ejemplo), tendrás que usar la última versión de phpPgAdmin procedente de su sitio oficial.
  • Si usas la versión de PHP de los repositorios de CentOS 7 (PHP 5.4), entonces podrás descargar paquetes desde el repositorio EPEL.

En esta guía vas a poder instalar una u otra opción de phpPgAdmin para CentOS 7. Pero antes tenemos que realizar unos preparativos comunes a ambas opciones.

Preparativos previos de PostgreSQL

Un detalle que conviene entender es que aunque accedamos desde la estación espacial internacional a nuestro VPS CentOS 7, se considera un acceso local, ya que quien realmente accede a la base de datos es el servicio web que se encuentra en la misma máquina que el servicio PostgreSQL.

Esto es importante porque phpPgAdmin requiere inicio de sesión con contraseña, y PostgreSQL por defecto no usa contraseñas para los roles locales.

Por tanto el primer paso es que los roles locales tengan contraseña. Para crear contraseña para tu rol administrador, inicia sesión con el cliente de consola psql:

~$ psql
psql (9.2.24)
Digite «help» para obtener ayuda.

chacho=#

Y usa el comando \password para crear tu propia contraseña:

chacho=# \password
Ingrese la nueva contraseña:
Ingrésela nuevamente:
chacho=#

Si estás usando el rol administrativo, también puedes usar el comando \password para crear contraseñas de otros roles:

chacho=# \password usuario
Ingrese la nueva contraseña:
Ingrésela nuevamente:
chacho=#

No basta con crear contraseñas, hay que configurar el servicio PostgreSQL para que use esas contraseñas en los roles locales. Para ello, editamos el archivo pg_hba.conf:

~$ sudo nano /var/lib/pgsql/data/pg_hba.conf

Buscaremos la configuración de autenticación para los roles locales:

...
# "local" is for Unix domain socket connections only
local   all             all                                     peer
...

Y cambiaremos el varlor peer por md5:

...
local   all             all                                     md5
...

Tras guardar los cambios aplicamos la nueva configuración recargando el servicio PostgreSQL:

~$ sudo systemctl reload postgresql

Ahora sí, al acceder a nuestro rol localmente se nos solicitará la contraseña:

~$ psql
Contraseña:

Cómo instalar la última versión de phpPgAdmin para CentOS 7

Si quieres instalar la última versión de phpPgAdmin en CentOS 7 debes tener en cuenta que necesita PHP 7.1 o superior. Para descargar la versión disponible más reciente debemos visitar la web oficial del proyecto:

como descargar phppgadmin para centos 7

En la sección «Releases» encontraremos el histórico de lanzamientos de phpPgAdmin, pero nos centraremos en la última versión, que nos ofrece paquetes en formato .zip y .tar.bz2:

descargar phppgadmin para centos 7

Será el paquete .tar.bz2 el que elijamos, así que lo descargaremos con el navegador o desde consola si trabajamos en remoto:

~$ wget https://github.com/phppgadmin/phppgadmin/releases/download/REL_7-12-0/phpPgAdmin-7.12.0.tar.bz2

Descomprimiremos el archivo que acabamos de descargar directamente en su ubicación:

~$ bzcat phpPgAdmin-7.12.0.tar.bz2 |sudo tar x -C /usr/share/

Cambiaremos el propietario y el grupo del directorio que se ha creado en /usr/share/ a root:

~$ sudo chown -R root:root /usr/share/phpPgAdmin-7.12.0/

Finalmente crearemos un enlace simbólico sin números de versión que usaremos como referencia, para facilitar en el futuro posibles actualizaciones:

~$ sudo ln -s /usr/share/phpPgAdmin-7.12.0/ /usr/share/phpPgAdmin

Preparativos del servidor web

Para poder trabajar con el directorio que hemos instalado en /usr/share/ crearemos un alias de Apache, a través de un nuevo archivo de configuración en /etc/httpd/conf.d/:

~$ sudo nano /etc/httpd/conf.d/phpPgAdmin.conf

El contenido será el siguiente:

Alias /phppgadmin /usr/share/phpPgAdmin

<Location /phppgadmin>
        <IfModule mod_authz_core.c>
                Require all granted
        </IfModule>
</Location>

Si te gusta otro alias puedes indicarlo, haciendo el cambio tanto en la directiva Alias como en el bloque Location.

Guardados los cambios, los aplicamos recargando la configuración de Apache:

~$ sudo systemctl reload httpd

Cómo acceder a phpPgAdmin en CentOS 7

Con toda la configuración de PostgreSQL y phpPgAdmin en CentOS 7 ya realizada, es el momento de acceder a la aplicación. Para ello añadiremos el alias /phpPgAdmin o el que hayas configurado al dominio o dirección IP del servidor CentOS 7 en el navegador:

como instalar phppgadmin en centos 7

Si seguimos cualquiera de los enlaces «Servidores» que tenemos a la vista nos llevará a una lista de los servidores a los que la aplicación tiene acceso. Por defecto, incialmente sólo veremos el servicio PostgreSQL local:

instalar phppgadmin en centos 7

Al intentar acceder al servicio se nos presentará una página de inicio de sesión donde debemos introducir el rol con el que queremos conectar y su contraseña:

instalacion de phppgadmin en centos 7

Al iniciar sesión entraremos en la página principal de phpPgAdmin, donde tendremos a la vista de una forma organizada y sencilla todo lo que podemos hacer, según los permisos del rol con el que hemos accedido:

phppgadmin en centos 7

¡Ya puedes empezar a trabajar con tus bases de datos!

Cómo instalar phpPgAdmin en CentOS 7 desde el repositorio EPEL

Si tu máquina no tiene PHP 7 y no lo va a tener, puedes instalar phpPgAdmin en CentOS 7 desde el repositorio EPEL, cuya versión está prevista para la versión de PHP del repositorio de CentOS (PHP 5.4.16 en el momento de escribir esta guía).

Instalaremos el repositorio EPEL:

~$ sudo yum install -y epel-release

Y a continuación actualizaremos las listas y los paquetes ya instalados:

~$ sudo yum update -y

El paquete que necesitamos en esta ocasión es phpPgAdmin (las mayúsculas importan), que podremos instalar mediante el comando yum:

~$ sudo yum install -y phpPgAdmin

Tras la descarga e intalación del paquete phpPgAdmin y sus dependencias se recarga el servicio web con una nueva configuración, guardada en el archivo /etc/httpd/conf.d/phpPgAdmin.conf.

Esta nueva configuración crea un alias /phpPgAdmin (de nuevo las mayúsculas importan), de modo que habrá que añadir este alias a la dirección IP o dominio del servidor CentOS 7 para poder conectar.

Aunque antes de probar phpPgAdmin, haremos algunos ajustes.

Cómo configurar phpPgAdmin versión EPEL en CentOS 7

Para configurar phpPgAdmin en CentOS 7 debemos crear un archivo de configuración config.inc.php en el directorio /etc/phpPgAdmin/. Podemos copiar el arcivo config.inc.php-dist que nos ofrece la instalación de phpPgAdmin y que se encuentra en la misma ruta:

~$ sudo cp /etc/phpPgAdmin/config.inc.php-dist /etc/phpPgAdmin/config.inc.php

Los valores por defecto de este archivo servirán bien inicialmente.

Por otro lado, editaremos el archivo phpPgAdmin.conf que configura el alias para Apache:

~$ sudo nano /etc/httpd/conf.d/phpPgAdmin.conf

Si quieres cambiar el alias /phpPgAdmin por uno más cómodo como /phppgadmin, esta es la línea que debes modificar:

...
Alias /phpPgAdmin /usr/share/phpPgAdmin
...

Y configurar un alias, por ejemplo, sin mayúsculas:

...
Alias /phppgadmin /usr/share/phpPgAdmin
...

Si lo haces, tendrás que modificar el comienzo del bloque Location, que hace referencia al alias, dejándolo así:

...
<Location /phppgadmin>
...

En cualquier caso, para permitir el acceso desde la red, buscaremos esta directiva Require dentro del bloque Location:

...
        # Apache 2.4
        Require local
...

La desactivaremos situando un carácter # al inicio de línea e incluiremos otra directiva Require que nos permitirá acceder desde cualquier sitio:

...
#        Require local
        Require all granted
...

Guardados los cambios en el archivo, aplicaremos la nueva configuración recargando el servicio httpd:

~$ sudo systemctl reload httpd

Y ya puedes trabajar con phpPgAdmin para PHP 5.4.16.

Conclusión

Ahora que sabes cómo instalar y configurar phpPgAdmin en CentOS 7 ya puedes trabajar sobre tu servicio de bases de datos PostgreSQL desde cualquier sitio con la comodidad de su sencilla interfaz web. Recuerda que si accedes con phpPgAdmin a tu VPS CentOS es importante configurar el acceso a través de protocolo seguro HTTPS.

¿Dudas, preguntas? ¿Tal vez alguna corrección o sugerencia? Nada mejor que dejar un comentario.

¡Apoya este sitio!

Si te ha servido esta pequeña guía de instalación y configuración de phpPgAdmin en CentOS 7 y quieres agradecérnoslo, cualquier mínima contribución ayuda al mantenimiento de este sitio y a la creación de más tutoriales y guías de CentOS 7. ¡Gracias!

Valora esta entrada

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (1 votos, promedio: 5,00 de 5)
Cargando…

Deja un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies.

ACEPTAR
Aviso de cookies