nouvelles
Serverspace a ajouté un nouveau Rocky Linux OS
DF
27 février 2023
Mise à jour en juin 14, 2023

Comment installer et configurer pgAdmin 4 en mode serveur sur Ubuntu 22.04

NGINX Ubuntu

Introduction

pgAdmin est un projet open source conçu pour gérer PostgreSQL bases de données. PostgreSQL est l'un des systèmes de gestion de base de données les plus populaires au monde.

L'outil est facile à utiliser pour les débutants et les professionnels travaillant avec PostgreSQL. Il utilise une base de données relationnelle objet et fournit une interface Web et une version de bureau pour une interaction facile avec les objets de la base de données.

Préparation à l'installation

Pour un bon fonctionnement entre pgAdmin 4 et PostgreSQL, il faut préparer à l'avance :

  • Déployé Ubuntu Serveur 22.04. Un utilisateur avec un accès à la commande sudo. Utilitaire de configuration de l'ufw firewall. Nous vous invitons à utiliser notre instruction;
  • Installé et configuré Nginx as Proxy inverse http://unix:/tmp/pgadmin4.sock;
  • Produits PostgreSQL, vous devez ajouter un nouvel utilisateur, ainsi que base de données à connecter pgAdmin à notre base de données ;
  • Environnement virtuel déployé dans Python;

Étape 1 – Déploiement de pgAdmin et téléchargement des dépendances

En mettant d'abord à jour les index des packages, utilisons l'utilitaire apt intégré.

sudo apt update

Téléchargez les dépendances de libgmp3-dev, une bibliothèque arithmétique de haute précision ; libpq-dev, une bibliothèque qui vous permet de travailler avec PostgreSQL arrière-plan.

sudo apt install libgmp3-dev libpq-dev

Créez plusieurs répertoires dans le but de stocker des informations sur les sessions connectées, le stockage et les fichiers journaux :

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

Créer un utilisateur serverspace:

useradd -m serverspace

Puis une nouvelle phrase de passe pour l'utilisateur serverspace Doit être réglé:

passwd serverspace

Ajoutez-le au sudo groupe:

usermod -aG sudo serverspace

Ensuite, changez les propriétaires du répertoire de root à serverspace, certains utilitaires n'autorisent pas l'accès pour exécuter des services en tant que root :

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

Allez ensuite dans le dossier créé sous le nom "test". Dans ces instructions, les noms des répertoires sont donnés de la même manière que dans les instructions. Accédez au répertoire de test créé précédemment et exécutez l'environnement test_env :

cd test/
source test_env/bin/activate

En exécutant l'environnement virtuel test_env, mettez à jour le package pip pour installer la bibliothèque requise. Dans le cas d'un pip non mis à jour, nous pouvons rencontrer quelques difficultés lors de l'installation de pgAdmin.

Pour mettre à jour le pip, procédez comme suit :

python3 -m pip install -U pip

Utilisez un navigateur Web pour télécharger la dernière version d'un fichier avec une extension .whl. Quelle est l'extension de package standard pour le Python distribution. Copiez le lien de l'utilitaire et saisissez dans la ligne de commande :

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

À l'aide de pip, configurez le package téléchargé :

python -m pip install wheel

Mettre en place:

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

Télécharger Gunicorn en Python WSGI, qui communiquera avec Nginx:

python -m pip install gunicorn

La première étape a été franchie avec succès. Modifiez le fichier de configuration, puis vous pourrez vous connecter à la base de données.

Étape 2 – Configuration de pgAdmin 4

Vous devez sauvegarder le fichier config.py, qui se trouve dans le dossier du package pgAdmin installé. Dans cet exemple, le chemin d'accès au fichier :
/test/test_env/lib/python3.10/site-packages/pgadmin4/

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

Modification du fichier maître - peut entraîner une perte de données :

cp config.py config.py.orig

Le fichier config.py ne doit être modifié que si nécessaire pour éviter d'endommager les données et les performances de pgAdmin 4.

Apportez des modifications au fichier config_local.py.

Important! Le dossier doit se trouver à l'adresse : /site-packages/pgadmin4/

Vous pouvez utiliser l'utilitaire touch pour créer un fichier, ou vous pouvez créer et ouvrir un fichier avec vim ou nano. Nous utiliserons nano :

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

Après ouverture, nous ferons les modifications :

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

Ce bout de code fait :
LOG_FILE : chemin d'accès au fichier journal
SQLITE_PATH : chemin vers les données utilisateur dans la base de données SQLite. Le fichier est stocké dans le répertoire /var/lib/pgadmin4/, nos données utilisateur ne seront pas perdues après la mise à niveau.
SESSION_DB_PATH : chemin vers un répertoire contenant des informations sur les sessions connectées.
STORAGE_DIR : chemin d'accès à un répertoire contenant les informations de stockage et de certificat.
SERVER_MODE : le mode de serveur sélectionné est True.

