Cómo instalar PostgreSQL y phpPgAdmin en Ubuntu 20.04 LTS

PostgreSQL o Postgres es un potente sistema de gestión de bases de datos objeto-relacionales (ORDBMS) de alto rendimiento, publicado bajo una licencia flexible de tipo BSD. PostgreSQL es adecuado para grandes bases de datos y tiene muchas características avanzadas.

PostgreSQL está disponible para muchos sistemas operativos, como Linux, FreeBSD, Solaris y Microsoft Windows. PhpPgAdmin es una aplicación web basada en PHP para gestionar bases de datos PostgreSQL. Con Phppgadmin, es fácil crear una base de datos, crear un rol y crear tablas en Postgres.

Este tutorial mostrará la instalación de PostgreSQL y su interfaz de administración basada en web phpPgAdmin en Ubuntu 20.04 LTS (Bionic Beaver). Utilizaré el servidor mínimo de Ubuntu como base para esta instalación.

Requisitos previos

  • Ubuntu 20.04
  • Privilegios de root

¿Qué vamos a hacer?

  1. Instalar PostgreSQL y phpPgAdmin
  2. Crear un nuevo usuario PostgreSQL
  3. Configurar Apache2
  4. Configurar el Firewall UFW
  5. Probar

Paso 1 – Instalar PostgreSQL, phpPgAdmin y todas las dependencias

Antes de instalar cualquier paquete en el sistema Ubuntu, actualiza y mejora todos los paquetes con el comando apt que aparece a continuación.

sudo apt update
sudo apt upgrade

Y ahora estamos listos para instalar los paquetes PostgreSQL, phpPgAdmin y Apache2.

PostgreSQL y PhpPgAdmin están disponibles en el repositorio de Ubuntu. Así que sólo tienes que instalarlos con el comando apt.

sudo apt -y install postgresql postgresql-contrib phppgadmin

Una vez completada la instalación, inicia el servicio PostgreSQL y añádelo al arranque del sistema.

systemctl start postgresql
systemctl enable postgresql

A continuación, comprueba el servicio PostgreSQL con el siguiente comando.

systemctl status postgresql

Como resultado, el servicio PostgreSQL está en funcionamiento.

Instalar PostgreSQL en Ubuntu 20.04

Y se ha completado la instalación de todos los paquetes de PostgreSQL y phpPgAdmin.

Paso 2 – Crear un nuevo usuario PostgreSQL

PostgreSQL utiliza roles para la autenticación y autorización de usuarios, al igual que los permisos al estilo Unix. Por defecto, PostgreSQL crea un nuevo usuario llamado «postgres» para la autenticación básica.

En este paso, crearemos un nuevo usuario de PostgreSQL que tendrá privilegios de superusuario, creará una base de datos, creará un rol y se conectará. El nuevo usuario se utilizará para iniciar sesión en el PostgreSQL a través del ‘phpPgAdmin’, y para ello, debemos iniciar sesión en el shell de PostgreSQL como usuario ‘postgres’ por defecto.

Accede al shell de PostgreSQL utilizando el siguiente comando.

sudo -i -u postgres psql

A continuación, crea un nuevo rol ‘hakase’ con la contraseña ‘hakasepasspgsql’ utilizando la siguiente consulta.

CREATE ROLE hakase WITH SUPERUSER CREATEDB CREATEROLE LOGIN ENCRYPTED PASSWORD 'hakasepasspgsql';

Ahora comprueba todos los usuarios disponibles en el sistema PostgreSQL.

\du

Y obtendrás un nuevo usuario ‘hakase’ en la lista, ahora escribe ‘\q’ para salir del shell de PostgreSQL.

Crear un nuevo usuario PostgreSQL

Como resultado, se ha creado un nuevo usuario llamado ‘hakase’, y podrá acceder al servidor PostgreSQL a través del phpPgAdmin.

Paso 3 – Configurar el servidor web Apache

En este paso, configuraremos la configuración de Apache para phpPgAdmin, que se genera automáticamente durante la instalación de los paquetes.

Ve al directorio ‘/etc/apache2/conf-available’ y edita el archivo de configuración ‘phppgadmin.conf’ con vim escribiendo:

cd /etc/apache2/conf-available/
vim phppgadmin.conf

Por defecto, el phpPgAdmin es accesible a través de la ruta URL ‘phppgadmin’. Por razones de seguridad, cambiaremos la ruta URL por defecto de phppgadmin cambiando la opción ‘Alias’.

Cambia la ruta URL por defecto ‘phppgadmin’ por tu propia ruta como se indica a continuación.

Alias /pgsqladminlogin /usr/share/phppgadmin

No comentes la línea ‘#Require local’ añadiendo un # delante de la línea y añade debajo la línea allow from all para que puedas acceder desde tu navegador.

Require all granted

Guarda y cierra.

A continuación, comprueba la configuración de Apache y asegúrate de que no hay ningún error, luego reinicia el servicio de Apache.

apachectl configtest
systemctl restart apache2

Como resultado, la configuración de Apache para phpPgAdmin se ha completado.

Paso 4 – Configurar el cortafuegos UFW

Para esta guía, ejecutaremos los servicios PostgreSQL y Apache bajo el cortafuegos UFW.

Añade los puertos ssh, http y https al cortafuegos ufw con el siguiente comando.

for svc in ssh http https
do
ufw allow $svc
done

A continuación, inicia y habilita el cortafuegos UFW.

ufw enable

Y se te pedirá que te asegures de que quieres ejecutar el servicio de cortafuegos UFW. Escribe«y» y pulsa Intro para iniciar el cortafuegos.

Añadir servicio al cortafuegos UFW

Y el cortafuegos UFW estará en funcionamiento con el protocolo ssh, http y https encima.

Comprueba el estado del cortafuegos UFW con el siguiente comando.

ufw status numbered

A continuación se muestra el resultado que obtendrás.

Mostrar las reglas del cortafuegos UFW

Paso 5 – Prueba

Antes de seguir adelante, comprueba los servicios de puerto de PostgreSQL y Apache utilizando el comando ss de abajo.

ss -plnt

Y obtendrás que el puerto PostgreSQL ‘5432’ y el puerto Apache ’80’ están en estado LISTEN, ambos servicios están funcionando.

Comprueba el puerto con el comando ss

A continuación, abre tu navegador web y escribe la dirección IP del servidor siguiendo con tu ruta personalizada de phpPgAdmin.

http://10.5.5.32/pgsqladminlogin/

Y obtendrás la página predeterminada de phpPgAdmin como la siguiente.

Página de índice de phpPgAdmin

Ahora haz clic en la pestaña«Servidor» y obtendrás la página de inicio de sesión de phpPgAdmin.

Página de inicio de sesión de phpPgAdmin

Escribe el usuario y la contraseña de PostgreSQL que has creado en la parte superior y haz clic en el botón‘Login‘.

Y obtendrás esta interfaz del tablero de phpPgAdmin.

Panel de control de phpPgAdmin

La instalación de la base de datos PostgreSQL con phpPgAdmin en Ubuntu 20.04 LTS se ha completado con éxito.

Conclusión

PostgreSQL es un sistema avanzado de gestión de bases de datos objeto-relacionales (ORDBMS). Es de código abierto y tiene una comunidad grande y activa. PostgreSQL proporciona el programa de línea de comandos psql como front-end principal, que puede utilizarse para introducir consultas SQL directamente o ejecutarlas desde un archivo. phpPgAdmin es una herramienta de administración basada en web para PostgreSQL escrita en PHP que facilita la administración de las bases de datos Postgres.

También te podría gustar...