noticias
Serverspace Tecnologías en los Emiratos Árabes Unidos: lanzamiento de Falconcloud
DF
Febrero 27, 2023
Actualizado junio 14, 2023

Cómo instalar y configurar pgAdmin 4 en modo servidor en Ubuntu 22.04

NGINX Ubuntu

Introducción

pgAdmin es un proyecto de código abierto diseñado para administrar PostgreSQL bases de datos. PostgreSQL es uno de los sistemas de gestión de bases de datos más populares del mundo.

La herramienta es fácil de usar para principiantes y profesionales que trabajan con PostgreSQL. Utiliza una base de datos relacional de objetos y proporciona una interfaz web y una versión de escritorio para facilitar la interacción con los objetos de la base de datos.

Preparándose para la instalación

Para un funcionamiento adecuado entre pgAdmin 4 y PostgreSQL, es necesario preparar con antelación:

  • Desplegado Ubuntu Servidor 22.04. Un usuario con acceso al comando sudo. Utilidad para configurar la ufw firewall. Te invitamos a utilizar nuestro instrucción;
  • Instalado y configurado Nginx as proxy inverso http://unix:/tmp/pgadmin4.sock;
  • instalado PostgreSQL, necesita agregar un nuevo usuario, así como base de datos para conectar pgAdmin a nuestra base de datos;
  • Ambiente virtual desplegado en Python;

Etapa 1: implementación de pgAdmin y descarga de dependencias

Primero actualizando los índices de los paquetes, usemos la utilidad apt incorporada.

sudo apt update

Descargue las dependencias de libgmp3-dev, una biblioteca aritmética de alta precisión; libpq-dev, una biblioteca que le permite trabajar con el PostgreSQL backend

sudo apt install libgmp3-dev libpq-dev

Cree varios directorios con el fin de almacenar información sobre sesiones conectadas, almacenamiento y archivos de registro:

sudo mkdir -p /var/lib/pgadmin4/sessions
sudo mkdir /var/lib/pgadmin4/storage
sudo mkdir /var/log/pgadmin4

Crear usuario serverspace:

useradd -m serverspace

Luego, una nueva frase de contraseña para el usuario. serverspace se debe establecer:

passwd serverspace

Añádalo al sudo grupo:

usermod -aG sudo serverspace

A continuación, cambie los propietarios del directorio de raíz a serverspace, algunas utilidades no permiten el acceso para ejecutar servicios como root:

sudo chown -R serverspace:serverspace /var/lib/pgadmin4
sudo chown -R serverspace:serverspace /var/log/pgadmin4

Luego vaya a la carpeta creada con el nombre "prueba". En estas instrucciones, los nombres de los directorios se dan de la misma manera que en las instrucciones. Vaya al directorio de prueba creado anteriormente y ejecute el entorno test_env:

cd test/
source test_env/bin/activate

Al ejecutar el entorno virtual test_env, actualice el paquete pip para instalar la biblioteca requerida. En el caso de un pip no actualizado, podemos encontrar algunas dificultades para instalar pgAdmin.

Para actualizar el pip, proceda de la siguiente manera:

python3 -m pip install -U pip

Use un navegador web para descargar la última versión de un archivo con una extensión .whl. ¿Cuál es la extensión del paquete estándar para el Python distribución. Copie el enlace de la utilidad y escriba en la línea de comando:

wget https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v6.10/pip/pgadmin4-6.10-py3-none-any.whl

Usando pip, configure el paquete descargado:

python -m pip install wheel

Prepararlo:

python -m pip install pgadmin4-6.10-py3-none-any.whl

Descargar Gunicorn en Python WSGI, que se comunicará con Nginx:

python -m pip install gunicorn

El primer paso se ha completado con éxito. Modifique el archivo de configuración, luego podrá conectarse a la base de datos.

Etapa 2: configuración de pgAdmin 4

Debe hacer una copia de seguridad del archivo config.py, que se encuentra en la carpeta del paquete pgAdmin instalado. En este ejemplo, la ruta al archivo:
/prueba/env_prueba/lib/python3.10/paquetes-del-sitio/pgadmin4/

cd /test/test_env/lib/python3.10/site-packages/pgadmin4/