Pour quitter et enregistrer, appuyez sur ESC, tapez :wq! et appuyez sur ENTREE.

Pour démarrer les configurations à partir de cet emplacement, démarrez pgAdmin avec un certain nombre de commandes.

Configurez une clé publique :

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

Pour continuer, ajoutez un fichier de configuration. Envoyez la commande suivante au 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'

Installez pgadmin4 :

sudo apt install pgadmin4

Exécutons la configuration :

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

Ensuite, nous écrirons nos coordonnées (e-mail, mot de passe) pour la future connexion à l'interface Web pgAdmin :

User configuration for pgamin4

pgAdmin est maintenant disponible sur notre réseau.

Étape 3 – Déployer Gunicorn et Nginx

Gunicorn est responsable de l'exécution de pgAdmin en tant qu'application Web. Il est actuellement possible de se connecter à pgAdmin à partir d'ordinateurs locaux. UN Nginx le serveur Web est configuré pour un accès en dehors de notre réseau.

Allez dans le répertoire racine, puis allez à l'adresse :

cd /etc/nginx/sites-available/

Apportez des modifications au fichier /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;
}
}

Lançons le Python environnement virtuel. Connectez le proxy inverse à l'aide de quelques commandes :

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

La commande doit être exécutée depuis le virtuel test_env space et il ne doit y avoir aucune erreur liée à la bibliothèque dans la sortie.

Étape 4 - Accès à pgAdmin 4

Sur la machine de notre réseau, lancez un navigateur web et dans la barre d'adresse indiquez l'adresse de l'hôte sur lequel pgAdmin est déployé http://ip_serveur/pgadmin4.

L'exemple actuel utilise l'adresse http://10.0.0.1/pgadmin4

Lors de la connexion, indiquez l'email et le mot de passe utilisés pour créer la configuration (Fin "Etape 2 - Configuration de pgAdmin 4").

Connectez-vous par cliappuyant sur le bouton Login (voir écran 1)

Access to pgAdmin
Écran 1 - Accès à pgAdmin

Si l'autorisation a réussi, vous verrez la page d'accueil de l'interface Web de pgAdmin (voir écran 2).

pgAdmin control panel
Écran 2 - panneau de contrôle pgAdmin

Modifiez maintenant le fichier de configuration utilisé pour vous connecter au PostgreSQL base de données.

Stage 5 - PostgreSQL paramétrage utilisateur

Nettoyage à sec CTRL + C arrêtera le processus, retournant ainsi à la console.

En suivant l'élément Processus de configuration du Des instructions. Passons à la configuration.

Connectez-vous au compte administrateur "intégré":

su postgres
psql postgres

Créez un utilisateur et la base de données elle-même à l'aide des commandes :

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

Par exemple :

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

Dans le terminal de la base de données, ajoutez un mot de passe pour l'utilisateur serverpace. Lors du déploiement du SGBD, chaque utilisateur doit créer des mots de passe complexes et spécifier des privilèges utilisateur :

ALTER USER serverspace PASSWORD 'p@55w0rd';

Quittez en appuyant sur \q.

Utilisez le navigateur pour accéder à la console pgAdmin 4. Ajoutez un nouveau serveur à l'aide de l'outil Ajouter un nouveau serveur (voir Écran 3).

Adding a new server
Écran 3 - Ajout d'un nouveau serveur

Entrons le nom (voir Écran 4).

Server name
Écran 4 - Nom du serveur

Allons dans l'onglet Connexion, renseignez les champs Nom d'hôte/adresse (Host name/address) - localhost, Maintenance database (Serving database) - serverspacedb, Nom d'utilisateur (Nom d'utilisateur) - serverspace, Mot de passe (Mot de passe) - spécifié précédemment sur la ligne de commande. Après avoir rempli les champs, cliCliquez sur le bouton Enregistrer (voir écran 5).

Envisager! Les illustrations montrent le nom de la base de données : serverspace.

Filling in the fields for connecting to the database
Ecran 5 - Renseigner les champs de connexion à la base de données

L'exactitude de la connexion est vérifiée dans l'onglet Navigateur. Des symboles (1) apparaîtront dans l'onglet Serveurs, indiquant qu'un nouveau serveur a été connecté. Sous forme développée, nous obtenons des informations sur la base de données (bases de données), les rôles de connexion / groupe (rôles / groupe de connexion), la tablespace (tableauspaces). La section Databases stocke deux bases de données postgres (la base de données standard installée par défaut dans PostgreSQL) et serverspacedb précédemment créée. (Voir Écran 6).

