# Login unmöglich bei web-cyradm

## ChrisM87

Hi,

ich wollte einen Mailserver mit dem Postfix/Cyrus/web-cyradm mit SASL/pam und MySQL nach dem Howto des deutschen Gentoo-Wikis aufsetzen. Weil das Howto ja aber schon bekannt ist, Probleme zu machen (am Ende des Howtos ist ein entsprechender Thread in diesem Forum verlinkt), habe ich hinterher nochmal alles schön mit dem anderen empfohlenen Howto überarbeitet.

Postfix, Cyrus und saslauthd als Dienste starten auch und per Postfix habe ich mit mutt schon einige Mails geschickt, was auch funktioniert hat. MySQL läuft auch und funktioniert garantiert, weil es schon durch diverse PHP-Scripte benutzt wird.

```
server / # cyradm --user cyrus --server localhost --auth plain

Password:

IMAP Password:    
```

funktioniert auch, ich komme dann zu einem Prompt, obwohl mir nicht ganz klar ist, warum er zweimal das gleiche Passwort abfragt.

Nur der Login per web-cyradm klappt überhaupt nicht. Das komische ist, dass überhaupt keine Fehlermeldung kommt, sondern nach dem Absenden des Loginformulars einfach selbiges neu läd, wie wenn ich gerade frisch auf die Seite gegangen wäre. Normalerweise ist sowas ja ein Cookie- oder evtl. ein Browserproblem, aber beides kann ich jetzt definitiv ausschließen.

Mein Config sieht so aus:

```
# The Cyrus login stuff

$CYRUS = array(

        'HOST'  => 'localhost',

        'PORT'  => 143,

        'ADMIN' => 'cyrus',

        'PASS'  => 'xxx'  <- Hier steht das PW, das create_mysql.sql in die accountuser-Tabelle eingefügt hat

);

...

$DB = array(

        'TYPE'  => 'mysql',

        'USER'  => 'mail',

        'PASS'  => 'xxx',  <- Hier steht das Passwort für den MySQL-Benutzer, der sich über /usr/bin/mysql -u mail -p auch einloggen kann

        'PROTO' => 'unix',      // set to "tcp" for TCP/IP

        'HOST'  => 'localhost',

        'NAME'  => 'mail'

);
```

Außerdem schreibt das Script keinerlei Logs, obwohl ich die Rechte eigentlich richtig gesetzt habe:

-rw-r--r--   1 apache  apache       0 Mar  1 21:10 web-cyradm-login.log

Hier noch die netstat -ant Ausgabe:

```
Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address           Foreign Address         State

tcp        0      0 127.0.0.1:993           0.0.0.0:*               LISTEN

tcp        0      0 127.0.0.1:143           0.0.0.0:*               LISTEN

tcp        0      0 127.0.0.1:2000          0.0.0.0:*               LISTEN

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN

tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN
```

(Cyrus ist momentan nur an 127.0.0.1 gebunden, damit ich bei der Aufbauphase von niemanden gestört/gehackt werde)

ChrisM

----------

## Fibbs

Ich hatte das gleiche Problem auf einer meiner "aus der Hüfte heraus" aufgesetzten Testkisten.

Ich hatte mod_php ohne eins der beiden Useflags "crypt" oder "mysql" kompiliert, welches es genau war, weiß ich nicht mehr.

Interessant war, dass phpmyadmin auch nicht funktionierte und mir freundlicherweise eine etwas genauere Fehlermeldung spuckte, so brauchte ich nicht viel suchen.

Gruß

Fibbs

----------

## ChrisM87

Hi,

danke für die Antwort!

php und mod_php sind aber bei mir sowohl mit crypt- als auch mit mysql-Unterstützung compiliert worden und PhpMyAdmin funktioniert auch tadellos, daran kann es also nicht liegen.  :Sad: 

ChrisM

----------

## Fibbs

Hmm.

Versuch doch mal, in der /etc/mysql/my.cnf das logging so einzuschalten, dass alle SQL-Statements mitgeloggt werden und versuche dann, während Du das Logfile mit tail beobachtest, Dich in web-cyradm einzuloggen.

Vielleicht gibt Dir das Aufschluss...

Gruß

Fibbs

----------

## spirou

Ich bin ja weit davon entfernt, mich auszukennen, aber bei mir haben folgende Dinge zum Erfolg geführt:

1. Die SQL-Statements in /etc/pam.d/imap, pop und sieve auf die Gegebenheiten von web-cyradm anpassen (in meinem Howto stand da was anderes drin),

2. zuerst mal den web-cyradm-User mit saslpasswd2 anlegen und erst danach die Datenbankscripts von web-cyradm laufen lassen. Ich hab das zuerst verkehrtrum gemacht, dann hatte ich das selbe Problem wie du. Ich hab die Datenbanken einfach wieder gelöscht und die Scripte nochmal laufen lassen, dann ging's.

Warum ist das mit postfix/cyrus eigentlich immer so ein Kampf?  :Wink: 

Grüßle

Spirou  :Very Happy: 

----------

## ChrisM87

Hi,

hab eure Tipps alle ausprobiert, aber hat nichts gebracht.

Ich werde jetzt zum dritten Mal nochmal alle Configs ganz genau checken, vielleicht bringt es was.

Achja, wenn ich versuche, mich bei web-cyradm einzuloggen, werden überhaupt keine SQL-Anfragen generiert! Der Log funktioniert aber, bei Typo 3 zeigt er alle Queries an.  :Sad: 

ChrisM

----------

## ChrisM87

*bump*

----------

## ChrisM87

*bump*

Es würde mir schon ungemein helfen, wenn ein Gentoo-web-cyradm-Benutzer mal seine Config beschreiben oder posten könnte.  :Sad: 

ChrisM

----------

## Marlo

Hi,

wenn du die vorgefertigten Scripte zum Erzeugen der Mysql-Datenbank genommen hast versuche es mit admin test.

----------

## ChrisM87

Hi,

argh, dankeschön, mit admin/test hat es dann letztendlich funktioniert. Nach den ganzen Änderungen hab ich nämlich nur noch cyrus als Benutzer getestet, weil dachte, der ist es und admin am Anfang ja auch nicht ging.  :Smile: 

ChrisM

----------

## Marlo

Man kann doch immer wieder sagen:

Schön, das wir darüber gesprochen haben.  :Very Happy: 

Beim Anlegen der Konten habe allerdings ich Schwierigkeiten:

```

ERRORNO: (111)

ERRSTR: (Verbindungsaufbau abgelehnt)

Error 111

```

Wenn du dafür einen Tipp für mich hast?

Tschau

Ma

----------

## ChrisM87

Hi,

nein, keine Ahnung. Bist du sicher, dass dein IMAP-Server (Cyrus) richtig läuft?

Allerdings löscht mein web-cyradm immer den *-Eintrag in der domainadmin-Tabelle, wenn ich Versuche mein Passwort zu ändern und beim nächstes Login meint er dann, ein Eindringversuch entdeckt zu haben, bis ich den Eintrag von Hand wieder hinzufüge  :Rolling Eyes: 

Sieht so aus, als wäre web-cyradm noch ziemlich unausgereift...

ChrisM

----------

## aZZe

Hallo!

@ChrisM87

Ich hab hier haargenau das gleiche Problem wie du. Ich kann mich auch über cyradm einloggen, alles kein Problem nur über web-cyradm nicht geanu wie bei dir. Hier mein conf.php:

```

$CYRUS = array(

        'HOST'  => 'localhost',

        'PORT'  => 143,

        'ADMIN' => 'cyrus',

        'PASS'  => 'xxx' <----- (wurde durch mich in der mysql geändert heist also nicht mehr test oder sonstwas)

);

...

$DB = array(

        'TYPE'  => 'mysql',

        'USER'  => 'mail',

        'PASS'  => 'xxx', <--- auch mit diesem passwort kann ich mich ohne Probleme einloggen mit dem Kommando "mysql -u mail -p"

        'PROTO' => 'unix',      // set to "tcp" for TCP/IP

        'HOST'  => 'localhost',

        'NAME'  => 'mail'

);

```

Jetzt habe ich halt versucht mich als Benutzer "admin" mit meinem geänderten passwort in web-cyradm einzuloggen, ohne Erfolg. All die ganzen Sachen, die hier im Thread genannt wurden haben mir nicht weitergeholfen. Hat noch irgendeiner eine Idee?

----------

## aZZe

Ach so noch vergesen! Die einzige Fehlermeldung, die ich im syslog bekomme ist die hier:

