News
Serverspace Technologien in den VAE: Einführung von Falconcloud
DF
27. Februar 2023
Aktualisiert Juni 14, 2023

So installieren und konfigurieren Sie pgAdmin 4 im Servermodus Ubuntu 22.04

NGINX Ubuntu

Einleitung

pgAdmin ist ein Open-Source-Projekt zur Verwaltung PostgreSQL Datenbanken. PostgreSQL ist eines der beliebtesten Datenbankverwaltungssysteme der Welt.

Das Tool ist sowohl für Anfänger als auch für Profis einfach zu bedienen PostgreSQL. Es nutzt eine objektrelationale Datenbank und bietet eine Weboberfläche und eine Desktop-Version für die einfache Interaktion mit Datenbankobjekten.

Vorbereitung für die Installation

Für den ordnungsgemäßen Betrieb zwischen pgAdmin 4 und PostgreSQL, es ist notwendig, im Voraus vorzubereiten:

  • Bereitgestellt Ubuntu Server 22.04. Ein Benutzer mit Sudo-Befehlszugriff. Dienstprogramm zum Konfigurieren des UFW firewall. Wir laden Sie ein, unsere zu nutzen Unterricht;
  • Installiert und konfiguriert Nginx as Reverse-Proxy http://unix:/tmp/pgadmin4.sock;
  • Installierte PostgreSQL, müssen Sie auch einen neuen Benutzer hinzufügen Datenbank zum Verbinden pgAdmin zu unserer Datenbank;
  • Virtuelle Umgebung eingesetzt in Python;

Stufe 1 – Bereitstellung von pgAdmin und Herunterladen von Abhängigkeiten

Um zunächst die Paketindizes zu aktualisieren, verwenden wir das integrierte Dienstprogramm apt.

sudo apt update

Laden Sie die Abhängigkeiten von libgmp3-dev herunter, einer Bibliothek für hochpräzise Arithmetik. libpq-dev, eine Bibliothek, die Ihnen die Arbeit mit ermöglicht PostgreSQL Backend.

sudo apt install libgmp3-dev libpq-dev

Erstellen Sie mehrere Verzeichnisse, um Informationen zu verbundenen Sitzungen, Speicher- und Protokolldateien zu speichern:

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

Benutzer erstellen serverspace:

useradd -m serverspace

Dann eine neue Passphrase für den Benutzer serverspace muss eingestellt werden:

passwd serverspace

Fügen Sie es dem hinzu sudo Gruppe:

usermod -aG sudo serverspace

Als nächstes ändern Sie die Verzeichnisbesitzer von root auf serverspace, einige Dienstprogramme erlauben keinen Zugriff zum Ausführen von Diensten als Root:

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

Gehen Sie dann in den Ordner, der unter dem Namen „test“ erstellt wurde. In dieser Anleitung werden die Namen der Verzeichnisse auf die gleiche Weise angegeben wie in die Anleitungen. Gehen Sie in das zuvor erstellte Testverzeichnis und führen Sie die test_env-Umgebung aus:

cd test/
source test_env/bin/activate

Führen Sie die virtuelle Umgebung test_env aus und aktualisieren Sie das Pip-Paket, um die erforderliche Bibliothek zu installieren. Im Falle eines nicht aktualisierten Pip kann es bei der Installation von pgAdmin zu Schwierigkeiten kommen.

Um den Pip zu aktualisieren, gehen Sie wie folgt vor:

python3 -m pip install -U pip

Verwenden Sie einen Webbrowser, um die neueste Version einer Datei mit der Erweiterung .whl herunterzuladen. Welches ist die Standardpaketerweiterung für die Python Verteilung. Kopieren Sie den Link zum Dienstprogramm und geben Sie Folgendes in die Befehlszeile ein:

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

Konfigurieren Sie mit pip das heruntergeladene Paket:

python -m pip install wheel

Es einrichten:

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

Laden Sie Gunicorn herunter Python WSGI, mit dem kommuniziert wird Nginx:

python -m pip install gunicorn

Der erste Schritt wurde erfolgreich abgeschlossen. Ändern Sie die Konfigurationsdatei, dann können Sie eine Verbindung zur Datenbank herstellen.

Stufe 2 – Konfiguration von pgAdmin 4

Sie müssen die Datei config.py sichern, die sich im Ordner des installierten pgAdmin-Pakets befindet. In diesem Beispiel der Pfad zur Datei:
/test/test_env/lib/python3.10/site-packages/pgadmin4/

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

