Page 4 of 6

Re: webmail.domain.tld Proxy für Roundcube 1.6.0

Posted: Thu 29. Sep 2022, 23:05
by MLan
24unix wrote: Thu 29. Sep 2022, 15:46

Das ist eine hinreichende Config:

Code: Select all

SSLProxyEngine On
ProxyPass /.well-known/ !
ProxyPass "/" "https://keyhelp.lab.24unix.net/webmail/"
Danke.Super Sache.Funktioniert endlich 1A.
Edit:
Login funktioniert leider doch nicht

Re: webmail.domain.tld Proxy für Roundcube 1.6.0

Posted: Fri 30. Sep 2022, 10:39
by Florian
Hallo,

also ich bekomme da nachwievor zwar die Loginseite angezeigt aber beim Login einen 403 Forbidden Error, übersehe ich was? Ansonsten werde ich wie im anderen Thread den Code anpassen

Re: webmail.domain.tld Proxy für Roundcube 1.6.0

Posted: Fri 30. Sep 2022, 10:53
by MLan
Florian wrote: Fri 30. Sep 2022, 10:39 Hallo,

also ich bekomme da nachwievor zwar die Loginseite angezeigt aber beim Login einen 403 Forbidden Error, übersehe ich was? Ansonsten werde ich wie im anderen Thread den Code anpassen
Asche auf mein Haupt.
Ich hatte nur die proxyconfig von 24unix getestet aber nicht das Login
Login geht hier auch nicht 403.

Sorry
Gruß Mlan

Re: Slave DNS verwalten

Posted: Fri 30. Sep 2022, 13:52
by 24unix
Tja, mein Fehler.

Da ich selber kein Webmail nutze und auf dem Testsystem nichtmal einen eMal Account sah ich das Problem als erledigt an als die Login-Maske mit der gewünschten URL erschien.

Ich bekomme auch den 403 beim Login. Habe aber noch nicht aufgegeben :)

Re: Slave DNS verwalten

Posted: Fri 30. Sep 2022, 16:27
by 24unix
Ich drehe mit dem Kram noch durch, sitze den ganzen Tag schon dran, RewriteRules, ProxyPass alles erdenkliche getestet.

Die fehlerhafte Stelle hat MLan ja schon identifiziert.

In der Function url() die Zeilen 1148 bis 1154 auskommentieren, und der 403 kommt nicht.

Code: Select all

1147  else {
1148             if (isset($_SERVER['REQUEST_URI'])) {
1149                 $prefix = preg_replace('/[?&].*$/', '', $_SERVER['REQUEST_URI']) ?: './';
1150             }
1151             else {
1152                 $prefix = './';
1153             }
1154         }
1155 return $prefix . $url;
Es reicht auch, das $prefix in Zeile 1155 zu entfernen.

Also, die Funktion prüft ob $_SERVER['REQUEST_URI']) gesetzt ist, wenn ja führt sie die Zeile mit der Regex aus.

Bei meiner Config steht in der REQUEST_URI "/webmail/".

Testweise vorher und hinterher ein echo:

Code: Select all

echo "pre1:$prefix";
$prefix = preg_replace('/[?&].*$/', '', $_SERVER['REQUEST_URI']) ?: './';
echo "pre2:$prefix";
Ergibt "pre1:pre2:/webmail/"

return $prefix . $url schmeisst den 403, return $url klappt.

Hat jemand ne Idee, warum das hinter ProxyPass knallt aber direkt aufgerufen nicht?

Für den Moment behelfe ich mir damit, nur "return $url" zu verwenden.

Aber das kann nicht die Lösung sein.

Dafür geht es dann mit der Config:

Code: Select all

ProxyPass /.well-known/ !
SSLProxyEngine On
ProxyPass "/" "https://keyhelp.lab.24unix.net/webmail/"
und in der URL steht: https://webmail.lab.24unix.net/?_task=mail&_mbox=INBOX


Edit:

Wenn ich Roundcube via Tools => Webmail aufrufe kommt auch "pre1:pre2:/webmail/" raus.

RC direkt aufgerufen, debug von von $prefix und $prefix . $url:
pre1:pre2:/webmail/
res: /webmail/ . ?_task=mail

Via webmail-domain:
pre1:pre2:/webmail/
res: /webmail/ . ?_task=mail

also identisch.
Sehr merkwürdig.

Ich gehe jetzt mit Xdebug dran.

Edit2:
Was mir aufgefallen ist: er baut die Seite ganz kurz auf, dann kommt der 403.

Re: Slave DNS verwalten

Posted: Fri 30. Sep 2022, 20:12
by MLan
@24unix

Nur mal so als kleine Anregung:
Ich hab mir mal eine normale standard.sub.de ohne proxy angelegt.
Dann da die "Roundcube Webmail 1.7-git" rein gezogen

dann

Code: Select all

+ config/config.inc.php
+ plugins/keyhelp_sync_identities
+ cp /etc/keyhelp/config/config.json   /home/users/mlan/www/standard.sub.de/plugins/keyhelp_sync_identities/config.json

aus dem keyhelp reinkopiert
Rechte korrigiert

dann

Code: Select all

