phpPgAdmin - Anmeldung geht nicht

congor

Member
Hallo,

versuche jetzt seit 2 Stunden, mich über phpPgAdmin mit
einem vorhandenem Namen anzumelden.

Es geht nicht, das Tutorial ist auch nicht wirklich verständlich.

Woher soll ich wissen, ob das jetzt über phpPgAdmin "Unix Domain Sockets"
nutzt oder nicht. Vor allem ist das jetzt von localhost oder nicht, ich meine
phpPgAdmin läuft doch auf dem lokalen Rechner und wird vom lokalen
Interpreter ausgeführt... aber eben von einem entfernten REchner aufgerufen..

Weiss jemand von hier Rat?

Gruß

Yves

phpPgAdmin sperrt die "root"-Accounts wie z.B. pgsql oder postgres oder wie der hiess.
Hast Du in der Config den Host auf localhost gesetzt, dann wird PostgreSQL versuchen, ueber ein Unix Domain Socket drauf zuzugreifen. Es waere eventuell denkbar, dass PHP diese Domain Socket woanders sucht als wo es PostgreSQL hinpackt. Es waere vielleicht von daher ueberlegenswert auf TCP/IP umzustellen, das geht in der Config vom PostgreSQL, musst aber dann auch in der vom phpPgAdmin ne IP eintragen anstelle von localhost.

Hope that helped :)

k3rn3lpanic schrieb:
phpPgAdmin sperrt die "root"-Accounts wie z.B. pgsql oder postgres oder wie der hiess.

Ja, das kann man aber per Konfiguration ausschalten

k3rn3lpanic schrieb:
Hast Du in der Config den Host auf localhost gesetzt, dann wird PostgreSQL versuchen, ueber ein Unix Domain Socket drauf zuzugreifen.

Wie meinst du das? PostgreSQL greif drauf zu oder phpPgAdmin auf PostgreS????

k3rn3lpanic schrieb:
Es waere eventuell denkbar, dass PHP diese Domain Socket woanders sucht als wo es PostgreSQL hinpackt.
Es waere vielleicht von daher ueberlegenswert auf TCP/IP umzustellen, das geht in der Config vom PostgreSQL, musst aber dann auch in der vom phpPgAdmin ne IP eintragen anstelle von localhost.

Was ist eine Domain Socket? Ne art Datei?

Wie kann ich auf TCP/IP umstellen? In der pg_hba.conf muss ich dann ne adresse
eintragen, von der ich mich einloggen darf, wie soll ich das den bei ständig wechselnden Adressen machen?

KAnn man das überhaupt umstellen, oder ist das fest und liegt nur daran, von wo
und wie ich drauf zugreife? Irgendwo stand, dass man über Unix-domain sockets
verbindet, wenn man direkt von der Konsole verbindet.

Danke trotzdem
Yves

Hallo,

wenn ich mich bei phpPgAdmin einlogge, dann scheint es jetzt zu funktionieren.
Normalerweise sieht man dann im linken Frame die liste der Datenbanken und
im rechten die einzelheiten....

Aber nach dem einloggen zeigt er mir zwar die Frames, aber in jedem Frame
ist noch mal der anmeldebildschirm.

Kennt das jemand?

Gruß
Yves

Wahrscheinlich stimmt mit den Cookie Einstellungen in deinem Browser etwas nicht.

Hi, mit den Cookie einstellungen stimmt alles.

Ich habe folgendes gemacht:



1) In der phpPgAdmin/conf/config.inc.php habe ich:

$conf['servers'][0]['host'] = 'localhost';

gesetzt

2) In der postgresql.conf habe ich:

port=5432

gesetzt (war vorher auskommentiert)

3) In der pg_hba.conf habe ich:

aus "trust" überall "md5" gemacht



Jetzt kann ich mich zwar über den Browser am PG-Server anmelden, aber
nur kurz, ich melde mich an, dann kommt die übersicht der DBs, dann klicke
ich auf eine DB, woraufhin wieder die Anmeldung kommt. Und so muss
ich mich für jedes Absenden von daten neu Anmelden.

Da stimmt doch irgendwas nicht....

weiss jemand Rat

Danke im Vorraus

Gruß Yves

Hier, falls das mal jemand sehen will:

http://yves.homeunix.net/phpPgAdmin/index.php

Login / Passwort: yves / yves

Ich habe den Debug-Level mal auf 5 gestellt und
jetzt zeigt er auch wirklich ALLES im logfile an.

Aber ich glaube, das sieht alles ganz normal auf,
er diconnected halt nach ner sekunde???

Ich verstehe das echt nicht, ich hab nichts
geändert.

Soll ich das Logfile mal Posten?
hat aber für jeden Login gleich 500 neue Zeilen...

Ich versuch mal die relevanten Stellen rauszufinden:

DATENBANK-START

DEBUG: -----------------------------------------
DEBUG: postmaster: PostmasterMain: initial environ dump:
DEBUG: -----------------------------------------
DEBUG: PGDATA=/var/postgresql/data
DEBUG: PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin:/usr/local/bin
DEBUG: SHELL=/bin/sh
DEBUG: USER=_postgresql
DEBUG: PGSYSCONFDIR=/etc/postgresql
DEBUG: HOME=/var/postgresql
DEBUG: LOGNAME=_postgresql
DEBUG: LC_COLLATE=C
DEBUG: LC_CTYPE=C
DEBUG: LC_MESSAGES=C
DEBUG: LC_MONETARY=C
DEBUG: LC_NUMERIC=C
DEBUG: LC_TIME=C
DEBUG: -----------------------------------------