```

Apr  7 12:31:50 dagobert postfix/pickup[25200]: fatal: /etc/postfix/mysql-mydestination.cf: bad string length 0 < 1: dbname =

Apr  7 12:31:50 dagobert postfix/qmgr[25201]: fatal: /etc/postfix/mysql-mydestination.cf: bad string length 0 < 1: dbname =

Apr  7 12:31:51 dagobert postfix/master[24522]: warning: process /usr/lib/postfix/pickup pid 25200 exit status 1

Apr  7 12:31:51 dagobert postfix/master[24522]: warning: /usr/lib/postfix/pickup: bad command startup -- throttling

Apr  7 12:31:52 dagobert postfix/master[24522]: warning: process /usr/lib/postfix/qmgr pid 25201 exit status 1

Apr  7 12:31:52 dagobert postfix/master[24522]: warning: /usr/lib/postfix/qmgr: bad command startup -- throttling

```

Ich kann da jetzt nicht soviel mit anfangen aber vielleicht hilft es einem mir nen Tip zu geben. Danke schon mal im Vorraus.

----------

## aZZe

ok das mit der postfix fehlermeldung lag daran, dass ich die Einträge hosts, user, password und dbname in der mysql-virtual.cf und in der mysql-mydestination.cf vergessen hatte. Dumm gelaufen. Daran hats aber auch nicht gelegen ich kann mich dennoch nicht als admin über web-cyradm einloggen. Eine weitere Sache ist die, dass ich jetzt mit mails zugemuellt werde. Im syslog steht dann z.B. sowas hier:

```

Apr  7 14:36:04 dagobert postfix/pickup[31089]: warning: 509996F9B1: message has been queued for 3 days

Apr  7 14:36:04 dagobert postfix/qmgr[31090]: 3E4F76FB6D: from=<root@dagobert.tuxcon.org>, size=1374, nrcpt=1 (queue active)

Apr  7 14:36:04 dagobert postfix/pickup[31089]: 509996F9B1: uid=0 from=<root>

Apr  7 14:36:04 dagobert postfix/qmgr[31090]: 40BDC6FCF2: from=<>, size=3180, nrcpt=1 (queue active)

Apr  7 14:36:04 dagobert postfix/cleanup[31210]: 5DC466FCF3: message-id=<20050407123604.5DC466FCF3@dagobert.tuxcon.org>

Apr  7 14:36:04 dagobert postfix/cleanup[31198]: 5DB606FB6F: message-id=<20050407123604.5DB606FB6F@dagobert.tuxcon.org>

Apr  7 14:36:04 dagobert postfix/cleanup[31202]: 509996F9B1: message-id=<20050403133406.509996F9B1@dagobert.tuxcon.org>

Apr  7 14:36:04 dagobert postfix/smtp[31196]: 28FB36FB70: to=<root@dagobert.tuxcon.org>, orig_to=<root>, relay=none, delay=372148, status=bounced (mail for dagobert.tuxcon.org loops back to myself)

Apr  7 14:36:04 dagobert postfix/smtp[31186]: 2BA146FB71: to=<root@dagobert.tuxcon.org>, relay=none, delay=33, status=bounced (mail for dagobert.tuxcon.org loops back to myself)

```

Und das ununterbrochen. Was soll das? Im Moment verzweifel ich echt an diesem mail Kram. Ich hoffe mir kann da einer von euch helfen.

----------

## aZZe

Soo! Das Problem wurde gelöst. Es handelt sich hier um einen starken php bug in gentoo. Ich werde das hier nur eben kurz erläutern da ich eine Dokumentation dazu schreiben, die dieses Thema in Verbindung mit Gentoo beschreiben wird.

Das Problem liegt in der Datei /etc/php/apache2-php4/php.ini. Hier muss die Zeile:

```

include_path = ".:/usr/lib/php"

```

in

```

include_path = ".:/usr/lib/php/php"

```

abgeändert werden. 

So weit so gut. Doku wird folgen.

----------

## aZZe

Tja da habe ich mich wohl leider noch ein wenig zu früh gefreut. Domänen und Konten können jetzt angelegt werden aber es werden die entsprechenden Verzeichnisse in /var/spool/imap nicht angelegt. Ich werde mich natürlich weiter dran versuchen, da ich diese Lösung für einen Betrieb mit ca. 150 Mann sehr komfortabel finde. Wer diesbezüglich noch eine Idee hat möge mir seine Meinung und Vorschlag bitte mitteilen.

----------