Änderung der Stammdatei – kann zu Datenverlust führen:

cp config.py config.py.orig

Die Datei config.py sollte nur bei Bedarf bearbeitet werden, um eine Beeinträchtigung der Daten und Leistung von pgAdmin 4 zu vermeiden.

Nehmen Sie Änderungen an der Datei config_local.py vor.

Wichtig! Die Datei muss sich an der Adresse befinden: /site-packages/pgadmin4/

Sie können das Touch-Dienstprogramm verwenden, um eine Datei zu erstellen, oder Sie können eine Datei mit vim oder nano erstellen und öffnen. Wir werden Nano verwenden:

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

Nach der Eröffnung nehmen wir die Änderungen vor:

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

Dieser Code führt Folgendes aus:
LOG_FILE: Pfad zur Protokolldatei
SQLITE_PATH: Pfad zu Benutzerdaten in der SQLite-Datenbank. Die Datei wird im Verzeichnis /var/lib/pgadmin4/ gespeichert. Unsere Benutzerdaten gehen nach dem Upgrade nicht verloren.
SESSION_DB_PATH: Pfad zu einem Verzeichnis mit Informationen zu verbundenen Sitzungen.
STORAGE_DIR: Pfad zu einem Verzeichnis mit Speicher- und Zertifikatsinformationen.
SERVER_MODE: Der ausgewählte Servermodus ist True.

Um den Vorgang zu beenden und zu speichern, drücken Sie ESC und geben Sie :wq! ein. und drücken Sie ENTER.

Um Konfigurationen von diesem Speicherort aus zu starten, starten Sie pgAdmin mit einer Reihe von Befehlen.

Richten Sie einen öffentlichen Schlüssel ein:

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

Um fortzufahren, fügen Sie eine Konfigurationsdatei hinzu. Senden Sie den folgenden Befehl an das 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'

Installieren Sie pgadmin4:

sudo apt install pgadmin4

Lassen Sie uns die Konfiguration ausführen:

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

Als nächstes schreiben wir unsere Daten (E-Mail, Passphrase) für die zukünftige Anmeldung bei der pgAdmin-Weboberfläche:

User configuration for pgamin4

pgAdmin ist jetzt in unserem Netzwerk verfügbar.

Stufe 3 – Bereitstellung von Gunicorn und Nginx

Gunicorn ist für die Ausführung von pgAdmin als Webanwendung verantwortlich. Derzeit ist es möglich, von lokalen Computern aus eine Verbindung zu pgAdmin herzustellen. A Nginx Der Webserver ist für den Zugriff außerhalb unseres Netzwerks konfiguriert.

Gehen Sie zum Stammverzeichnis und dann zur Adresse:

cd /etc/nginx/sites-available/

Nehmen Sie Änderungen an der Datei /test_domain.ru vor:

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;
}
}

Lassen Sie uns das ausführen Python virtuelle Umgebung. Verbinden Sie den Reverse-Proxy mit ein paar Befehlen:

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

Der Befehl muss über die virtuelle Datei test_env ausgeführt werden space und es dürfen keine bibliotheksbezogenen Fehler in der Ausgabe enthalten sein.

Stufe 4 – Zugriff auf pgAdmin 4

Starten Sie auf dem Computer in unserem Netzwerk einen Webbrowser und geben Sie in der Adressleiste die Adresse des Hosts an, auf dem pgAdmin bereitgestellt wird http://server_ip/pgadmin4.

Das aktuelle Beispiel verwendet die Adresse http://10.0.0.1/pgadmin4

Geben Sie beim Anmelden die E-Mail-Adresse und das Passwort an, die zum Erstellen der Konfiguration verwendet wurden (Ende „Schritt 2 – Konfiguration von pgAdmin 4“).

Einloggen von cliKlicken Sie auf die Schaltfläche „Anmelden“ (siehe Bildschirm 1).

Access to pgAdmin
Bildschirm 1 – Zugriff auf pgAdmin

Bei erfolgreicher Autorisierung wird die Startseite der pgAdmin-Weboberfläche angezeigt (siehe Bildschirm 2).

pgAdmin control panel
Bildschirm 2 – pgAdmin-Kontrollfeld

Bearbeiten Sie nun die Konfigurationsdatei, die zum Herstellen der Verbindung verwendet wird PostgreSQL Datenbank.