Cambiar el archivo maestro puede provocar la pérdida de datos:

cp config.py config.py.orig

El archivo config.py solo debe editarse si es necesario para evitar dañar los datos y el rendimiento de pgAdmin 4.

Realice ediciones en el archivo config_local.py.

¡Importante! El archivo debe estar ubicado en la dirección: /sitio-paquetes/pgadmin4/

Puede usar la utilidad táctil para crear un archivo, o puede crear y abrir un archivo con vim o nano. Usaremos nano:

nano /test_env/lib/python3.10/site-packages/pgadmin4/config_local.py

Después de abrir, haremos las ediciones:

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'
AZURE_CREDENTIAL_CACHE_DIR = '/var/lib/pgadmin4/azurecredentialcache'
SERVER_MODE = True

Esta pieza de código hace:
LOG_FILE: ruta al archivo de registro
SQLITE_PATH: Ruta a los datos de usuario en la base de datos SQLite El archivo se almacena en el directorio /var/lib/pgadmin4/, nuestros datos de usuario no se perderán después de la actualización.
SESSION_DB_PATH: ruta a un directorio que contiene información sobre las sesiones conectadas.
STORAGE_DIR: ruta a un directorio que contiene información de almacenamiento y certificado.
SERVER_MODE: el modo de servidor seleccionado es True.

Para salir y guardar, presione ESC, escriba :wq! y presione ENTRAR.

Para iniciar configuraciones desde esta ubicación, inicie pgAdmin con varios comandos.

Configurar una clave pública:

curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg

Para continuar, agregue un archivo de configuración. Envía el siguiente comando a la terminal:

sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/packages-pgadmin-org.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && apt update'

Instalar pgadmin4:

sudo apt install pgadmin4

Ejecutemos la configuración:

sudo /usr/pgadmin4/bin/setup-web.sh

A continuación, escribiremos nuestros detalles (correo electrónico, frase de contraseña) para el futuro inicio de sesión en la interfaz web de pgAdmin:

User configuration for pgamin4

pgAdmin ya está disponible en nuestra red.

Etapa 3: implementación de Gunicorn y Nginx

Gunicorn es responsable de ejecutar pgAdmin como una aplicación web. Actualmente es posible conectarse a pgAdmin desde computadoras locales. A Nginx servidor web está configurado para el acceso fuera de nuestra red.

Vaya al directorio raíz, luego vaya a la dirección:

cd /etc/nginx/sites-available/

Realice cambios en el archivo /test_domain.ru:

server {
listen 80; #Listening on port 80 IPv4
listen [::]:80; #In most cases, when starting nginx -t gives an error, is sent to this line, when you get an error, comment out the line
server_name test_domain.ru www.test_domain.ru; #Server name
location / { #Path
proxy_pass http://unix:/tmp/pgadmin4.sock; #reverse proxy
include proxy_params;
}
}

Ejecutemos el Python ambiente virtual. Conecte el proxy inverso usando algunos comandos:

source /test/test_env/bin/activate
gunicorn --bind unix:/tmp/pgadmin4.sock --workers=1 --threads=25 --chdir /root/test/test_env/lib/python3.10/site-packages/pgadmin4 pgAdmin4:app
#Output
[2022-11-04 21:55:37 +0000] [6338] [INFO] Starting gunicorn 20.1.0
[2022-11-04 21:55:37 +0000] [6338] [INFO] Listening at: unix:/tmp/pgadmin4.sock (6338)
[2022-11-04 21:55:37 +0000] [6338] [INFO] Using worker: gthread
[2022-11-04 21:55:37 +0000] [6339] [INFO] Booting worker with pid: 6339

El comando debe ejecutarse desde el test_env virtual space y no debe haber errores relacionados con la biblioteca en la salida.

Etapa 4 - Acceso a pgAdmin 4

En la máquina en nuestra red, inicie un navegador web y en la barra de direcciones especifique la dirección del host donde se implementa pgAdmin http://ip_servidor/pgadmin4.

El ejemplo actual utiliza la dirección http://10.0.0.1/pgadmin4

