PostgreSQL en phpPgAdmin installeren op Ubuntu 20.04 LTS

PostgreSQL of Postgres is een krachtig en krachtig object-relationeel databasemanagement systeem (ORDBMS) dat wordt uitgebracht onder een flexibele BSD-achtige licentie. PostgreSQL is zeer geschikt voor grote databases en heeft veel geavanceerde mogelijkheden.

PostgreSQL is beschikbaar voor vele besturingssystemen, waaronder Linux, FreeBSD, Solaris, en Microsoft Windows. PhpPgAdmin is een op PHP gebaseerde webtoepassing voor het beheer van PostgreSQL databases. Met Phppgadmin is het eenvoudig om een databank aan te maken, een rol in te stellen en tabellen in Postgres aan te maken.

Deze handleiding toont de installatie van PostgreSQL en zijn web-gebaseerde beheerinterface phpPgAdmin op Ubuntu 20.04 LTS (Bionic Beaver). Ik zal deUbuntu minimale server gebruikenals basis voor deze opstelling.

Vereisten

  • Ubuntu 20.04
  • Root voorrechten

Wat zullen we doen?

  1. Installeer PostgreSQL en phpPgAdmin
  2. Maak een nieuwe gebruiker PostgreSQL
  3. Configureer Apache2
  4. UFW Firewall instellen
  5. Testen van

Stap 1 – Installeer PostgreSQL, phpPgAdmin en alle afhankelijkheden

Voordat je pakketten op het Ubuntu systeem installeert, werk je alle pakketten bij en upgrade je ze met het apt commando hieronder.

sudo apt update
sudo apt upgrade

En nu zijn we klaar voor de installatie van PostgreSQL, phpPgAdmin, en Apache2 pakketten.

PostgreSQL en PhpPgAdmin zijn beschikbaar in de Ubuntu repository. Je hoeft ze dus alleen maar te installeren met het apt commando.

sudo apt -y install postgresql postgresql-contrib phppgadmin

Als alle installatie voltooid is, start je de PostgreSQL dienst en voeg je hem toe aan het systeem opstarten.

systemctl start postgresql
systemctl enable postgresql

Controleer vervolgens de PostgreSQL dienst met het volgende commando.

systemctl status postgresql

Het resultaat is dat de PostgreSQL dienst up and running is.

Installeer PostgreSQL op Ubuntu 20.04

En de installatie van alle pakketten PostgreSQL en phpPgAdmin is voltooid.

Stap 2 – Nieuwe gebruiker PostgreSQL aanmaken

PostgreSQL gebruikt rollen voor gebruikersauthenticatie en -autorisatie, het is net als Unix-achtige permissies. Standaard maakt PostgreSQL een nieuwe gebruiker genaamd “postgres” voor basis authenticatie.

In deze stap maken we een nieuwe PostgreSQL gebruiker aan die privileges heeft als superuser, een database aanmaken, rol aanmaken, en inloggen. De nieuwe gebruiker zal gebruikt worden om in te loggen in PostgreSQL via de ‘phpPgAdmin’, en om dat te doen, moeten we in de PostgreSQL shell inloggen als standaard ‘postgres’ gebruiker.

Log in op de PostgreSQL shell met het onderstaande commando.

sudo -i -u postgres psql

Maak vervolgens een nieuwe rol ‘hakase’ met het wachtwoord ‘hakasepasspgsql’ met de volgende query.

CREATE ROLE hakase WITH SUPERUSER CREATEDB CREATEROLE LOGIN ENCRYPTED PASSWORD 'hakasepasspgsql';

Controleer nu alle beschikbare gebruikers op het PostgreSQL systeem.

\du

En je krijgt een nieuwe gebruiker ‘hakase’ op de lijst, typ nu ‘\q’ om de PostgreSQL shell te verlaten.

Maak nieuwe gebruiker PostgreSQL

Het resultaat is dat een nieuwe gebruiker met de naam ‘hakase’ is aangemaakt, en die zal via de phpPgAdmin kunnen inloggen op de PostgreSQL server.

Stap 3 – Configureer Apache Web Server

In deze stap configureren we de Apache configuratie voor phpPgAdmin, die automatisch gegenereerd wordt tijdens de installatie van de pakketten.

Ga naar de ‘/etc/apache2/conf-available’ directory en bewerk het configuratiebestand ‘phppgadmin.conf’ met vimdoor te typen:

cd /etc/apache2/conf-available/
vim phppgadmin.conf

Standaard is de phpPgAdmin toegankelijk via de pad-URL ‘phppgadmin’. Om veiligheidsredenen zullen we de standaard pad-URL van phppgadmin veranderen door de ‘Alias’ optie te veranderen.

Verander de standaard pad-URL ‘phppgadmin’ met je eigen pad zoals hieronder.

Alias /pgsqladminlogin /usr/share/phppgadmin

Maak geen commentaar van de regel ‘#Require local’ door een # voor de regel te zetten en voeg onder de regel allow from all toe, zodat je vanuit je browser toegang krijgt.

Require all granted

Bewaar en sluit.

Test vervolgens de Apache configuratie en controleer of er geen fout optreedt, herstart dan de Apache dienst.

apachectl configtest
systemctl restart apache2

Daarmee is de Apache configuratie voor phpPgAdmin voltooid.

Stap 4 – Instellen UFW Firewall

Voor deze gids zullen we de PostgreSQL en Apache diensten onder de UFW firewall laten draaien.

Voeg de ssh, http, en https poorten toe aan de ufw firewall met het volgende commando.

for svc in ssh http https
do
ufw allow $svc
done

Start vervolgens de UFW firewall en schakel hem in.

ufw enable

En je wordt gevraagd of je de UFW firewall dienst wilt draaien. Typ‘y‘ en druk op Enter om de firewall te starten.

Voeg Dienst toe aan UFW firewall

En de UFW firewall is in werking met het ssh, http, en https protocol erbovenop.

Controleer de status van de UFW firewall met het onderstaande commando.

ufw status numbered

Hieronder staat het resultaat dat je krijgt.

Toon UFW Firewall Regels

Stap 5 – Testen

Controleer, voor je verder gaat, de PostgreSQL en Apache poort diensten met het ss commando hieronder.

ss -plnt

En je krijgt dat de PostgreSQL poort ‘5432’ en de Apache poort ’80’ op de LISTEN status staan, beide diensten zijn up and running.

Controleer de poort met ss commando

Open vervolgens je webbrowser en typ het server IP adres in dat volgt met je aangepaste pad van phpPgAdmin.

http://10.5.5.32/pgsqladminlogin/

En je krijgt de standaard phpPgAdmin pagina zoals hieronder.

phpPgAdmin Index Pagina

Klik nu op de tab‘Server‘ en je krijgt de phpPgAdmin login pagina.

phpPgAdmin login pagina

Typ de PostgreSQL gebruiker en wachtwoord die bovenaan aangemaakt zijn en klik op de knop‘Login‘.

En je krijgt deze phpPgAdmin dashboard interface.

phpPgAdmin Dashboard

De installatie van de PostgreSQL databank met phpPgAdmin op Ubuntu 20.04 LTS is met succes voltooid.

Conclusie

PostgreSQL is een geavanceerd object-relationeel databasemanagement systeem (ORDBMS). Het is Open Source en heeft een grote en actieve gemeenschap. PostgreSQL biedt als primair front-end het psql command-line programma, dat gebruikt kan worden om SQL queries direct in te voeren of ze vanuit een bestand uit te voeren. phpPgAdmin is een web-gebaseerd beheerprogramma voor PostgreSQL, geschreven in PHP, dat het beheer van Postgres databases eenvoudiger maakt.