So installieren Sie PostgreSQL und phpPgAdmin unter OpenSUSE Leap 42.1

PostgreSQL (die meisten Leute nennen es Postgres) ist ein fortschrittliches objekt-relationales Datenbank-Managementsystem (ORDBMS). Postgres ist ein Open-Source-Datenbankserver mit mehr als 18 Jahren aktiver Entwicklung, was Postgres zur ersten Wahl für Anwendungen der Enterprise-Klasse macht.

Postgresql ist plattformübergreifend und läuft auf vielen Betriebssystemen wie Linux, OSX, Windows und der BSD-Familie. Es ist die richtige Wahl, wenn Sie eine Anwendung mit großen Datenbank-Workloads haben. Postgres wurde von vielen großen Unternehmen wie Yahoo, Instagram und Disqus verwendet. Postgres wird auch als Software as a Service (SaaS) von z.B. Heroku und AWS (Amazon Web Services) angeboten.

In diesem Tutorial zeige ich Ihnen, wie Sie Postgres auf Ihrem eigenen Server mit OpenSUSE Leap als Betriebssystem installieren. Dann werde ich phpPgAdmin installieren, damit wir unsere Postgres-Datenbank über den Webbrowser verwalten können.

Voraussetzung

  • OpenSUSE Sprung 42.1
  • Root-Rechte

Schritt 1 – PostgreSQL installieren

Das openSUSE-Repository enthält zwei Versionen von Postgres. In diesem Schritt werden wir PostgreSQL 9.4 unter openSUSE mit dem Befehl zypper installieren.

Installieren Sie PostgreSQL mit zypper:

zypper in postgresql94 postgresql94-contrib postgresql94-server

Starten Sie postgresql mit systemctl:

systemctl start postgresql

Schritt 2 – Konfigurieren des Standardbenutzers

In diesem Schritt werden wir ein Passwort für den postgres-Benutzer festlegen. Postgresql verwendet ein Konzept, das dem Linux-Benutzersystem „role“ für die grundlegende Authentifizierung und Autorisierung ähnlich ist. Standardmäßig erstellt postgresql einen neuen Benutzer namens „postgres“, um den postgresql-Server zu verwalten.

Lassen Sie uns den ersten Schritt zur Konfiguration der Postgresql-Datenbank machen, indem wir uns vom Terminal aus bei den Postgres des Benutzers anmelden:

sudo su
su - postgres

Jetzt verwenden wir den Befehl psql. psql ist das Kommandozeilen-Frontend für PostgreSQL, von dem aus wir PostgreSQL-Abfragen direkt ausführen können.

psql

Von der psql-Shell aus können wir das Passwort des Benutzers „postgres“ mit dem Befehl „password“ unten ändern:

\password postgres
New Password:

Geben Sie Ihr neues Passwort für den postgres-Benutzer ein.

Setzt ein Passwort für den postgres-Benutzer.

Schritt 3 – Erstellen eines neuen PostgreSQL-Benutzers

In diesem Schritt erstellen wir einen neuen Benutzer/Rolle mit Superuser-Rechten und erstellen eine neue Datenbank und gewähren dem Benutzer Zugriff.

Um einen neuen Benutzer zu erstellen, müssen wir uns als postgres-Benutzer anmelden und dann eine neue Rolle und Datenbank mit dem folgenden Befehl erstellen:

su - postgres
createuser -s nano
createdb nano_db

Hinweis:

Die Option -s wird verwendet, um dem neuen Benutzer Superuser-Rechte zu geben.

nano ist ein neuer Benutzername.

nano_db ist ein neuer Datenbankname.

Melden Sie sich nun in der postgresql-Shell psql an und geben Sie unserer neuen Rolle ein Passwort und gewähren Sie Datenbankzugriff.

psql
alter user nano with encrypted password 'aqwe123@';
grant all privileges on database nano_db to nano;

Ich werde hier das Passwort’aqwe123@‘ für den Benutzer nano verwenden und der Datenbank nano_db die Berechtigungen erteilen.

Einen neuen postgresql-Benutzer anlegen

Dieser Benutzer wird verwendet, um sich über die webbasierte phpPgAdmin-Oberfläche am postgresql anzumelden, da wir keinem Standardbenutzer oder Benutzer ohne Passwort erlauben sollten, sich über phpPgAdmin am postgresql anzumelden.

