Wie man PostgreSQL und pgAdmin4 auf Ubuntu 18.04 LTS installiert

pgAdmin4 ist ein Open-Source-PostgreSQL-Verwaltungstool, das für mehrere PostgreSQL-Datenbankversionen entwickelt wurde. pgAdmin4 wurde mit allen Funktionen erstellt, die auf dem PostgreSQL-Server zu finden sind. Geschrieben in Python und Jquery und kann auf Windows, Mac und Linux installiert werden. Es bietet mehrere Bereitstellungsmodelle, kann als Desktop-Anwendung oder als Server-Anwendung, die hinter dem Webserver läuft, wie z.B. Apache2, installiert werden.

In diesem Tutorial zeigen wir Ihnen die Installation und Konfiguration von pgAdmin4 ‚Server Mode‘ auf einem Ubuntu 18.04 Server. Der pgAdmin4 wird als uWSGI-Dienst hinter dem Apache-Webserver laufen, und wir decken sowohl pgAdmin4-Installationen aus dem Repository als auch aus der Quelle ab.

Voraussetzungen

  • Ubuntu 18.04 Server
  • Root-Privilegien
  • Grundkenntnisse PostgreSQL-Installation

Installieren Sie PostgreSQL auf dem Ubuntu 18.04 Server

Zuerst zeigen wir Ihnen die grundlegende Installation und Konfiguration der PostgreSQL-Datenbank selbst. Es kann aus dem offiziellen PostgreSQL-Repository und aus dem Standard-Ubuntu-Repository installiert werden.

Wenn Sie die PostgreSQL-Datenbank aus dem offiziellen Repository installieren möchten, fügen Sie den Postgres-Schlüssel und das Repository hinzu, indem Sie folgende Befehle ausführen.

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
 sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'

Aktualisieren Sie danach alle Repositorys und installieren Sie PostgreSQL.

sudo apt update
 sudo apt -y install postgresql postgresql-contrib

Melden Sie sich nach der Installation beim Standardbenutzer ‚postgres‘ an und führen Sie die PostgreSQL-Befehlszeilenschnittstelle ‚psql‘ aus.

su - postgres
 psql

Fügen Sie nun ein neues Passwort für den Postgres-Benutzer hinzu, indem Sie die folgende Abfrage auf der psql-Schnittstelle ausführen.

\password postgres
 TYPE YOUR PASSWORD

pgAdmin4 vom Repository aus installieren

Standardmäßig bietet die PostgreSQL ein eigenes Repository für die Installation der pgAdmin4-Pakete.

1. PostgreSQL-Repository hinzufügen

Laden Sie den PostgreSQL-Schlüssel herunter und fügen Sie das Repository hinzu, indem Sie den folgenden Befehl ausführen.

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
 sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'

2. pgadmin4 installieren

Aktualisieren Sie danach alle verfügbaren Repositorys und installieren Sie die pgAdmin4-Pakete mit dem unten stehenden apt-Befehl.

sudo apt update
 sudo apt install pgadmin4 pgadmin4-apache2 -y

Während der Installation werden Sie zur Konfiguration des E-Mail-Benutzernamens und des Passworts aufgefordert.

Geben Sie Ihre eigene E-Mail-Adresse ein, die als Benutzername verwendet wird.

Geben Sie dann das Passwort ein.

Sobald die Installation abgeschlossen ist, öffnen Sie Ihren Webbrowser und geben Sie die IP-Adresse des Servers wie unten beschrieben ein.

http://10.9.9.15/pgadmin4/

Und es wird Ihnen die pgAdmin4-Anmeldeseite angezeigt. Melden Sie sich mit Ihrer E-Mail-Adresse und Ihrem Passwort an.

Und Sie erhalten das pgAdmin-Dashboard.

pgAdmin4 von der Quelle installieren

Um den pgAdmin4 aus den Quellen zu installieren, müssen wir einige Paketabhängigkeiten zum System installieren und den Apache-Webserver manuell konfigurieren, um den pgAdmin4 uWSGI-Dienst zu bedienen.

– Benutzer und Verzeichnisse erstellen

Zunächst einmal wollen wir pgAdmin4 auf dem Nicht-Root-Benutzer installieren. Wir müssen also einen neuen Benutzer anlegen und einige Verzeichnisse für pgAdmin4 erstellen.

Erstellen Sie einen neuen Benutzer namens ‚ahmad‘, indem Sie den folgenden Befehl ausführen.

useradd -m -s /bin/bash ahmad
 passwd ahmad

Erstellen Sie nun das pgAdmin4-Protokollverzeichnis und die Datenverzeichnisse für die ‚Sitzungen‘ und ‚Speicherung‘.

mkdir -p /var/log/pgadmin4/
 mkdir -p /var/lib/pgadmin4/{sessions,storage}

Danach ändern Sie den Besitzer all dieser Verzeichnisse auf den Benutzer ‚ahmad‘.

chown -R ahmad:ahmad /var/log/pgadmin4/ /var/lib/pgadmin4/

– Abhängigkeiten installieren

Installieren Sie alle benötigten Paketabhängigkeiten wie Python, Python pip und virtualenv für die Installation von pgAdmin4, indem Sie folgende Befehle ausführen.

sudo apt install build-essential libssl-dev libffi-dev libgmp3-dev virtualenv python-pip libpq-dev python-dev -y

Danach installieren Sie den Apache2-Webserver und den mod_wsgi.

