Courier IMAP zusammen mit SquirrelMail

Twilo
<mod> Diskussion hierzu: Diskussion: Courier IMAP zusammen mit SquirrelMail (miko)</mod>


Hallo,

ich hab mal ein kleines Tutorial geschrieben, wie man Courier IMAP zusammen mit SquirrelMail zum laufen bekommt.
mich hat es immer gestört, alles im Forum und in der Mailingliste zusammen zusuchen :oops:
deshalb hier mal alles auf ein Blick smile

Ab der Standardumgebung 0.037 sind nur die Punkte 10 und 12 abzuarbeiten, da SquirrelMail ab dieser Version mit ausgeliefert wird



Vorraussetzung ist die Standardumgebung 0.032 oder höher

1. SquirrelMail herunterladen
code:
1:
wget http://heanet.dl.sourceforge.net/sourceforge/squirrelmail/squirrelmail-1.4.9a.tar.bz2



2. SquirrelMail Übersetzungen herunter laden
code:
1:
wget http://heanet.dl.sourceforge.net/sourceforge/squirrelmail/all_locales-1.4.9-20070106.tar.bz2



3. SquirrelMail entpacken
code:
1:
tar xfj squirrelmail-1.4.9a.tar.bz2



4. Übersetzungen entpacken
code:
1:
tar xfj all_locales-1.4.9-20070106.tar.bz2



5. SquirrelMail nach /opt/squirrelmail verschieben
code:
1:
mv squirrelmail-1.4.9a /opt/squirrelmail/



