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.
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.
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 mit Benutzer nano und Passwort’aqwe123@‘ an.
Wenn du dich mit dem Benutzer’postgres‘ und dem richtigen Passwort anmeldest, ist es verboten.