• 07Apr

    ispCP: Verwaltungsoberfläche für virtuelles Hosting mit aktiver Community
    RoundCube: sehr schicker Webmailer

    Problemstellung: Ein Mailuser soll sein Passwort im Webmail ändern können.

    Schwierigkeiten:

    • Es gibt noch kein richtiges Plugin-System für RoundCube, da es noch lange nicht so etabliert wie z.B. SquirrelMail ist
    • ispCP hat seit dem RC7 symmetrisch verschlüsselte Passwörter in der Datenbank gespeichert
    • Als IMAP/POP3-Daemon kommt Courier zum Einsatz, der die Passwörter aber nicht aus der Datenbank holt, sondern für den der ispCP-Daemon eine Datei exportiert. Diese Datei muss also bei einer Passwortänderung ebenfalls aktualisiert werden

    Es gibt zwei Lösungsansätze, die ich erfolgreich kombinieren konnte:

    • Ein Patch für RoundCube zum Ändern von MySQL-basierten Passwörtern. Er bildet das Grundgerüst und musste nur geringfügig um die ispCP-Spezialitäten erweitert werden.
    • Eine Anleitung, um eine etwas simplere Passwortänderungsmethode in RoundCube einzubauen. Mir gefällt aber der Lösungsansatz mit der neuen Registerkarte, wie im obigen Patch gemacht, deutlich besser.

    Der Trick besteht lediglich darin, die passenden Dateien aus dem ispCP include-Verzeichnis zu importieren, um die Funktionen encrypt_db_password() (Verschlüsselt ein Passwort mit dem für die Installation gültigen Key) und send_request() (benachrichtigt den ispCP-Daemon, damit er die Datei für Courier aktualisiert) ausführen zu können.

    Der interessierte Leser kann alles in dem kompletten Patch nachlesen.

    Permalink

    Tags: , ,