6. locale nach /opt/squirrelmail/locale/ verschieben
code:
1:
mv -f locale/* /opt/squirrelmail/locale/



7. locale Verzeichnis löschen, was nicht mehr gebraucht wird
code:
1:
rmdir locale



8. Dateiowner auf webmail setzen
code:
1:
chown -R webmail:webmail /opt/squirrelmail/



9. SquirrelMail konfigurieren
code:
1:
/opt/squirrelmail/configure



10. httpd.conf-template anpassen
folgendes unter
Zitat:
####
#### VirtualHosts
####

eintragen
code:
1:
2:
3:
4:
5:
6:
7:
8:
<VirtualHost xxx.xxx.xxx.xxx:80>
  ServerName      webmail.SERVER-ADRESSE
  ServerAlias     webmail.*
  DocumentRoot    /opt/squirrelmail/
  ScriptAlias     /cgi-sys/ /usr/local/pd-admin2/cgi-sys/
  AddHandler      phpwrap .php .php3 .php4
  Action phpwrap  /cgi-sys/php-cgiwrap//opt/squirrelmail/
</VirtualHost>

somit kann jeder Kunde den Webmailer mit http://webmail.KUNDENDOMAIN aufrufen


11. Änderungen an der Datenbank vadmin für Courier-IMAP
code:
1:
2:
alter table pop3 add uid int(10) unsigned DEFAULT '<UID>' not null; 
alter table pop3 add gid int(10) unsigned DEFAULT '<GID>' not null;


Geben Sie diese Befehle in der MySQL-Shell als Benutzer
vadmin oder root ein. Ersetzen Sie dabei bitte <UID> gegen
die Unix-User-ID des Benutzer popuser und <GID> gegen die
Unix-Group-ID der Gruppe popuser (beide IDs können Sie mit
dem Befehl "id popuser" herausfinden).

Beispiel:
code:
1:
2:
3:
linux:~ # id popuser
uid=1018(popuser) gid=1009(popuser) groups=1009(popuser)
linux:~ #

dann lautet der MySQL-Befehl also
code:
1:
2:
alter table pop3 add uid int(10) unsigned DEFAULT '1018' not null; 
alter table pop3 add gid int(10) unsigned DEFAULT '1009' not null;




12. Änderungen damit man sich mit der eMail-Adresse einloggen kann (optional)

12.1 pdadmin.conf
folgendes hinzufügen "$pop3_alt_login_field = 'email';"

12.2 Datenbank vadmin
folgenden MySQL-Befehl ausführen, falls die Spalte "email" noch nicht vorhanden ist
code:
1:
ALTER TABLE `pop3` ADD `email` VARCHAR( 64 )

12.3 authmysqlrc
in der Konfigurationsdatei /usr/local/pd-admin2/etc/authmysqlrc
ab der SE 0.038 in folgender Konfigurationsdatei /usr/local/pd-admin2/etc/authlib/authmysqlrc
MYSQL_LOGIN_FIELD auf "email" ändern

12.4 Spalte "email" in der MySQL-Tabelle "pop3"
Falls vorher schon eMail-Adressen angelegt wurden, muss folgender MySQL-Befehl ausgeführt werden
code:
1:
UPDATE `pop3` SET `email` = CONCAT_WS( '@', `localpart` , SUBSTRING_INDEX( REPLACE (`home` ,'/home/popuser/popboxen/', ''), '/', 1 ) )

12.5 UNIQUE auf die email-Spalte setzen
Damit sichergestellt werden kann, dass in der email-Spalte kein Eintrag doppelt vorkommt, muss ein UNIQUE-Index auf die Spalte gesetzt werden
code:
1:
ALTER TABLE `pop3` ADD UNIQUE `email` ( `email` )



13. Courier IMAP konfigurieren [ab SE 0.032]
code:
1:
/usr/local/pd-admin2/CONFIGURE/configure-ci.pl



14. Courier IMAP starten
code:
1:
/usr/local/pd-admin2/libexec/imapd.rc start


Ab SE 0.038 muss zusätzlich noch ein separater Anmeldeserver gestartet werden
code:
1:
/usr/local/pd-admin2/sbin/authdaemond start



15. Falls der Daemon nach einem Neustart des System automatisch gestartet werden soll, legen Sie (hier: unter SuSE 7.3) folgende Links an:
code:
1:
2:
ln -s /usr/local/pd-admin2/libexec/imapd.rc /etc/rc.d/rc3.d/S20imapd
ln -s /usr/local/pd-admin2/libexec/imapd.rc /etc/rc.d/rc3.d/K20imapd


und ab SE 0.038 zusätzlich für den Anmeldeserver
code:
1:
2:
ln -s /usr/local/pd-admin2/sbin/authdaemond /etc/rc.d/rc3.d/S20authd
ln -s /usr/local/pd-admin2/sbin/authdaemond /etc/rc.d/rc3.d/K20authd



16. Courier IMAP mit SSL
16.1 Falls IMAP über SSL betrieben werden soll, benötigen Sie ein Zertifikat. Speichern Sie dieses Zertifikat unter
/usr/local/pd-admin2/share/imapd.pem

16.2 Anschließend können Sie alternativ oder zusätzlich den imap-Daemon für den SSL-Zugriff starten:
code:
1:
/usr/local/pd-admin2/libexec/imapd-ssl.rc start




falls etwas fehlt, bitte melden :-)

die Texte stammen teilweise von der Firma Bradler & Krantz GmbH & Co. KG

mfg
Twilo
miko93
Thema teilweise in die Diskussionsecke verschoben: Diskussion: Courier IMAP zusammen mit SquirrelMail
dirk0201
hallo

ich habe da ein kleines problem.
und zwar muss ich für jede neu erstellte mail adresse erst immer vollgendenden befehl ausführen damit der login mit der mail adresse geht.

Zitat:
UPDATE `pop3` SET `email` = CONCAT_WS( '@', `localpart` , SUBSTRING_INDEX( REPLACE (`home` ,'/home/popuser/popboxen/', ''), '/', 1 ) )


lässt sich dies nicht irgendwie automatisieren ?
Twilo
Hallo,

Zitat:
Original von dirk0201
und zwar muss ich für jede neu erstellte mail adresse erst immer vollgendenden befehl ausführen damit der login mit der mail adresse geht.
Zitat:
UPDATE `pop3` SET `email` = CONCAT_WS( '@', `localpart` , SUBSTRING_INDEX( REPLACE (`home` ,'/home/popuser/popboxen/', ''), '/', 1 ) )

lässt sich dies nicht irgendwie automatisieren ?

führe den Schritt 12.1 aus.

ps. Was ist 'Plenken'?

mfg
Twilo
dirk0201
Hallo.

Dies habe ich selbstverständlich schon gemacht.
sogar auch schon den ganzen server neu rebootet.

allerdings ist mir in phpmyadmin vollgendes anderen aufgefallen.
habe mal ein bild davon gemacht.
kann es sein das dort vielleicht der fehler zu suchen ist ?
Stella
Hi

wenn Du uns noch sagst, was Du meinst, kann man Dir evtl. helfen.

Stella