sudo apt install apache2 apache2-utils libapache2-mod-wsgi libexpat1 ssl-cert python -y

– Virtuelle Umgebung Python erstellen

Für diese Anleitung werden wir pgAdmin4 in einer virtuellen Python-Umgebung installieren.

Melden Sie sich beim Benutzer ‚ahmad‘ an und erstellen Sie eine neue virtuelle Python-Umgebung namens ‚pgamdin4‘.

su - ahmad
 virtualenv pgadmin4

Gehen Sie nun in das Verzeichnis ‚pgadmin4‘ und aktivieren Sie die virtuelle Umgebung.

cd pgadmin4/
 source bin/activate

– pgadmin4 installieren

Innerhalb der virtuellen Python-Umgebung können Sie die pgAdmin4 whl-Paketdatei herunterladen.

wget https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v3.6/pip/pgadmin4-3.6-py2.py3-none-any.whl

Installieren Sie dann das Paket mit dem pip-Befehl.

pip install pgadmin4-3.6-py2.py3-none-any.whl

Warten Sie auf die Installation von pgAdmin4.

Um pgAdmin4 im ‚Server-Modus‘ auszuführen, müssen wir eine zusätzliche Konfiguration zum Verzeichnis der Python-Site-Pakete hinzufügen.

Gehen Sie in das Verzeichnis ‚lib/python-version/site-packages/pgadmin4‘ und erstellen Sie eine neue Konfigurationsdatei namens ‚config_local.py‘.

cd lib/python2.7/site-packages/pgadmin4/
 vim config_local.py

Konfiguration unten einfügen.

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'
SERVER_MODE = True

Speichern und schließen.

Danach führen Sie das Skript ’setup.py‘ aus.

python setup.py

Und Sie werden nach der Konfiguration der Admin-E-Mail und des Passworts gefragt. Geben Sie Ihre Daten ein und die Installation von pgAdmin ist abgeschlossen.

Anmerkung:

Wenn Sie eine Benachrichtigung erhalten, dass das Paket ‚psycopg2‘ in der nächsten Version umbenannt wird, installieren Sie einfach die Binärversion des Pakets.

pip install psycopg2-binary

Deaktivieren Sie danach die virtuelle Python-Umgebung und ändern Sie den Besitzer des pgAdmin4 Log- und Datenverzeichnisses auf den Benutzer ‚www-data‘.

Deaktivieren Sie

chown -R www-data:www-data /var/lib/pgadmin4/
 chown -R www-data:www-data /var/log/pgadmin4/

– Konfigurieren Sie Apache2

Für diesen Leitfaden wird der Apache2 Webserver als Reverse-Proxy für die uWSGI-Anwendung pgAdmin4 verwendet.

Gehen Sie in das Verzeichnis ‚/etc/apache2/sites-available‘ und erstellen Sie eine neue virtuelle Host-Datei mit dem Namen ‚pgadmin4.conf‘.

cd /etc/apache2/sites-available/
 vim pgadmin4.conf

Ändern Sie den ‚ServerName‘ mit Ihrem eigenen Domainnamen und fügen Sie ihn in diesen ein.

<VirtualHost *:80>
    ServerName pgadmin.ahmad-labs.io
    LogLevel debug
    ErrorLog ${APACHE_LOG_DIR}/pgadmin-error.log
    CustomLog ${APACHE_LOG_DIR}/pgadmin-access.log combined

    LoadModule wsgi_module modules/mod_wsgi.so
    WSGIDaemonProcess pgadmin processes=1 threads=25 python-home=/home/ahmad/pgadmin4
    WSGIScriptAlias / /home/ahmad/pgadmin4/lib/python2.7/site-packages/pgadmin4/pgAdmin4.wsgi
 
    <Directory "/home/ahmad/pgadmin4/lib/python2.7/site-packages/pgadmin4/">
        WSGIProcessGroup pgadmin
        WSGIApplicationGroup %{GLOBAL}
        Require all granted
    </Directory>
</VirtualHost>

Speichern und schließen.

Testen Sie nun die Konfiguration und aktivieren Sie die virtuellen pgAdmin4-Hosts.

apachectl configtest
 a2ensite pgadmin4

Stellen Sie sicher, dass kein Fehler vorliegt, und starten Sie dann den Apache2-Dienst neu.

systemctl restart apache2

Schließlich ist pgAdmin4 jetzt als uWSGI-Dienst hinter dem Apache-Webbrowser eingerichtet und läuft.

Öffnen Sie nun Ihren Webbrowser und geben Sie den pgadmin-Domänennamen ein.

http://pgadmin.hakase-labs.io/

Und Sie erhalten die pgAdmin4-Anmeldeseite wie unten beschrieben.

Verbinden Sie sich mit pgAdmin4 mit der PostgreSQL-Datenbank

Melden Sie sich mit Ihrer E-Mail-Adresse und Ihrem Passwort beim pgAdmin4 Dashboard an.

Klicken Sie nun auf die Schaltfläche ‚Add Server‘, geben Sie die Details des PostgreSQL-Servers ein, den Sie verbinden möchten.

Und klicken Sie auf ‚Speichern‘.

Danach erhalten Sie auf der linken Seite Details zu Ihrer PostgreSQL-Datenbank.

Schließlich ist pgAdmin4 jetzt auch auf Ubuntu 18.04 installiert.

Links

Das könnte Dich auch interessieren …