PhpPgAdmin installiert öffnet sich aber nicht

Status
Für weitere Antworten geschlossen.

mexx81

Benutzer
Mitglied seit
17. Dez 2013
Beiträge
597
Punkte für Reaktionen
0
Punkte
42
Hallo zusammen,

ich habe eine Windows Anwendung die PostgreSQl benötigt und fand heraus, dass die Synology diesen Dienst anbietet. Um eine Oberfläche für die Erstellung einer Datenbank zu haben, habe ich das Communitypaket PhpPgAdmin installiert. Laut Paketmanager läuft es, aber unter Web wurde kein Ordner PhpPgAdmin installiert und somit gelingt auch nicht der Webzugriff.

Ist das Communitypaket überhaupt noch aktiv, nutzbar?
Ist es empfehlenswert den PostgreSQL der Synology zu nutzen?

Vielen Dank,
mexx
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.135
Punkte für Reaktionen
898
Punkte
424
Ein Ordner wurde bei mir auch nicht angelegt. Die Web-Oberfläche ist aber trotzdem erreichbar via IP/phpPgAdmin/ (der letzte Slash scheint wichtig). Zumindest unter DSM 5.2
Anmeldung dann als root mit Admin Passwort am PostgreSQL by Synology.
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
13.999
Punkte für Reaktionen
264
Punkte
373
Hallo,
das Paket läuft unter DSM 6 nicht mehr. Kontaktiere doch mal den Entwickler ob sich da noch etwas ändern wird.

Gruß Götz
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.135
Punkte für Reaktionen
898
Punkte
424
Ah, stimmt. Da bleibt unter DSM 6 vorerst nur der weg über die CLI und pgsql.
 

mexx81

Benutzer
Mitglied seit
17. Dez 2013
Beiträge
597
Punkte für Reaktionen
0
Punkte
42
Angenommen das Paket würde laufen, wäre es denn klug die PostgreSQL Instanz zu nutzen, um darin Datenbanken zu betreiben? Immerhin ist dies ja die interne Synology Datenbank.
 

enzoberger

Benutzer
Mitglied seit
22. Mai 2014
Beiträge
8
Punkte für Reaktionen
0
Punkte
0
phpPGAdmin mit DSM 6.0 ist ein bisschen tricky, aber ich habe ne gute Anleitung gefunden: https://youtu.be/2z8lSlh3xBw

Und hier die Kurzfassung von mir:

Login to Putty as admin. Get permanent sudo
sudo -i

create folder:
mkdir /usr/syno/synoman/phpsrc

download and install in DSM6.x:
PhpPgAdmin

Create file:
vi /usr/local/etc/nginx/conf.d/www.phppgadmin.conf

Instert:

location ~ ^/phpPgAdmin/ {
fastcgi_read_timeout 300;
root /usr/syno/synoman/phpsrc;
location ~ ^/phpPgAdmin/(.*)/\. {
deny all;
}
location ~* \.(jpg|jpeg|png|gif|css|js|ico)$ {
expires max;
log_not_found off;
}

location ~* \.php(/|$) {
include fastcgi.conf;
fastcgi_pass unix:/run/php-fpm/php56-fpm.sock;
fastcgi_index index.php;
}
}
location = /phpPgAdmin {
fastcgi_read_timeout 300;
root /usr/syno/synoman/phpsrc;
try_files $uri/ /phpPgAdmin/index.php$is_args$args;
}


alter rights:
chmod 755 /usr/local/etc/nginx/conf.d/www.phppgadmin.conf

reload nginx:
nginx -s reload

vi /usr/local/etc/php56/conf.d/user-settings.ini

add after ".....home"
::/usr/syno/synoman/phpsrc/phpPgAdmin

"Esc" :wq

reboot synology

login to putty and get permanent sudo:
sudo -i

login postgres:
su - postgres
psql

list user and roles:
\du

create admin user in postgres:
CREATE USER admin PASSWORD 'xyz';
ALTER USER admin WITH SUPERUSER;
ALTER USER admin WITH CREATEDB;
ALTER USER admin WITH CREATEROLE;
\du

add 'localhost# to phppgadmin:
cd /usr/syno/synoman/phpsrc/phpPgAdmin/conf
vi config.inc.php

change the line: $conf['servers'][0]['host'] = '';
to: $conf['servers'][0]['host'] = 'localhost';

change extra_login_security to false:
$conf['extra_login_security'] = false;

Exit with :wq

vi /etc/postgresql/pg_hba.conf

i for insert:
host all admin 127.0.0.1/32 trust

you should be able to login now. if not restart phpPgAdmin in DSM
 

Newling

Benutzer
Mitglied seit
24. Mai 2020
Beiträge
4
Punkte für Reaktionen
0
Punkte
1
Die beschriebenen Schritte sind auf DSM 6.2.3 und phppgAdmin 5.1.0-002 sinnlos, es fehlen die entsprechenden Dateien.
Die Webseite ist nicht verfügbar....

Gruß
Andi
 

TeXniXo

Benutzer
Mitglied seit
07. Mai 2012
Beiträge
4.948
Punkte für Reaktionen
99
Punkte
134
Weil die Schritte auch vor knapp 4 Jahren erstellt wurden.

Also was liegt an? Was für Fehlermeldung kriegst du? Welche Dateien fehlen deiner Meinung nach? Infos ... ;)
 

Newling

Benutzer
Mitglied seit
24. Mai 2020
Beiträge
4
Punkte für Reaktionen
0
Punkte
1
Hi,
erstmal: danke für die Unterstützung!
Ich hab zu dem Thema nichts neueres gefunden.

Folgende Lage: DS1618+ mit DSM 6.2.3-25426
pgsql läuft (synoservicectl --status pgsql ergibt "Start/running")
mein Skill: Linux Admin

Ziel: phppgAdmin lauffähig zu bekommen
gestern phpPgAdmin einmal de-installiert, dann über das Paketzentrum die 5.1.0-002 neu installiert und gestartet;
es wird dann als "Läuft" angezeigt.
Die Station wurde allerdings seither nicht neu gestartet.

Ein Neustart von nginx mit synoservicectl --restart nginx ergab keine Änderung.

Beim klicken auf "Öffnen" öffnet sich im Browser ein Fenster mit dem Link "syndy/phpPgAdmin/"
dort erscheint dann allerdings eine Fehlermeldung "Es tut uns Leid, die von Ihnen gesuchte Seite konnte nicht gefunden werden"

Im Anwendungsportal sind "Video Station" und "Audio Station" gelistet und funktionsfähig; woraus ich ableitet, dass postgresql korrekt läuft.
Für die MySql wurde phpMyAdmin installiert; dort funktioniert der Link "syndy/phpMyAdmin/" korrekt.

Ich bin die oben genannte Anleitung durchgegangen, bekam aber innerhalb vom postgres den User admin nicht angelegt.
-> gerade zum Test erneut versucht -> es hängt an dieser Stelle vom Passwort ab!
Wenn ich hier das Passwort von root/admin verwende, wird der User nicht angelegt sondern es erfolgt eine Fehlermeldung:
(das Passwort habe ich für die Anzeige im Forum durch +++++ ersetzt)

postgres-# CREATE USER admin PASSWORD '+++++++' ;
ERROR: syntax error at or near "CREATE"

dann habe ich jetzt gerade mit:
postgres=# CREATE USER admin PASSWORD 'lall' ;
CREATE ROLE

den User anlegen können.......
Da bin ich gestern nicht drauf gekommen, dass man hier nicht das gleiche Passwort verwenden darf.

An der Stelle der Anleitung "cd /usr/syno/synoman/phpsrc/phpPgAdmin/conf" ist dann ein Verzeichnis genannt, dass bei mir nicht existiert.
Es gibt /usr/syno/synoman/, aber dort kein Verzeichnis phpsrc.

Wenn ich hier mit find |grep -i phppgadmin suche, finde ich zwar unter webman/3rdparty/phpPgAdmin ein ähnliches Verzeichnis,
aber dort und darunter keine Datei config.inc.php.

Eine Suche im gesamten System nach der config.inc.php oder phpsrc blieb erfolglos.
(cd / ; find |grep -i phpsrc)

Also ist das die Stelle an der ich hier nicht weiterkomme.

Gruß
Andi
 

Tommi2day