Bühne 5 - PostgreSQL Benutzer Konfiguration

Drücken STRG + C stoppt den Vorgang und kehrt zur Konsole zurück.

Durch Befolgen des Abschnitts „Einrichtungsprozess“ aus dem Anleitung. Fahren wir mit der Einrichtung fort.

Melden Sie sich beim „integrierten“ Administratorkonto an:

su postgres
psql postgres

Erstellen Sie einen Benutzer und die Datenbank selbst mit folgenden Befehlen:

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

Beispielsweise:

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

Fügen Sie im Datenbankterminal ein Passwort für den Serverspace-Benutzer hinzu. Bei der Bereitstellung des DBMS muss jeder Benutzer komplexe Passwörter erstellen und Benutzerrechte angeben:

ALTER USER serverspace PASSWORD 'p@55w0rd';

Beenden Sie durch Drücken \q.

Verwenden Sie den Browser, um auf die pgAdmin 4-Konsole zuzugreifen. Fügen Sie mit dem Tool „Neuen Server hinzufügen“ einen neuen Server hinzu (siehe Bildschirm 3).

Adding a new server
Bildschirm 3 – Hinzufügen eines neuen Servers

Geben wir den Namen ein (siehe Bildschirm 4).

Server name
Bildschirm 4 – Servername

Gehen wir zur Registerkarte „Verbindung“ und füllen Sie die Felder „Hostname/Adresse“ (Hostname/Adresse) – „localhost“, „Wartungsdatenbank“ (Serving-Datenbank) – aus. serverspacedb, Benutzername (Benutzername) - serverspace, Passwort (Passwort) – zuvor in der Befehlszeile angegeben. Nachdem Sie die Felder ausgefüllt haben, cliKlicken Sie auf die Schaltfläche „Speichern“ (siehe Bildschirm 5).

Erwägen! Die Abbildungen zeigen den Namen der Datenbank: serverspace.

Filling in the fields for connecting to the database
Bildschirm 5 – Ausfüllen der Felder für die Verbindung zur Datenbank

Die Richtigkeit der Verbindung wird im Browser-Tab überprüft. Auf der Registerkarte „Server“ werden Symbole (1) angezeigt, die darauf hinweisen, dass ein neuer Server verbunden wurde. In erweiterter Form erhalten wir Informationen zu Datenbank (Datenbanken), Anmelde-/Gruppenrollen (Rollen/Anmeldegruppe), Tabellespace (Tabellespaces). Im Abschnitt „Datenbanken“ werden zwei Postgres-Datenbanken gespeichert (die Standarddatenbank, die standardmäßig in installiert ist). PostgreSQL) und serverspacedb zuvor erstellt. (Siehe Bildschirm 6).

Added server with PostgreSQL tables
Bildschirm 6 – Server hinzugefügt mit PostgreSQL Tabellen

Ein Server mit einigen hinzugefügt clicks der Maus.

Stufe 6 – Erstellen einer Tabelle über das Webinterface.

Um eine Tabelle in einer Datenbank zu erstellen, müssen Sie:

  1. Wählen Sie Schemas im aus serverspacedb-Datenbank, dann Tabellen;
  2. Wählen Sie Erstellen -> Tabelle. (siehe Bildschirm 7)
Creating a table
Bildschirm 7 – Erstellen einer Tabelle

Das Fenster „Tabelle erstellen“ wird auf der Registerkarte „Allgemein“ geöffnet. Geben Sie anschließend im Feld Name den Namen der Tabelle ein. Besitzer und Schemata werden automatisch ausgefüllt. Bei Bedarf können Sie nach eigenem Ermessen Änderungen vornehmen (siehe Bildschirm 8).

Table name
Bildschirm 8 – Tabellenname

Gehen wir zur Registerkarte Spalten. Das Hinzufügen einer Spalte erfolgt wie folgt. Klicken Sie auf die Schaltfläche „+“, geben Sie Name, Datentyp und den Wert Nicht NULL an, damit nicht alle Spalten leer sind, und wählen Sie Primärschlüssel aus, um den Primärschlüssel anzugeben cliKlicken Sie auf Speichern (siehe Bildschirm 9).

Creating columns in the table
Bildschirm 9 – Spalten in der Tabelle erstellen