Added server with PostgreSQL tables
Écran 6 - Serveur ajouté avec PostgreSQL les tables

Ajout d'un serveur avec quelques clicks de la souris.

Étape 6 – Création d'un tableau à l'aide de l'interface Web.

Pour créer une table dans une base de données, vous devez :

  1. Sélectionnez Schémas dans le serverspacebase de données db, puis Tables ;
  2. Sélectionnez Créer -> Table. (voir écran 7)
Creating a table
Écran 7 - Création d'un tableau

La fenêtre Créer une table s'ouvrira, dans l'onglet Général. Saisissez ensuite le nom de la table dans le champ Nom. Le propriétaire et les schémas sont renseignés automatiquement. Si nécessaire, vous pouvez apporter des modifications à votre discrétion (voir écran 8).

Table name
Écran 8 - Nom du tableau

Allons dans l'onglet Colonnes, l'ajout d'une colonne est comme suit, appuyez sur le bouton "+", spécifiez Nom, Type de données et la valeur Non NULL pour que toutes les colonnes ne soient pas vides et sélectionnez Clé primaire pour spécifier la clé primaire et click Enregistrer (voir écran 9).

Creating columns in the table
Écran 9 - Création de colonnes dans le tableau

La base de données configurée et notre table avec des colonnes sont apparues. Commençons à remplir la table avec SQL. Droite-click sur notre table et cliCliquez sur Scripts -> CREATE Script (voir écran 10).

Creating a script
Écran 10 - Création d'un script

Ajoutez un script pour remplir les colonnes, vous pouvez également ajouter plus d'informations séparées par des virgules (voir écran 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
Écran 11 - Ajout d'un script

Exécutez le script avec le bouton (▶) et fermez la fenêtre de l'éditeur.

Pour visualiser les modifications apportées au tableau, procédez comme suit :

  • Droite-click sur la table souhaitée ;
  • Sélectionnez Afficher/Modifier les données ;
  • Sélectionnez ensuite Toutes les lignes. (voir écran 12)
View all lines
Écran 12 - Afficher toutes les lignes

Dans la fenêtre qui s'ouvre avec les résultats de la requête terminée, les données terminées sont stockées dans la section Sortie de données. (voir écran 13)

Recorded data
Écran 13 - Données enregistrées

La méthode utilisée est considérée comme l'une de celles utilisées pour créer le tableau et le remplir.
Cependant, l'exemple suivant utilise uniquement une requête SQL :

  • Appelez le menu contextuel sur l'élément Tables ;
  • Sélectionnez Outil de requête. (voir écran 14).
Opening the query tool
Écran 14 - Ouverture de l'outil de requête

Créez un tableau et des colonnes. Remplissez les champs créés avec le type de données, et les informations avec les valeurs "15, 'test_table2', 'True'" (voir écran 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
Écran 15 - Création et remplissage d'un tableau

Lors de la recherche d'une nouvelle table, nous ne trouverons pas la nouvelle table tant que nous n'aurons pas mis à jour le serverspacebase de données db.
Droite-cliCliquez sur la base de données et sélectionnez Actualiser. (voir écran 16)

Database update
Écran 16 - Mise à jour de la base de données

Voyons maintenant les résultats de notre requête de code. Les données sont renseignées conformément à la demande écrite (voir écran 17)

The result of the executed request
Écran 17 - Le résultat de la requête exécutée

Nous avons deux tables : une utilisant une interface visuelle et une utilisant SQL.

Conclusions

pgAdmin est un outil unique pour travailler avec une base de données en mode interface Web.
Comment travailler:

  1. Installer Ubuntu Serveur 22.04 ;
  2. Configurez ufw pour le port 80/tcp ;
  3. Installer Nginx, Python, PostgreSQL;
  4. Déployer l'environnement virtuel dans Python;
  5. Installez la bibliothèque Gunicorn ;
  6. Configurer un proxy inverse dans Nginx;
  7. Configurez Gunicorn et Nginx pour travailler ensemble;
  8. Exécutez le script d'installation du serveur virtuel pgAdmin ;
  9. Démarrez le serveur ;
  10. Accédez au serveur hôte local dans votre navigateur ;
  11. Ajouter un serveur, spécifier des données pour PostgreSQL;
  12. Créez le tableau, remplissez les données et modifiez-les.

Voter:
5 sur 5
Note moyenne : 5
Noté par : 1
1101 CT Amsterdam Pays-Bas, Herikerbergweg 292
+31 20 262-58-98
700 300
ITGLOBAL.COM NL
700 300
Nous utilisons des cookies pour rendre votre expérience sur le Serverspace meilleur. En poursuivant votre navigation sur notre site, vous acceptez nos
Utilisation des cookies et Politique de confidentialité.