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?
- Installeer PostgreSQL en phpPgAdmin
- Maak een nieuwe gebruiker PostgreSQL
- Configureer Apache2
- UFW Firewall instellen
- 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.
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.
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.
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.
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.
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.
Klik nu op de tab‘Server‘ en je krijgt de 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.
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.