Benutzer
Mitglied seit
24. Aug 2011
Beiträge
1.164
Punkte für Reaktionen
63
Punkte
68
Ich empfehle, nicht die interne Postgresql-DB zu nutzen, sondern mit Docker eine einen eigenen postgresql-Container zu installieren. Das phppgadmin-Paket ist auch schon sehr "gereift". Einfacher ist es, die Sourcen für die letze Version 5.6 (auch schon von 2018) runter zu laden(http://phppgadmin.sourceforge.net/doku.php?id=download), die Webstation zu enablen und das phppgadmin Paket im /web Share zu entpacken. Dort kan man dann nach Herzenslust konfigurieren. Wichtig: die Webstation muss hier mit PHP5 laufen. Der Für einen Linux-Admin sollte das alles kein Problem sein. Ich finde jedoch pgadmin4 zur Administration von Postgresql-DBs jedoch deutlich angenehmer als phppgadmin. Den gibt es auch als Docker Container fertig.
 

Newling

Benutzer
Mitglied seit
24. Mai 2020
Beiträge
4
Punkte für Reaktionen
0
Punkte
1
Hi,

das habe ich mir auch schon überlegt.
Ich wundere mich nur, dass (von Synology?) ein Paket angeboten/ausgeliefert wird, das nicht funktioniert.

Die Anwendungen wie Audio-Station etc verwenden die interne Datenbank.
Daher gehe ich mal ganz naiv davon aus, dass das auch in Zukunft so konzipiert ist.
Und genau an diese Datenbank wollte ich "ran".

Den Umweg über Docker finde ich "mit Kanonen auf Spatzen geschossen". Es sind ja im System alle Voraussetzungen gegeben.
Sicher nicht unmöglich, soweit wollte ich aber an der Stelle nicht gehen.
Ich bin auch kein Fan davon etwas mit PHP5 neu zu installieren, wenn PHP7.3 aktuell und im System verfügbar ist.

Viel eher würde ich versuchen mich tief genug in das OS (Pfade, Config-Dateien, Zusammenhänge) einzuarbeiten um
ein aktuelles Paket (entweder pgadmin4 oder phppgadmin) lauffähig zu bekommen.
(ich hab bisher hauptsächlich mit Debian gearbeitet)

Sofern sich nicht noch eine Möglichkeit auftut um das offiziell verteile Paket lauffähig zu bekommen, würde ich diesen Thread schliessen.
Meine Fragen zum System werden dann im richtigen Unterforum auftauchen....

Gruß
Andi
 

Newling

Benutzer
Mitglied seit
24. Mai 2020
Beiträge
4
Punkte für Reaktionen
0
Punkte
1
Hi,

den Umweg mit dem Docker Image habe ich jetzt doch getestet.
Mit dem Image dpage/pgadmin4 habe ich nur Zugriff auf die postgres.

Vor dem Start vom Container sind die Umgebungsvariablen PGADMIN_DEFAULT_PASSWORD und PGADMIN_DEFAULT_EMAIL zu setzen.
(sonst startet der Container nicht)

Im System der Diskstation müssen angepasst werden:

/etc/postgresql/pg_hba.conf - hier eine zusätzliche Zeile für den Remote Zugriff aus dem Netz vom Container (IP Bereich hier anpassen)
host all all 10.20.30.0/24 trust

Im Netz gibt es einen Hinweis, dass beim Start der Diskstation diese Datei überschrieben würde.
Daher habe ich das auch in der /etc.defaults/postgresql/pg_hba.conf identisch gemacht.

/etc/postgresql/postgreslq.conf - hier die Zeile
listen_addresses = '127.0.0.1' ersetzen durch

listen_addresses = '*'

Die Kontrolle vom Start- bzw Neustartvorgang kontrollieren:
tail -f /var/log/postgresql.log

in einem 2. Terminal dann die Postgres neu starten:
synoservice --restart pgsql

Von einem anderen Rechner aus den offenen Port der Postgres prüfen:

nmap -P 5432 diskstations-IP

hier sollte als Ergebnis "open" erscheinen.

Ab hier konnte ich mit einem Browser und dem Container-Port die pgAdmin Anmeldung bedienen.

Gruß
Andi
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat