Cómo instalar pgAdmin4 en CentOS 7


PgAdmin4 es una interfaz web fácil de usar para administrar bases de datos PostgreSQL. Se puede usar en múltiples plataformas, como Linux, Windows y Mac OS X. En pgAdmin 4 hay una migración de bootstrap 3 a bootstrap 4.

En este tutorial vamos a instalar pgAdmin 4 en un sistema CentOS 7 .

Cómo instalar pgAdmin 4 en CentOS 7

Este paso debería haberse completado en la instalación de PostgreSQL, pero si no lo ha hecho, puede completarlo con:

# yum -y install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm

Ahora está listo para instalar pgAdmin con:

# yum -y install pgadmin4

Durante la instalación, debido a las dependencias, también se instalarán los dos siguientes: pgadmin4-web y httpd web server .

Cómo configurar pgAdmin 4 en CentOS 7

Hay algunos cambios menores en la configuración que deben realizarse para que pgAdmin4 se esté ejecutando. Primero cambiaremos el nombre del archivo conf de muestra de pgadmin4.conf.sample a pgadmin4.conf :

# mv /etc/httpd/conf.d/pgadmin4.conf.sample /etc/httpd/conf.d/pgadmin4.conf

Ajusta el archivo para que se vea así:

<VirtualHost *:80>
LoadModule wsgi_module modules/mod_wsgi.so
WSGIDaemonProcess pgadmin processes=1 threads=25
WSGIScriptAlias /pgadmin4 /usr/lib/python2.7/site-packages/pgadmin4-web/pgAdmin4.wsgi

<Directory /usr/lib/python2.7/site-packages/pgadmin4-web/>
        WSGIProcessGroup pgadmin
        WSGIApplicationGroup %{GLOBAL}
        <IfModule mod_authz_core.c>
                # Apache 2.4
                Require all granted
        </IfModule>
        <IfModule !mod_authz_core.c>
                # Apache 2.2
                Order Deny,Allow
                Deny from All
                Allow from 127.0.0.1
                Allow from ::1
        </IfModule>
</Directory>
</VirtualHost>

A continuación, crearemos registros y directorios lib para pgAdmin4 y estableceremos su propiedad:

# mkdir -p /var/lib/pgadmin4/
# mkdir -p /var/log/pgadmin4/
# chown -R apache:apache /var/lib/pgadmin4
# chown -R apache:apache /var/log/pgadmin4

Y luego podemos ampliar el contenido de nuestro config_distro.py .

# vi /usr/lib/python2.7/site-packages/pgadmin4-web/config_distro.py

Y añada las siguientes líneas:

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'

Finalmente, crearemos nuestra cuenta de usuario, con la cual nos autentificaremos en la interfaz web. Para ello, ejecute:

# python /usr/lib/python2.7/site-packages/pgadmin4-web/setup.py

Ahora puede acceder a http:/ip-address/pgadmin4 de su servidor o http:/localhost/pgadmin4 para acceder a la interfaz pgAdmin4:

Si recibe el error 403 al acceder a la interfaz de PgAdmin4 , debe configurar el contexto de SELinux correcto en los siguientes archivos.

# chcon -t httpd_sys_rw_content_t /var/log/pgadmin4 -R
# chcon -t httpd_sys_rw_content_t /var/lib/pgadmin4 -R

Para autenticarse, use la dirección de correo electrónico y la contraseña que usó anteriormente. Una vez que se autentique, debería ver la interfaz pgAdmin4:

En su primer inicio de sesión, deberá agregar un nuevo servidor para administrar. Haga clic en " Agregar nuevo servidor ". Deberá configurar la conexión PostgresQL . En la primera pestaña " General ", ingrese la siguiente configuración:

  • Name – give name of the server you are configuring.
  • Comment – leave a comment to give description of the instance.

La segunda pestaña " Conexión " es más importante, ya que tendrás que ingresar:

  • Host – host/IP address of the PostgreSQL instance.
  • Port – default port is 5432.
  • Maintenance database – this should be postgres.
  • Username – the username which will be connecting. You can use postgres user.
  • Password – password for the above user.

Cuando hayas llenado todo, guarda los cambios. Si la conexión fue exitosa, debería ver la siguiente página:

Esto fue. Su instalación pgAdmin4 está completa y puede comenzar a administrar su base de datos PostgreSQL.