Al iniciar sesión, especifique el correo electrónico y la contraseña que utilizó para crear la configuración (Finalizar "Paso 2 - Configuración de pgAdmin 4").

Iniciar sesión por clihaciendo clic en el botón Iniciar sesión (ver Pantalla 1)

Access to pgAdmin
Pantalla 1 - Acceso a pgAdmin

Si se autorizó con éxito, verá la página de inicio de la interfaz web de pgAdmin (ver Pantalla 2).

pgAdmin control panel
Pantalla 2 - Panel de control de pgAdmin

Ahora edite el archivo de configuración utilizado para conectarse al PostgreSQL base de datos.

Etapa 5 - PostgreSQL Configuración de usuario

Prensado CTRL + C detendrá el proceso, volviendo así a la consola.

Siguiendo el elemento Proceso de configuración de la Instrucciones. Procedamos a la configuración.

Inicie sesión en la cuenta de administrador "incorporada":

su postgres
psql postgres

Crea un usuario y la propia base de datos usando los comandos:

CREATE ROLE <login> LOGIN PASSWORD '<password>';
CREATE DATABASE <database> WITH OWNER = <login>;

Por ejemplo:

CREATE ROLE serverspace LOGIN PASSWORD 'ububntu';
CREATE DATABASE serverspacedb WITH OWNER = serverspace;

En la terminal de la base de datos, agregue una contraseña para el usuario del espacio del servidor. Al implementar el DBMS, cada usuario debe crear contraseñas complejas y especificar privilegios de usuario:

ALTER USER serverspace PASSWORD 'p@55w0rd';

Salir presionando \q.

Utilice el navegador para acceder a la consola de pgAdmin 4. Agregue un nuevo servidor usando la herramienta Agregar nuevo servidor (vea la pantalla 3).

Adding a new server
Pantalla 3: agregar un nuevo servidor

Ingresemos el nombre (ver Pantalla 4).

Server name
Pantalla 4 - Nombre del servidor

Vayamos a la pestaña Conexión, complete los campos Nombre de host / dirección (Nombre de host / dirección) - localhost, Base de datos de mantenimiento (Base de datos de servicio) - serverspacedb, Nombre de usuario (Nombre de usuario) - serverspace, Contraseña (Contraseña): especificado anteriormente en la línea de comando. Después de llenar los campos, cliHaga clic en el botón Guardar (ver Pantalla 5).

¡Considerar! Las ilustraciones muestran el nombre de la base de datos: serverspace.

Filling in the fields for connecting to the database
Pantalla 5 - Relleno de los campos de conexión a la base de datos

La corrección de la conexión se comprueba en la pestaña Navegador. Los símbolos (1) aparecerán en la pestaña Servidores, notificando que se ha conectado un nuevo servidor. En forma expandida, obtenemos información sobre Base de datos (Bases de datos), Inicio de sesión / Roles de grupo (Roles / Grupo de inicio de sesión), TablaspaCE (Tablaspaces). La sección Bases de datos almacena dos bases de datos postgres (la base de datos estándar instalada por defecto en PostgreSQL) y serverspacebase de datos creada anteriormente. (Ver Pantalla 6).

Added server with PostgreSQL tables
Pantalla 6 - Servidor agregado con PostgreSQL tablas

Se agregó un servidor con algunos clicks del ratón.

Etapa 6: creación de una tabla mediante la interfaz web.

Para crear una tabla en una base de datos, debe:

  1. Seleccione Esquemas en el serverspacebase de datos db, luego Tablas;
  2. Seleccione Crear -> Tabla. (ver Pantalla 7)
Creating a table
Pantalla 7 - Creación de una tabla

Se abrirá la ventana Crear tabla, en la pestaña General. A continuación, ingrese el nombre de la tabla en el campo Nombre. El propietario y los esquemas se completan automáticamente. Si es necesario, puede realizar cambios a su discreción (consulte la pantalla 8).

Table name
Pantalla 8 - Nombre de la tabla

Vayamos a la pestaña Columnas, agregar una columna es la siguiente, presione el botón "+", especifique Nombre, Tipo de datos y el valor No NULL para que todas las columnas no estén vacías y seleccione Clave principal para especificar la clave principal y click Guardar (Ver Pantalla 9).