Die eingerichtete Datenbank und unsere Tabelle mit Spalten erschienen. Beginnen wir damit, die Tabelle mit SQL zu füllen. Rechts-click auf unserem Tisch und cliKlicken Sie auf Skripte -> Skript ERSTELLEN (siehe Bildschirm 10).

Creating a script
Bildschirm 10 – Erstellen eines Skripts

Fügen Sie ein Skript hinzu, um die Spalten auszufüllen. Sie können auch weitere durch Kommas getrennte Informationen hinzufügen (siehe Bildschirm 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
Bildschirm 11 – Hinzufügen eines Skripts

Führen Sie das Skript mit der Schaltfläche (▶) aus und schließen Sie das Editorfenster.

Um die an der Tabelle vorgenommenen Änderungen anzuzeigen, gehen Sie wie folgt vor:

  • Richtig-click auf dem gewünschten Tisch;
  • Wählen Sie Daten anzeigen/bearbeiten;
  • Wählen Sie dann „Alle Zeilen“ aus. (siehe Bildschirm 12)
View all lines
Bildschirm 12 – Alle Zeilen anzeigen

In dem sich öffnenden Fenster mit den Ergebnissen der abgeschlossenen Abfrage werden die abgeschlossenen Daten im Abschnitt Datenausgabe gespeichert. (siehe Bildschirm 13)

Recorded data
Bildschirm 13 – Aufgezeichnete Daten

Die verwendete Methode gilt als eine der Methoden, die zum Erstellen und Ausfüllen der Tabelle verwendet werden.
Das folgende Beispiel verwendet jedoch nur eine SQL-Abfrage:

  • Rufen Sie das Kontextmenü zum Punkt Tabellen auf;
  • Wählen Sie Abfragetool aus. (siehe Bildschirm 14).
Opening the query tool
Bildschirm 14 – Öffnen des Abfragetools

Erstellen Sie eine Tabelle und Spalten. Füllen Sie die erstellten Felder mit dem Datentyp und Informationen mit den Werten „15, ‚test_table2‘, ‚True‘“ (siehe Bildschirm 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
Bildschirm 15 – Erstellen und Füllen einer Tabelle

Wenn wir nach einer neuen Tabelle suchen, werden wir die neue Tabelle erst finden, wenn wir sie aktualisieren serverspacedb-Datenbank.
Richtig-cliÜberprüfen Sie die Datenbank und wählen Sie Aktualisieren. (siehe Bildschirm 16)

Database update
Bildschirm 16 – Datenbankaktualisierung

Sehen wir uns nun die Ergebnisse unserer Codeabfrage an. Die Daten werden gemäß der schriftlichen Anfrage ausgefüllt (siehe Bildschirm 17).

The result of the executed request
Bildschirm 17 – Das Ergebnis der ausgeführten Anfrage

Wir haben zwei Tabellen: eine mit einer visuellen Schnittstelle und eine mit SQL.

Schlussfolgerungen

pgAdmin ist ein einzigartiges Tool zum Arbeiten mit einer Datenbank im Webschnittstellenmodus.
Wie man arbeitet:

  1. Installieren Ubuntu Server 22.04;
  2. Konfigurieren Sie ufw für Port 80/tcp;
  3. Installieren Nginx, Python, PostgreSQL;
  4. Stellen Sie die virtuelle Umgebung bereit in Python;
  5. Installieren Sie die Gunicorn-Bibliothek.
  6. Konfigurieren Sie einen Reverse-Proxy in Nginx;
  7. Konfigurieren Sie Gunicorn und Nginx zusammen arbeiten;
  8. Führen Sie das Installationsskript für den virtuellen Server pgAdmin aus.
  9. Starten Sie den Server;
  10. Gehen Sie in Ihrem Browser zum lokalen Hostserver.
  11. Server hinzufügen, Daten angeben für PostgreSQL;
  12. Erstellen Sie die Tabelle, geben Sie die Daten ein und bearbeiten Sie sie.

Abstimmung:
5 aus 5
Durchschnittliche Bewertung: 5
Bewertet von: 1
1101 CT Amsterdam Niederlande, Herikerbergweg 292
+31 20 262-58-98
700 300
ITGLOBAL.COM NL
700 300
Wir verwenden Cookies, um Ihr Erlebnis auf der Website zu verbessern Serverspace besser. Indem Sie weiterhin auf unserer Website surfen, stimmen Sie unseren zu
Cookies und Datenschutzbestimmungen.