====== Cyrus ====== ===== Verwaltung ===== einloggen: cyradmin -user cyrus localhost PW: w2^8 set(in kb) or remove quota for mailbox: (get users via lm (listmailbox)) sq user/gerald.domain.de none Wenn Mailboxes von Server->Server kopiert werden: in cyrus reingehen und Nutzer/Mailboxes anlegen (bei alten server mit lm schauen, welche es gibt und die dann mit cm anlegen). Dann AUSSERHALB von cyrus die Mailboxes rekonstruieren mit cyrus reconstruct -r user/abc.qqq-etc.de Das -rf stellt auch die Unterverz. wieder her... the -f makes reconstruct examine the directories for cyrus.* datafiles and if it finds them, it will add those directories as sub-folders. ===== How to export data from mailboxes.db ===== Quelle((http://lists.andrew.cmu.edu/pipermail/info-cyrus/2005-September/019433.html)) As the cyrusroot user run: cyrus ctl_mboxlist -d > filename 'filename' will now be a text file listing the mailboxes. You can directly edit this file. When you are done making changes to it you can re-import it with: cyrus ctl_mboxlist -u < filename You will want to move the mailboxes.db out of the way before importing the text file: mv mailboxes.db mailboxes.db.bak the import command mentioned earlier adds to the mailboxes.db, it does not overwrite mailboxes.db. Quelle((http://www.postfix-howto.de/v1/cyrus_conf.html)) [[mailserver:]] ===== Konfiguration von Cyrus SASL ===== Jetzt geht es darum Postifx zu sagen, wo es die Benutzer überprüfen soll. Dazu haben wir ja Cyrus SASL gewählt. Bei der Installation haben wir mit dem suffix: "''--with-plugindir=/usr/local/lib/sasl2''" angegeben, wo wir unsere Plugins hineinstellen und SASL sie suchen soll. Jetzt legen wir die Datei /usr/local/lib/sasl2/smtpd.conf an mit folgendem Inhalt: pwcheck_method: saslauthd mech_list: plain login Für unsere MySQL Nutzer müssen wir noch eine kleine Änderung in der Datei /etc/init.d/cyrus vornehmen, die wir bei der Cyrus Installation angelegt haben. /usr/local/sbin/saslauthd -c -a shadow& in /usr/local/sbin/saslauthd -c -a pam& Die Datei speichern wir ab und weiter gehts. ===== Konfiguration von Cyrus IMAP ===== als Erstes legen wir die Datei /etc/imapd.conf an, mit folgendem Inhalt: postmaster: postmaster configdirectory: /var/imap partition-default: /var/spool/imap admins: cyrus allowanonymouslogin: no allowplaintext: yes sasl_mech_list: PLAIN servername: servername autocreatequota: 10000 reject8bit: no quotawarn: 90 timeout: 30 poptimeout: 10 dracinterval: 0 drachost: localhost sasl_pwcheck_method: saslauthd sievedir: /usr/sieve sendmail: /usr/sbin/sendmail sieve_maxscriptsize: 32 sieve_maxscripts: 5 #unixhierarchysep: yes - "postmaster", gibt den Postmaster an, also den E-Mail Administrator. - "configdirectory", gibt den Ordner an, indem Cyrus seine Konfiguration speichert, das sind z.b: Benutzerdatenbank, nicht zu verwechseln mit unserer MySQL Datenbank. - "partition-default", legt den Ordner fest indem Cyrus die E-Mails speichert. - "admins", legt den Cyrus Administrator fest. - "allowanonymouslogin", wie der Name schon sagt, bedeutet, dass sich alle Benutzer authentifizieren müssen. - "allowplaintext", bedeutet, dass die Passwörter nicht verschlüsselt sein müssen. - "sasl_mech_list", bedeutet, dass Cyrus die Passwörter im Klartext überprüft. - "servername", bitte ändern, hier muss dein FQHN(Fully Qualified Hostname) stehen. - "autocreatequota", bedeutet, dass jeder neue Benutzer automatisch 10mb Speicher bekommt. - "reject8bit", ist diese Option auf "yes" gesetzt, würde Cyrus keine E-Mails im 8 bit Format annehmen; ist sie auf "no", so wandelt Cyrus die Zeichen in 7 bit um. - "quotawarn", bedeutet, sollte die Mailbox zu 90% voll sein, bekommt der Benutzer eine warnung. - "timeout", bedeutet, dass wenn der Benutzer 30 Minuten inaktiv ist, der Server automatisch die Verbindung zum Client trennt. - "poptimeout", bedeutet, dass nach 10 Minuten Inaktivität der Server die POP3 Verbindung trennt. - "dracinterval", mit DRAC ist in Cyrus "pop-before-smtp, imap-before-smtp" implementiert. "dracinterval" damit setze ich die Zeit fest, in welcher ein Benutzer POP/IMAPgemacht haben muss, um SMTP benutzen zu können. - "drachost", ist der Host. - "sasl_pwcheck_method", legt die Authentifiziermethode mit SASL fest. - "sievedir", legt den Ordner fest, indem die Sieve scripte gespeichert werden. - "sendmail", zeigt Cyrus das "sendmail" Binary. - "sieve_maxscriptsize", legt die maximale Größe der Sieve Scripte fest. - "sieve_maxscripts", legt die maximale Anzahl der Sieve Scripts fest. - "unixhierarchysep", normalerweise trennt Cyrus IMAP Ordern mit einem ".", mit der option: "unixhierarchysep", kann man die Ordner mit einem "/" trennen lassen. Jetzt legen wir für Cyrus noch extra SSL Certificate an, wer die Gleichen wie Postfix benutzen möchte kann das tun: mkdir /var/imap cp /etc/certs/key.pem /var/imap/server.pem cat /etc/certs/cert.pem >> /var/imap/server.pem chown cyrus:mail /var/imap/server.pem chmod 600 /var/imap/server.pem # Schützt den Key echo tls_ca_file: /var/imap/server.pem >> /etc/imapd.conf echo tls_cert_file: /var/imap/server.pem >> /etc/imapd.conf echo tls_key_file: /var/imap/server.pem >> /etc/imapd.conf - "echo tls_ca_file: /var/imap/server.pem >> /etc/imapd.conf", legt in der /etc/imapd.conf den punkt: "tls_ca_file" an, damit sagen wir Cyrus wo er sein SSL CAcert findet. - "echo tls_cert_file: /var/imap/server.pem >> /etc/imapd.conf", legt in der /etc/imapd.conf den punkt: "tls_cert_file" an, damit sagen wir Cyrus wo er sein SSL Cert findet. - "echo tls_key_file: /var/imap/server.pem >> /etc/imapd.conf", legt in der /etc/imapd.conf den punkt: "tls_key_file" an, damit sagen wir Cyrus wo er sein SSL Key findet. Nachdem wir nun unseren IMAP Server konfiguriert haben, müssen wir noch festlegen, welche Dienste wir brauchen. Dazu erstellen wir die Datei: /etc/cyrus.conf mit dem Inhalt: START { # do not delete this entry! recover cmd="ctl_cyrusdb -r" # this is only necessary if using idled for IMAP IDLE # idled cmd="idled" } # UNIX sockets start with a slash and are put into /var/imap/socket SERVICES { # add or remove based on preferences imap cmd="imapd" listen="imap" prefork=0 imaps cmd="imapd -s" listen="imaps" prefork=0 pop3 cmd="pop3d" listen="pop3" prefork=0 pop3s cmd="pop3d -s" listen="pop3s" prefork=0 sieve cmd="timsieved" listen="sieve" prefork=0 # at least one LMTP is required for delivery # lmtp cmd="lmtpd" listen="lmtp" prefork=0 lmtpunix cmd="lmtpd" listen="/var/imap/socket/lmtp" prefork=0 # this is only necessary if using notifications # notify cmd="notifyd" listen="/var/imap/socket/notify" proto="udp" prefork=1 } EVENTS { # this is required checkpoint cmd="ctl_cyrusdb -c" period=30 # this is only necessary if using duplicate delivery suppression delprune cmd="ctl_deliver -E 3" period=1440 # this is only necessary if caching TLS sessions tlsprune cmd="tls_prune" period=1440 # SQUAT failed, helps squatter cmd="squatter -r user" period=1440 } Wer einen großen Server mit sehr vielen Benutzern hat , sollte prefork einschalten, um so die Performance des Servers zu erhöhen. Nachdem wir die Datei gespeichert haben, müssen wir noch einige Ordner für Cyrus erstellen: /var/imap cd /var mkdir imap chown cyrus:mail imap chmod 750 imap /var/spool/imap cd /var/spool mkdir imap chown cyrus:mail imap chmod 750 imap /usr/sieve cd /usr mkdir sieve chown cyrus:mail sieve chmod 750 sieve Sollten bei der Erstellung Fehler kommen wie: "Der ordner existiert schon" ist das nicht weiter schlimm. Cyrus hat noch ein kleines Script, welches für uns die restliche Arbeit abnimmt, dazu wechseln wir in das Verzeichnis, wo unsere Cyrusquellen liegen und in das Unterverzeichnis "tools" und führen "mkimap" aus. su - cyrus /der/order/in/dem/cyrus/source/liegt/tools/mkimap Für alle, die noch "ext2" benutzen müssen, folgendes noch erledigen, für alle andern Filesysteme ist das nicht vonnöten. cd /var/imap chattr +S user quota user/* quota/* chattr +S /var/spool/imap /var/spool/imap/* Damit haben wir die Installation von Cyrus geschafft und machen weiter.