vi keyhelp_sync_identities

 // Load from KeyHelp default config
 $config_file = '/home/.....config.json'  (hier pfad anpassen)
Läuft erstmal normal.


Nun hab ich mir eine webmailer.domain.de + proxy angelegt und sieh da : läuft,
auch ohne /webmail und ohne quellcodehack

Gruß MLan

Re: Slave DNS verwalten

Posted: Fri 30. Sep 2022, 20:19
by 24unix
Die GIT Version habe ich heute auch schon probiert, nicht viel gefunden.

Ich bleibe dran, ist aber F1-Wochenende. Spätestens Montag geht es weiter.

Re: Slave DNS verwalten

Posted: Fri 30. Sep 2022, 20:51
by Jolinar
MLan wrote: Fri 30. Sep 2022, 20:12 Ich hab mir mal eine normale standard.sub.de ohne proxy angelegt.
Dann da die "Roundcube Webmail 1.7-git" rein gezogen
Hast du auch (analog zu KH) die RC-Instanz auf die URL standard.sub.de/webmail/ installiert?

BTW:
Hab grad mal geschaut und konnte noch keine v.1.7 finden...Hast du da mal einen Link?

Re: Slave DNS verwalten

Posted: Fri 30. Sep 2022, 21:29
by MLan

Code: Select all

https://github.com/roundcube/roundcubemail/archive/refs/heads/master.zip
khr.png

Re: Slave DNS verwalten

Posted: Fri 30. Sep 2022, 21:32
by Jolinar
Ahh Danke!

Re: Slave DNS verwalten

Posted: Fri 30. Sep 2022, 21:32
by MLan
Jolinar wrote: Fri 30. Sep 2022, 20:51 Hast du auch (analog zu KH) die RC-Instanz auf die URL standard.sub.de/webmail/ installiert?
Nö. hab das nicht angefasst oder geändert.
Nur alles separat als 2. Instanz für Testzwecke.

Re: Slave DNS verwalten

Posted: Fri 5. Apr 2024, 16:31
by lestart
Moin moin,

bei mir hängt es schon in der Installation :?

Wenn ich

Code: Select all

/usr/bin/keyhelp-php81 /usr/local/bin/composer update
auführe kommt

Code: Select all

Class LucidFrameTest\Console\ConsoleTable\ConsoleTableTest located in ./vendor/phplucidframe/console-table/tests/LucidFrame/Console/ConsoleTableTest.php does not comply with psr-0 autoloading standard. Skipping.
Ich bin der API-User und habe laut git alle Schritte vorher ausgeführt.
Ach ja ich habe das git geklont.

LG Les

Re: Slave DNS verwalten

Posted: Fri 5. Apr 2024, 17:01
by 24unix
Oh, mit dem Teil habe ich schon sehr lange nichts mehr gemacht … Es ist in einem nicht besonders gutem Zustand auf Git, ich habe an den laufenden Systemen immer wieder rumgebastelt, und updates gemacht.
Ein Setup von 0 ist im Moment gar nicht sauber möglich.
Bei mir läuft es, ansonsten war das Feedback eher gering, so dass ich lange nichts mehr dran gemacht habe.
Ich sollte das man grundsätzlich überarbeiten.
Aber das mit dem Framework ist nur eine Warning, das kannst Du ignorieren. Unit-test existieren eh nicht wirklich.

In dem Verzeichnis sollte ein

Code: Select all

./bin console 
aufrufbar sein, danach ist leider viel Handarbeit angesagt, die Dokumentation ist nicht auf Stand.

Aber in 2 Wochen habe ich Urlaub, evtl. komme ich dazu, das mal wieder anzufassen.


Die letzte release könnte laufen: https://git.24unix.net/24unix.net/bindAPI/releases

Die aktuelle Branch in der Form derzeit nicht:
Don't use this code right now.
Use the latest release instead.
Aber ich setzte mich mal hin, und schaue ob ich die gröbsten Schnitzer geradebiegen kann.
Vieles habe ich einfach im Live-System von Hand gemacht, der Installer ist noch nicht fertig.

Edit: Ich habe gerade eine pre 1.0.2 getagged.

Code: Select all

./bin/console -V check:setup <username>
(als root oder mit sudo) läuft bei mir jetzt durch, und dann als der Paneluser:

Code: Select all

./bin/console -V check:permissions
auch.
Wenn das System noch nicht auf Bookworm ist, wie gehabt keyhelp-php82 vor den Aufruf.

Den Rest schaue ich mir im Urlaub mal näher an …

Re: Slave DNS verwalten

Posted: Fri 5. Apr 2024, 21:15
by lestart
Hi,
danke für deine Antwort Leider bekomme ich

Code: Select all

Unknown action: setup
Moment bin glaube ich gerade zu doof.


Gruß Les

Re: Slave DNS verwalten

Posted: Fri 5. Apr 2024, 21:21
by 24unix
lestart wrote: Fri 5. Apr 2024, 21:15 Hi,
danke für deine Antwort Leider bekomme ich

Code: Select all

Unknown action: setup
Gruß Les
Hast Du die 1.0.2 ausgecheckt?

Code: Select all

❯ ./bin/console check:setup
You need to supply a username.
Oder, wenn es nicht pressiert, warte bis nach meinem Urlaub …