Schritt 4 – PostgreSQL konfigurieren

In diesem Schritt werden wir PostgreSQL so konfigurieren, dass es die öffentliche IP überwacht, so dass wir mit DB-Modellierungswerkzeugen von unserem Desktop-Computer aus auf sie zugreifen können.

Gehen Sie in das postgresql-Verzeichnis „/var/lib/pgsql/“ und bearbeiten Sie die Hauptkonfigurationsdatei „postgresql.conf“ mit Ihrem bevorzugten Editor:

cd /var/lib/pgsql/
cd data/
vim postgresql.conf

Entkommentiere Zeile 59 und ändere den Wert von localhost auf „*“.

Entkommentieren Sie Zeile 63, um den Standardport zu konfigurieren.

listen_addresses = '*'
port = 5432

Speichern Sie die Datei und verlassen Sie den Editor.

Um den Zugriff von der Webanwendung phpPgAdmin auf die PostgreSQL-Datenbank zu ermöglichen, müssen wir die Datei pg_hba.conf bearbeiten und einige Konfigurationseinstellungen ändern.

Bearbeiten Sie die Datei „pg_hba.conf“ mit vim:

vim pg_hba.conf

Ändern Sie am Ende der Zeile die Konfiguration für die Authentifizierung auf md5:

#TYPE   Database    User    Address     Method
local   all             all                                     md5
host    all             all             127.0.0.1/32            md5
host    all             all             ::1/128                 md5

Wenn Sie neue Verbindungen von außerhalb des Servers zulassen möchten, wie z.B. mit PgAdmin3, können Sie weitere „Host“-Datensätze hinzufügen, z.B. für die IP Ihres Desktops.

Speichern und beenden.

Starten Sie nun den PostgreSQL-Dienst mit dem Befehl systemctl neu:

systemctl restart postgresql

Schritt 5 – Installation und Konfiguration von phpPgAdmin

phpPgAdmin ist eine webbasierte Anwendung zur Verwaltung von PostgreSQL-Datenbanken. Es basiert auf PHP und bietet eine GUI zur Verwaltung von Datenbanken und zur Erstellung von Rollen. In diesem Schritt werden wir phpPgAdmin installieren und da es über den Webbrowser zugänglich ist, verwenden wir apache2 als Webserver.

Installiere phpPgAdmin mit diesem Zypper-Befehl:

zypper in phpPgAdmin

Der Befehl installiert automatisch die Abhängigkeiten PHP und apache Webserver.

Gehen Sie anschließend in das phpPgAdmin-Verzeichnis und bearbeiten Sie die Konfigurationsdatei config.inc.php.

cd /etc/phpPgAdmin/
vim config.inc.php

Setzen Sie in der Zeile 18 der Host-Konfiguration den Wert auf „localhost“.

$conf['servers'][0]['host'] = 'localhost';

Wenn du einem Benutzer mit dem Namen „postgres“ oder „root“ erlauben möchtest, sich mit phpPgAdmin am postgresql anzumelden, kannst du die zusätzliche Sicherheit auf false setzen, aber es wird nicht empfohlen, sie falsch einzustellen. check the line 93.

$conf['extra_login_security'] = true;

Speichern und beenden.

Aktivieren Sie dann die PHP- und Versionserweiterung im Apache, wie sie von phpPgAdmin benötigt wird:

a2enmod php5
a2enmod version

Starten Sie nun alle Dienste mit dem Befehl systemctl neu:

systemctl restart postgresql
systemctl restart apache2

Schritt 6 – Prüfung

Rufen Sie phpPgAdmin über den Webbrowser mit URL auf:

http://192.168.1.101/phpPgAdmin/

Melden Sie sich bei Postgres an.

Melden Sie sich mit Benutzer nano und Passwort’aqwe123@‘ an.

PHPPgAdmin-Schnittstelle

Wenn du dich mit dem Benutzer’postgres‘ und dem richtigen Passwort anmeldest, ist es verboten.

Der Sicherheitsmodus ist eingeschaltet, so dass die Anmeldung mit dem Benutzer postges verweigert wird.

Referenz

Das könnte dich auch interessieren …