DEBUG: invoking IpcMemoryCreate(size=9519104)
DEBUG: max_safe_fds = 111, usable_fds = 121, already_open = 7
LOG: database system was shut down at 2006-03-30 11:14:51 UTC
LOG: checkpoint record is at 0/A80B2C
LOG: redo record is at 0/A80B2C; undo record is at 0/0; shutdown TRUE
LOG: next transaction ID: 961; next OID: 17236
LOG: database system is ready
DEBUG: proc_exit(0)
DEBUG: shmem_exit(0)
DEBUG: exit(0)
DEBUG: reaping dead processes
LOG: received SIGHUP, reloading configuration files

EINLOGGEN ÜBER PHPPGADMIN

DEBUG: forked new backend, pid=25299 socket=8
LOG: connection received: host=127.0.0.1 port=11978
DEBUG: received password packet
LOG: connection authorized: user=yves database=template1
DEBUG: postmaster child[25299]: starting with (
DEBUG: postgres
DEBUG: -v196608
DEBUG: -p
DEBUG: template1
DEBUG: )
DEBUG: InitPostgres
DEBUG: StartTransaction
DEBUG: name: unnamed; blockState: DEFAULT; state: INPROGR, xid/subid/cid: 961/1/0, nestlvl: 1, children: <>
DEBUG: CommitTransaction
DEBUG: name: unnamed; blockState: STARTED; state: INPROGR, xid/subid/cid: 961/1/0, nestlvl: 1, children: <>
DEBUG: StartTransactionCommand
DEBUG: StartTransaction
DEBUG: name: unnamed; blockState: DEFAULT; state: INPROGR, xid/subid/cid: 962/1/0, nestlvl: 1, children: <>
LOG: statement: set datestyle='ISO'
DEBUG: parse tree:
DETAIL: {QUERY :commandType 5 :querySource 0 :canSetTag true :utilityStmt ?
:resultRelation 0 :into <> :hasAggs false :hasSubLinks false :rtable <>
:jointree <> :rowMarks <> :targetList <> :groupClause <> :havingQual <>
:distinctClause <> :sortClause <> :limitOffset <> :limitCount <>
:setOperations <> :resultRelations <>}

DEBUG: rewritten parse tree:
DETAIL: ({QUERY :commandType 5 :querySource 0 :canSetTag true :utilityStmt ?
:resultRelation 0 :into <> :hasAggs false :hasSubLinks false :rtable <>
:jointree <> :rowMarks <> :targetList <> :groupClause <> :havingQual <>
:distinctClause <> :sortClause <> :limitOffset <> :limitCount <>
:setOperations <> :resultRelations <>})

DEBUG: ProcessUtility
DEBUG: CommitTransactionCommand
DEBUG: CommitTransaction
DEBUG: name: unnamed; blockState: STARTED; state: INPROGR, xid/subid/cid: 962/1/0, nestlvl: 1, children: <>
DEBUG: StartTransactionCommand
DEBUG: StartTransaction
DEBUG: name: unnamed; blockState: DEFAULT; state: INPROGR, xid/subid/cid: 963/1/0, nestlvl: 1, children: <>
LOG: statement: SELECT pdb.datname AS datname, pu.usename AS datowner, pg_encoding_to_char(encoding) AS datencoding,
(SELECT description FROM pg_description pd WHERE pdb.oid=pd.objoid) AS datcomment,
(SELECT spcname FROM pg_catalog.pg_tablespace pt WHERE pt.oid=pdb.dattablespace) AS tablespace
FROM pg_database pdb, pg_user pu
WHERE pdb.datdba = pu.usesysid
AND NOT pdb.datistemplate

ORDER BY pdb.datname

DAS ENDE

DEBUG: CommitTransactionCommand
DEBUG: CommitTransaction
DEBUG: name: unnamed; blockState: STARTED; state: INPROGR, xid/subid/cid: 964/1/0, nestlvl: 1, children: <>
DEBUG: proc_exit(0)
DEBUG: shmem_exit(0)
LOG: disconnection: session time: 0:00:01.55 user=yves database=template1 host=127.0.0.1 port=11978
DEBUG: exit(0)
DEBUG: reaping dead processes
DEBUG: server process (PID 25299) exited with exit code 0

phpPgAdmin bleibt soweit ich weiß nicht dauerhaft mit dem Server verbunden, sondern stellt die Verbindung jedes mal mit den Daten in deinen Cookies neu her.

Danke, hab es gelöst:

Falls jemand das gleiche Problem hat und das sind offenbar nicht wenige:

http://sourceforge.net/forum/forum.php?thread_id=1387831&forum_id=115884

Kurz: das Verzeichnis /tmp (wobei das bei mir /var/www/tmp ist, da der apache
in /var/www chrooted ist) hatte nicht genug schreibrechte für den Apache-Prozess!

Ich habe einfach die Rechte dieses Verzeichnises geändert und es hat
funktioniert.

Übrigens wurde der Fehler auch im Error-Log des Apache geloggt
(Bei mir: /var/www/logs/error_log)


In der Hoffnung jemandem die lange Fehlersuche zu ersparen

Gruß
Yves
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben