pgAdmin, una plataforma para administrar y desarrollar con PostgreSQL
Hace un tiempo os hablé de la base de datos PostgreSQL y cómo trabajar con ella en GNU/Linux. Pues bien, siguiendo esta estela, hoy hablaremos de pgAdmin. Se trata de una plataforma de administración y desarrollo de código abierto, para esta base de datos. La plataforma se puede utilizar tanto en GNU/Linux como en otros sistemas UNIX y like-UNIX, incluso en sistemas Microsoft Windows, a partir de la versión 9.2 de PostgreSQL. Está escrita en python.
En esta ocasión para la instalación voy a utilizar un sistema operativo CentOS 7. Lo primero de todo es añadir los repositorios de PostgreSQL al sistema, para ello debemos consultar esta página y descargar la última versión. Actualmente es la 10, en mi caso sería:
wget https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
rpm –ivh pgdg-centos10-10-2.noarch.rpm
Una vez hecho ya podemos realizar la instalación, previa actualización:
yum update
yum install pgadmin4-v2
Configuración de pgAdmin 4
Una vez ya lo tenemos instalado en el sistema, modificamos la configuración, donde indicamos donde nos guardará la base de datos del programa, además de otras ubicaciones como la de los registros de actividad:
# vi /usr/lib/python2.7/site-packages/pgadmin4-web/config_distro.py
LOG_FILE = '/var/log/pgadmin4/pgadmin4.log'
SQLITE_PATH = '/var/lib/pgadmin4/pgadmin4.db'
SESSION_DB_PATH = '/var/lib/pgadmin4/sessions'
STORAGE_DIR = '/var/lib/pgadmin4/storage'
Utilizamos el siguiente script para crear la configuración de la base de datos del programa:
# python /usr/lib/python2.7/site-packages/pgadmin4-web/setup.py
NOTE: Configuring authentication for SERVER mode.
Enter the email address and password to use for the initial pgAdmin user account:
Email address: davidochobits@colaboratorio.net
Password: Escribe la contraseña
Retype password: Escribe la contraseña
pgAdmin 4 - Application Initialisation
======================================
Cambiamos los propietarios del directorio donde está ubicada la base de datos:
chown -R apache:apache /var/lib/pgadmin4
chown -R apache:apache /var/log/pgadmin4
Por defecto, en las máquinas que utiliza en mi entorno de casa, tengo deshabilitado SELinux, si lo tenemos habilitado, debemos añadir:
chcon -R -t httpd_sys_content_rw_t "/var/log/pgadmin4/"
chcon -R -t httpd_sys_content_rw_t "/var/lib/pgadmin4/"
Creación del Host Virtual
Debemos crear el fichero de configuración para el host virtual:
# vi /etc/httpd/conf.d/pgadmin4.conf
<VirtualHost *>
ServerName test.ochobitsunbyte.pw
WSGIDaemonProcess pgadmin processes=1 threads=25
WSGIScriptAlias / /usr/lib/python2.7/site-packages/pgadmin4-web/pgAdmin4.wsgi
<Directory "/usr/lib/python2.7/site-packages/pgadmin4-web/">
WSGIProcessGroup pgadmin
WSGIApplicationGroup %{GLOBAL}
Require all granted
</Directory>
</VirtualHost>
Probamos la configuración de Apache escribiendo:
apachectl configtest
Syntax OK
Reiniciamos el servicio Apache:
systemctl restart httpd
Si tenemos el cortafuegos habilitado, debemos añadir las siguientes reglas:
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
success
Y voilà, ya podemos acceder.
Aquí os dejo una captura del producto tras realizar la instalación.
Fuentes de información: