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

Quelle1) 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.

Quelle2)

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
  1. „postmaster“, gibt den Postmaster an, also den E-Mail Administrator.
  2. „configdirectory“, gibt den Ordner an, indem Cyrus seine Konfiguration speichert, das sind z.b: Benutzerdatenbank, nicht zu verwechseln mit unserer MySQL Datenbank.
  3. „partition-default“, legt den Ordner fest indem Cyrus die E-Mails speichert.
  4. „admins“, legt den Cyrus Administrator fest.
  5. „allowanonymouslogin“, wie der Name schon sagt, bedeutet, dass sich alle Benutzer authentifizieren müssen.
  6. „allowplaintext“, bedeutet, dass die Passwörter nicht verschlüsselt sein müssen.
  7. „sasl_mech_list“, bedeutet, dass Cyrus die Passwörter im Klartext überprüft.
  8. „servername“, bitte ändern, hier muss dein FQHN(Fully Qualified Hostname) stehen.
  9. „autocreatequota“, bedeutet, dass jeder neue Benutzer automatisch 10mb Speicher bekommt.
  10. „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.
  11. „quotawarn“, bedeutet, sollte die Mailbox zu 90% voll sein, bekommt der Benutzer eine warnung.
  12. „timeout“, bedeutet, dass wenn der Benutzer 30 Minuten inaktiv ist, der Server automatisch die Verbindung zum Client trennt.
  13. „poptimeout“, bedeutet, dass nach 10 Minuten Inaktivität der Server die POP3 Verbindung trennt.
  14. „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.
  15. „drachost“, ist der Host.
  16. „sasl_pwcheck_method“, legt die Authentifiziermethode mit SASL fest.
  17. „sievedir“, legt den Ordner fest, indem die Sieve scripte gespeichert werden.
  18. „sendmail“, zeigt Cyrus das „sendmail“ Binary.
  19. „sieve_maxscriptsize“, legt die maximale Größe der Sieve Scripte fest.
  20. „sieve_maxscripts“, legt die maximale Anzahl der Sieve Scripts fest.
  21. „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
  1. „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.
  2. „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.
  3. „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.

 
Nach oben
mailserver/cyrus.txt · Zuletzt geändert: 2024/02/29 13:36 von 127.0.0.1
chimeric.de = chi`s home Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0
DFmW2CEce3htPL1uNQuHUVu4Tk6WXigFQp   Dogecoin Donations Accepted Here    DFmW2CEce3htPL1uNQuHUVu4Tk6WXigFQp  DFmW2CEce3htPL1uNQuHUVu4Tk6WXigFQp