Sådan installeres pgAdmin4 i CentOS 7
PgAdmin4 er en nem at bruge webgrænseflade til styring af PostgreSQL-databaser. Den kan bruges på flere platforme som Linux, Windows og Mac OS X. I pgAdmin 4 er der migrering fra bootstrap 3 til bootstrap 4.
I denne vejledning skal vi installere pgAdmin 4 på et CentOS 7-system.
Bemærk: Denne tutorial antager, at du allerede har PostgreSQL 9.2 eller derover installeret på din CentOS 7. For instruktioner om, hvordan du installerer den, kan du følge vores guide: Sådan installeres PostgreSQL 10 på CentOS og Fedora.
Sådan installeres pgAdmin 4 i CentOS 7
Dette trin skulle have været afsluttet efter installationen af PostgreSQL, men hvis du ikke har gjort det, kan du fuldføre det med:
# yum -y install https://download.postgresql.org/pub/repos/yum/12/redhat/rhel-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Nu er du klar til at installere pgAdmin med:
# yum -y install pgadmin4
På grund af afhængigheder under installationen installeres også følgende to - pgadmin4-web og httpd webserver.
Sådan konfigureres pgAdmin 4 i CentOS 7
Der er få mindre konfigurationsændringer, der skal udføres for at have pgAdmin4 kørende. Først omdøber vi eksemplet på conf conf-fil fra pgadmin4.conf.sample til pgadmin4.conf:
# mv /etc/httpd/conf.d/pgadmin4.conf.sample /etc/httpd/conf.d/pgadmin4.conf # vi /etc/httpd/conf.d/pgadmin4.conf
Juster filen, så den ser sådan ud:
<VirtualHost *:80> LoadModule wsgi_module modules/mod_wsgi.so WSGIDaemonProcess pgadmin processes=1 threads=25 WSGIScriptAlias /pgadmin4 /usr/lib/python2.7/site-packages/pgadmin4-web/pgAdmin4.wsgi <Directory /usr/lib/python2.7/site-packages/pgadmin4-web/> WSGIProcessGroup pgadmin WSGIApplicationGroup %{GLOBAL} <IfModule mod_authz_core.c> # Apache 2.4 Require all granted </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 </IfModule> </Directory> </VirtualHost>
Dernæst opretter vi logfiler og lib-mapper til pgAdmin4 og indstiller deres ejerskab:
# mkdir -p /var/lib/pgadmin4/ # mkdir -p /var/log/pgadmin4/ # chown -R apache:apache /var/lib/pgadmin4 # chown -R apache:apache /var/log/pgadmin4
Og så kan vi udvide indholdet af vores config_distro.py.
# vi /usr/lib/python2.7/site-packages/pgadmin4-web/config_distro.py
Og tilføj følgende linjer:
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'
Endelig opretter vi vores brugerkonto, som vi godkender i webgrænsefladen. For at gøre dette skal du køre:
# python /usr/lib/python2.7/site-packages/pgadmin4-web/setup.py
Nu kan du få adgang til din servers http:/ip-adresse/pgadmin4 eller http:/localhost/pgadmin4 for at nå pgAdmin4-grænsefladen:
Hvis du modtager 403-fejl, mens du åbner PgAdmin4-grænsefladen, skal du indstille den korrekte SELinux-kontekst på følgende filer.
# chcon -t httpd_sys_rw_content_t /var/log/pgadmin4 -R # chcon -t httpd_sys_rw_content_t /var/lib/pgadmin4 -R
For at godkende skal du bruge den e-mail-adresse og adgangskode, du har brugt tidligere. Når du er godkendt, skal du se pgAdmin4-grænsefladen:
Ved dit første login skal du tilføje en ny server for at administrere. Klik på “Tilføj ny server”. Du bliver nødt til at konfigurere PostgresQL-forbindelsen. Indtast følgende indstillinger i den første fane "Generelt":
- Navn - angiv navnet på den server, du konfigurerer.
- Kommentar - efterlad en kommentar for at give en beskrivelse af forekomsten.
Den anden fane "Forbindelse" er vigtigere, da du bliver nødt til at indtaste:
- Vært - vært/IP-adresse for PostgreSQL-forekomsten.
- Port - standardport er 5432.
- Vedligeholdelsesdatabase - dette skal være postgres.
- Brugernavn - det brugernavn, der opretter forbindelse. Du kan bruge postgres-bruger.
- Adgangskode - adgangskode til ovenstående bruger.
Når du har udfyldt alt, skal du gemme ændringerne. Hvis forbindelsen blev gennemført, skulle du se følgende side:
Dette var det. Din pgAdmin4-installation er færdig, og du kan begynde at administrere din PostgreSQL-database.