Creating columns in the table
Pantalla 9 - Creando columnas en la tabla

Apareció la base de datos configurada y nuestra tabla con columnas. Comencemos a llenar la tabla con SQL. Bien-click en nuestra mesa y cliHaga clic en Scripts -> CREAR Script (ver Pantalla 10).

Creating a script
Pantalla 10 - Creación de un guión

Agregue un script para completar las columnas, también puede agregar más información separada por comas (ver Pantalla 11).

/*Adding information to a table*/
INSERT INTO public."test_table"(
/*Line names*/
test_col1,
test_col2,
test_col3)
/*Values*/
VALUES
/*Row Information*/
('Test1', 10, 'True'),
('Test2', 20, 'False'),
('Test3', 30, 'True');
Adding a script
Pantalla 11 - Adición de un guión

Ejecute el script con el botón (▶) y cierre la ventana del editor.

Para ver los cambios realizados en la tabla, proceda de la siguiente manera:

  • Derecha-click en la tabla deseada;
  • Seleccione Ver/Editar datos;
  • Luego seleccione Todas las filas. (ver Pantalla 12)
View all lines
Pantalla 12 - Ver todas las líneas

En la ventana que se abre con los resultados de la consulta completa, los datos completos se almacenan en la sección Salida de datos. (ver Pantalla 13)

Recorded data
Pantalla 13 - Datos registrados

El método utilizado se considera uno de los utilizados para crear la tabla y rellenarla.
Sin embargo, el siguiente ejemplo usa solo una consulta SQL:

  • Llame al menú contextual en el elemento Tablas;
  • Seleccione Herramienta de consulta. (ver Pantalla 14).
Opening the query tool
Pantalla 14 - Abriendo la herramienta de consulta

Crear una tabla y columnas. Rellene los campos creados con el tipo de datos y la información con los valores "15, 'test_table2', 'True'" (ver Pantalla 15):

/*Create a table called test_table2*/
Create table test_table2 (
/*Table attributes*/
test_table1 int,
test_table2 text,
test_table3 boolean );
/*Script to fill the table*/
insert into test_table2 (
/*Entering data into tables and their attributes*/
test_table1,
test_table2,
test_table3 )
/*Fillable Attribute Values*/
values (15, 'test_table2', 'True');
Creating and filling a table
Pantalla 15 - Creando y llenando una tabla

Al buscar una nueva tabla, no encontraremos la nueva tabla hasta que actualicemos la serverspacebase de datos de la base de datos.
Derecha-click en la base de datos y seleccione Actualizar. (ver Pantalla 16)

Database update
Pantalla 16 - Actualización de la base de datos

Ahora veamos los resultados de nuestra consulta de código. Los datos se completan de acuerdo con la solicitud por escrito (ver Pantalla 17)

The result of the executed request
Pantalla 17 - El resultado de la solicitud ejecutada

Tenemos dos tablas: una que usa una interfaz visual y otra que usa SQL.

Conclusiones

pgAdmin es una herramienta única para trabajar con una base de datos en modo de interfaz web.
Como trabajar:

  1. Instalar Ubuntu Servidor 22.04;
  2. Configure ufw para el puerto 80/tcp;
  3. Instalar Nginx, Python, PostgreSQL;
  4. Implementar el entorno virtual en Python;
  5. Instale la biblioteca Gunicorn;
  6. Configurar un proxy inverso en Nginx;
  7. Configurar Gunicorn y Nginx trabajar juntos;
  8. Ejecute el script de instalación del servidor virtual pgAdmin;
  9. Inicie el servidor;
  10. Vaya al servidor host local en su navegador;
  11. Agregar servidor, especificar datos para PostgreSQL;
  12. Crea la tabla, completa los datos y edita.

Votar:
5 de 5
Calificación promedio: 5
Calificado por: 1
1101 CT Ámsterdam Países Bajos, Herikerbergweg 292
+31 20 262-58-98
700 300
ITGLOBAL.COM NL
700 300
Utilizamos cookies para hacer que su experiencia en el Serverspace mejor. Al continuar navegando en nuestro sitio web, usted acepta nuestros
Uso de Cookies y Sitio de Política de privacidad.