Inhaltsverzeichnis
Cyrus CentOS 5
Der IMAP-Mailserver Cyrus ist einer der beliebtesten IMAP-Mailserver. Cyrus wird an der Carnegie-Mellon Universität entwickelt und entstand aus dem Andrew Mail an Bulletin Board System welches in den 90er Jahren an der Universität entwickelt und eingesetzt wurde.
Der Cyrus-IMAP-Mailserver kann zum abholen, versenden und verwalten von e-Mails, welche durch einen Mail Transport Agent wie Postfix entgegengenommen wurden oder versendet werden sollen, genutzt werden.
Installation
Jede ernst zunehmende Linux-Distribution sollte ein vorkonfiguriertes Cyrus-Paket mit sich bringen. Deswegen ist eine Installation auch unter CentOS eine Sache des Paket-Managers yum
.
Ab hier werden root
-Rechte zur Ausführung der nachfolgenden Befehle benötigt. Um root
zu werden geben Sie bitte folgenden Befehl ein:
$ su - Password:
Benötigte RPM-Pakete
In der Regel ist bei einer standardmäßigen Installation von CentOS ein Teil der zum Betrieb von Cyrus benötigten Pakete bereits installiert. Folgende RPM-Pakete sind evtl. schon vorhanden (Installed Packages
) und RPM-Paket welche nicht installiert sind (Available Packages
), was mit folgendem Befehl überprüft werden kann:
# yum list cyrus* Loading "fastestmirror" plugin Loading mirror speeds from cached hostfile * base: mirror.silyus.net * updates: mirror.silyus.net * addons: mirror.silyus.net * extras: mirror.silyus.net Installed Packages cyrus-sasl.i386 2.1.22-4 installed cyrus-sasl-devel.i386 2.1.22-4 installed cyrus-sasl-lib.i386 2.1.22-4 installed cyrus-sasl-md5.i386 2.1.22-4 installed cyrus-sasl-plain.i386 2.1.22-4 installed Available Packages cyrus-imapd.i386 2.3.7-2.el5 base cyrus-imapd-devel.i386 2.3.7-2.el5 base cyrus-imapd-perl.i386 2.3.7-2.el5 base cyrus-imapd-utils.i386 2.3.7-2.el5 base cyrus-sasl-gssapi.i386 2.1.22-4 base cyrus-sasl-ldap.i386 2.1.22-4 base cyrus-sasl-ntlm.i386 2.1.22-4 base cyrus-sasl-sql.i386 2.1.22-4 base
Grundsätzlich sind folgende RPM-Pakete zur Installation von Cyrus nötig:
- cyrus-imapd -
cyrus-imapd.i386
- Hauptprogramm - cyrus-imapd-perl -
cyrus-imapd-perl.i386
- perl-Bibliotheken - cyrus-imapd-utils -
cyrus-imapd-utils.i386
- Cyrus-Zusatzprogramme
Je nach Ansprüche an Cyrus an zusätzliche Authentifizierungs-Möglichkeiten sind nachfolgende Pakete optional:
- cyrus-sasl-gssapi -
cyrus-sasl-gssapi.i386
- Generic Security Services Application Program Interface - cyrus-sasl-ldap -
cyrus-sasl-ldap.i386
- LDAP-Server - cyrus-sasl-ntlm -
cyrus-sasl-ntlm.i386
- NTLM (kurz für NT LAN Manager) - cyrus-sasl-sql -
cyrus-sasl-sql.i386
- SQL-Datenbanken RDBM
Installation durchführen
Folgender Befehl reicht zur Installation von Cyrus. Alle Abhängigkeiten werden automatisch aufgelöst:
# yum install cyrus-imapd Loading "fastestmirror" plugin Loading mirror speeds from cached hostfile * base: mirror.silyus.net * updates: mirror.silyus.net * addons: mirror.silyus.net * extras: mirror.silyus.net Setting up Install Process Parsing package install arguments Resolving Dependencies --> Running transaction check ---> Package cyrus-imapd.i386 0:2.3.7-2.el5 set to be updated --> Processing Dependency: cyrus-imapd-utils = 2.3.7-2.el5 for package: cyrus-imapd --> Processing Dependency: db4-utils for package: cyrus-imapd --> Running transaction check ---> Package db4-utils.i386 0:4.3.29-9.fc6 set to be updated ---> Package cyrus-imapd-utils.i386 0:2.3.7-2.el5 set to be updated --> Processing Dependency: cyrus-imapd-perl = 2.3.7-2.el5 for package: cyrus-imapd-utils --> Running transaction check ---> Package cyrus-imapd-perl.i386 0:2.3.7-2.el5 set to be updated --> Finished Dependency Resolution Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: cyrus-imapd i386 2.3.7-2.el5 base 12 M Installing for dependencies: cyrus-imapd-perl i386 2.3.7-2.el5 base 211 k cyrus-imapd-utils i386 2.3.7-2.el5 base 182 k db4-utils i386 4.3.29-9.fc6 base 119 k Transaction Summary ============================================================================= Install 4 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 13 M Is this ok [y/N]: y Downloading Packages: (1/4): cyrus-imapd-perl-2 100% |=========================| 211 kB 00:01 (2/4): cyrus-imapd-utils- 100% |=========================| 182 kB 00:00 (3/4): db4-utils-4.3.29-9 100% |=========================| 119 kB 00:01 (4/4): cyrus-imapd-2.3.7- 100% |=========================| 12 MB 01:23 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing: cyrus-imapd-perl ######################### [1/4] Installing: cyrus-imapd-utils ######################### [2/4] Installing: db4-utils ######################### [3/4] Installing: cyrus-imapd ######################### [4/4] Installed: cyrus-imapd.i386 0:2.3.7-2.el5 Dependency Installed: cyrus-imapd-perl.i386 0:2.3.7-2.el5 cyrus-imapd-utils.i386 0:2.3.7-2.el5 db4-utils.i386 0:4.3.29-9.fc6 Complete!
Inhalt der RPM-Pakete
Die beiden wichtigen Pakete in erster Linie sind cyrus-imapd
und cyrus-imapd-utils
, deren Inhalt nachfolgend kurz aufgelistet werden soll.
Der Inhalt des RPM-Paketes cyrus-imapd
kann mit folgendem Befehl aufgelistet werden:
# rpm -qil cyrus-imapd | more Name : cyrus-imapd Relocations: (not relocatable) Version : 2.3.7 Vendor: CentOS Release : 2.el5 Build Date: Sun 25 May 2008 01:59:47 AM CEST Install Date: Thu 15 Jan 2009 03:48:50 PM CET Build Host: builder16.centos.org Group : System Environment/Daemons Source RPM: cyrus-imapd-2.3.7-2.el5.src.rpm Size : 37180987 License: BSD Signature : DSA/SHA1, Sun 15 Jun 2008 01:29:53 AM CEST, Key ID a8a447dce8562897 URL : http://asg.web.cmu.edu/cyrus/imapd/ Summary : A high-performance mail server with IMAP, POP3, NNTP and SIEVE support Description : The cyrus-imapd package contains the core of the Cyrus IMAP server. It is a scaleable enterprise mail system designed for use from small to large enterprise environments using standards-based internet mail technologies. A full Cyrus IMAP implementation allows a seamless mail and bulletin board environment to be set up across multiple servers. It differs from other IMAP server implementations in that it is run on "sealed" servers, where users are not normally permitted to log in and have no system account on the server. The mailbox database is stored in parts of the filesystem that are private to the Cyrus IMAP server. All user access to mail is through software using the IMAP, POP3 or KPOP protocols. It also includes support for virtual domains, NNTP, mailbox annotations, and much more. The private mailbox database design gives the server large advantages in efficiency, scalability and administratability. Multiple concurrent read/write connections to the same mailbox are permitted. The server supports access control lists on mailboxes and storage quotas on mailbox hierarchies. The Cyrus IMAP server supports the IMAP4rev1 protocol described in RFC 3501. IMAP4rev1 has been approved as a proposed standard. It supports any authentication mechanism available from the SASL library, imaps/pop3s/nntps (IMAP/POP3/NNTP encrypted using SSL and TLSv1) can be used for security. The server supports single instance store where possible when an email message is addressed to multiple recipients, SIEVE provides server side email filtering. /etc/cron.daily/cyrus-imapd /etc/cyrus.conf /etc/imapd.conf /etc/logrotate.d/cyrus-imapd /etc/pam.d/csync /etc/pam.d/imap /etc/pam.d/lmtp /etc/pam.d/mupdate /etc/pam.d/nntp /etc/pam.d/pop /etc/pam.d/sieve /etc/pki/cyrus-imapd /etc/rc.d/init.d/cyrus-imapd /etc/sysconfig/cyrus-imapd /usr/lib/cyrus-imapd /usr/lib/cyrus-imapd/arbitron /usr/lib/cyrus-imapd/arbitronsort.pl /usr/lib/cyrus-imapd/chk_cyrus /usr/lib/cyrus-imapd/compile_sieve /usr/lib/cyrus-imapd/convert-sieve.pl /usr/lib/cyrus-imapd/ctl_cyrusdb /usr/lib/cyrus-imapd/ctl_deliver /usr/lib/cyrus-imapd/ctl_mboxlist /usr/lib/cyrus-imapd/cvt_cyrusdb /usr/lib/cyrus-imapd/cvt_cyrusdb_all /usr/lib/cyrus-imapd/cyr_expire /usr/lib/cyrus-imapd/cyrdump /usr/lib/cyrus-imapd/cyrfetchnews /usr/lib/cyrus-imapd/cyrus-master /usr/lib/cyrus-imapd/deliver /usr/lib/cyrus-imapd/dohash /usr/lib/cyrus-imapd/fud /usr/lib/cyrus-imapd/idled /usr/lib/cyrus-imapd/imapd /usr/lib/cyrus-imapd/ipurge /usr/lib/cyrus-imapd/lmtpd /usr/lib/cyrus-imapd/lmtpproxyd /usr/lib/cyrus-imapd/make_md5 /usr/lib/cyrus-imapd/masssievec /usr/lib/cyrus-imapd/mbexamine /usr/lib/cyrus-imapd/mbpath /usr/lib/cyrus-imapd/migrate-metadata /usr/lib/cyrus-imapd/mkimap /usr/lib/cyrus-imapd/mknewsgroups /usr/lib/cyrus-imapd/mupdate /usr/lib/cyrus-imapd/mupdate-loadgen.pl /usr/lib/cyrus-imapd/nntpd /usr/lib/cyrus-imapd/notifyd /usr/lib/cyrus-imapd/pop3d /usr/lib/cyrus-imapd/proxyd /usr/lib/cyrus-imapd/ptdump /usr/lib/cyrus-imapd/ptexpire /usr/lib/cyrus-imapd/ptloader /usr/lib/cyrus-imapd/quota /usr/lib/cyrus-imapd/reconstruct /usr/lib/cyrus-imapd/rehash /usr/lib/cyrus-imapd/rpm_set_permissions /usr/lib/cyrus-imapd/sievec /usr/lib/cyrus-imapd/smmapd /usr/lib/cyrus-imapd/squatter /usr/lib/cyrus-imapd/sync_client /usr/lib/cyrus-imapd/sync_reset /usr/lib/cyrus-imapd/sync_server /usr/lib/cyrus-imapd/timsieved /usr/lib/cyrus-imapd/tls_prune /usr/lib/cyrus-imapd/translatesieve /usr/lib/cyrus-imapd/undohash /usr/lib/cyrus-imapd/unexpunge /usr/lib/cyrus-imapd/upd_groupcache /usr/lib/cyrus-imapd/upgradesieve /usr/share/cyrus-imapd /usr/share/cyrus-imapd/rpm /usr/share/cyrus-imapd/rpm/db.cfg /usr/share/cyrus-imapd/rpm/magic /usr/share/doc/cyrus-imapd-2.3.7 /usr/share/doc/cyrus-imapd-2.3.7/COPYRIGHT /usr/share/doc/cyrus-imapd-2.3.7/README /usr/share/doc/cyrus-imapd-2.3.7/README.HOWTO-recover-mailboxes.db /usr/share/doc/cyrus-imapd-2.3.7/README.RPM /usr/share/doc/cyrus-imapd-2.3.7/README.autocreate /usr/share/doc/cyrus-imapd-2.3.7/README.autosievefolder /usr/share/doc/cyrus-imapd-2.3.7/README.groupcache /usr/share/doc/cyrus-imapd-2.3.7/README.skiplist_recovery /usr/share/doc/cyrus-imapd-2.3.7/altnamespace.html /usr/share/doc/cyrus-imapd-2.3.7/anoncvs.html /usr/share/doc/cyrus-imapd-2.3.7/bugs.html /usr/share/doc/cyrus-imapd-2.3.7/changes.html /usr/share/doc/cyrus-imapd-2.3.7/conf /usr/share/doc/cyrus-imapd-2.3.7/conf/cmu-backend.conf /usr/share/doc/cyrus-imapd-2.3.7/conf/cmu-frontend.conf /usr/share/doc/cyrus-imapd-2.3.7/conf/normal.conf /usr/share/doc/cyrus-imapd-2.3.7/conf/prefork.conf /usr/share/doc/cyrus-imapd-2.3.7/conf/small.conf /usr/share/doc/cyrus-imapd-2.3.7/contrib /usr/share/doc/cyrus-imapd-2.3.7/contrib/README /usr/share/doc/cyrus-imapd-2.3.7/contrib/batchreconstruct /usr/share/doc/cyrus-imapd-2.3.7/contrib/bsd2cyrus /usr/share/doc/cyrus-imapd-2.3.7/contrib/cpmsg /usr/share/doc/cyrus-imapd-2.3.7/contrib/cyrus_ldap_quota /usr/share/doc/cyrus-imapd-2.3.7/contrib/cyrus_sharedbackup-0.1.tar.gz /usr/share/doc/cyrus-imapd-2.3.7/contrib/folderxfer /usr/share/doc/cyrus-imapd-2.3.7/contrib/imapcreate /usr/share/doc/cyrus-imapd-2.3.7/contrib/inboxfer /usr/share/doc/cyrus-imapd-2.3.7/contrib/skiplist.py /usr/share/doc/cyrus-imapd-2.3.7/cyrusv2.mc /usr/share/doc/cyrus-imapd-2.3.7/faq.html /usr/share/doc/cyrus-imapd-2.3.7/feedback.html /usr/share/doc/cyrus-imapd-2.3.7/index.html /usr/share/doc/cyrus-imapd-2.3.7/install-admin-mb.html /usr/share/doc/cyrus-imapd-2.3.7/install-auth.html /usr/share/doc/cyrus-imapd-2.3.7/install-compile.html /usr/share/doc/cyrus-imapd-2.3.7/install-configure.html /usr/share/doc/cyrus-imapd-2.3.7/install-murder.html /usr/share/doc/cyrus-imapd-2.3.7/install-netnews.html /usr/share/doc/cyrus-imapd-2.3.7/install-perf.html /usr/share/doc/cyrus-imapd-2.3.7/install-prereq.html /usr/share/doc/cyrus-imapd-2.3.7/install-replication.html /usr/share/doc/cyrus-imapd-2.3.7/install-sieve.html /usr/share/doc/cyrus-imapd-2.3.7/install-snmpmon.html /usr/share/doc/cyrus-imapd-2.3.7/install-testing.html /usr/share/doc/cyrus-imapd-2.3.7/install-upgrade.html /usr/share/doc/cyrus-imapd-2.3.7/install-virtdomains.html /usr/share/doc/cyrus-imapd-2.3.7/install.html /usr/share/doc/cyrus-imapd-2.3.7/internal /usr/share/doc/cyrus-imapd-2.3.7/internal/bytecode /usr/share/doc/cyrus-imapd-2.3.7/internal/database-formats.html /usr/share/doc/cyrus-imapd-2.3.7/internal/hacking /usr/share/doc/cyrus-imapd-2.3.7/internal/internationalization.html /usr/share/doc/cyrus-imapd-2.3.7/internal/locking /usr/share/doc/cyrus-imapd-2.3.7/internal/mailbox-format.html /usr/share/doc/cyrus-imapd-2.3.7/internal/master-state-machine.fig /usr/share/doc/cyrus-imapd-2.3.7/internal/prot-events /usr/share/doc/cyrus-imapd-2.3.7/internal/prot.html /usr/share/doc/cyrus-imapd-2.3.7/internal/replication_examples /usr/share/doc/cyrus-imapd-2.3.7/internal/replication_protocol /usr/share/doc/cyrus-imapd-2.3.7/internal/specials /usr/share/doc/cyrus-imapd-2.3.7/internal/uuid /usr/share/doc/cyrus-imapd-2.3.7/internal/var_directory_structure /usr/share/doc/cyrus-imapd-2.3.7/m4 /usr/share/doc/cyrus-imapd-2.3.7/m4/cyrus-imapd-procmail+cyrus.mc /usr/share/doc/cyrus-imapd-2.3.7/m4/cyrus-imapd-sendmail-8.12.9-cyrusv2.m4 /usr/share/doc/cyrus-imapd-2.3.7/m4/cyrus-procmailrc /usr/share/doc/cyrus-imapd-2.3.7/m4/cyrus-user-procmailrc.template /usr/share/doc/cyrus-imapd-2.3.7/mailing-list.html /usr/share/doc/cyrus-imapd-2.3.7/man /usr/share/doc/cyrus-imapd-2.3.7/man.html /usr/share/doc/cyrus-imapd-2.3.7/man/arbitron.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/chk_cyrus.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/ctl_cyrusdb.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/ctl_deliver.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/ctl_mboxlist.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/cvt_cyrusdb.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/cyr_expire.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/cyradm.1.html /usr/share/doc/cyrus-imapd-2.3.7/man/cyrfetchnews.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/cyrus-master.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/cyrus.conf.5.html /usr/share/doc/cyrus-imapd-2.3.7/man/deliver.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/fud.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/idled.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/imapd.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/imapd.conf.5.html /usr/share/doc/cyrus-imapd-2.3.7/man/imclient.3.html /usr/share/doc/cyrus-imapd-2.3.7/man/imtest.1.html /usr/share/doc/cyrus-imapd-2.3.7/man/installsieve.1.html /usr/share/doc/cyrus-imapd-2.3.7/man/ipurge.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/krb.equiv.5.html /usr/share/doc/cyrus-imapd-2.3.7/man/lmtpd.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/lmtptest.1.html /usr/share/doc/cyrus-imapd-2.3.7/man/make_md5.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/mbexamine.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/mbpath.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/mupdatetest.1.html /usr/share/doc/cyrus-imapd-2.3.7/man/nntpd.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/nntptest.1.html /usr/share/doc/cyrus-imapd-2.3.7/man/notifyd.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/pop3d.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/pop3test.1.html /usr/share/doc/cyrus-imapd-2.3.7/man/quota.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/reconstruct.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/rmnews.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/sieveshell.1.html /usr/share/doc/cyrus-imapd-2.3.7/man/sivtest.1.html /usr/share/doc/cyrus-imapd-2.3.7/man/smmapd.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/smtptest.1.html /usr/share/doc/cyrus-imapd-2.3.7/man/squatter.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/sync_client.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/sync_reset.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/sync_server.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/timsieved.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/tls_prune.8.html /usr/share/doc/cyrus-imapd-2.3.7/man/unexpunge.8.html /usr/share/doc/cyrus-imapd-2.3.7/murder.fig /usr/share/doc/cyrus-imapd-2.3.7/murder.png /usr/share/doc/cyrus-imapd-2.3.7/netnews.fig /usr/share/doc/cyrus-imapd-2.3.7/netnews.png /usr/share/doc/cyrus-imapd-2.3.7/notes.html /usr/share/doc/cyrus-imapd-2.3.7/os.html /usr/share/doc/cyrus-imapd-2.3.7/overview.html /usr/share/doc/cyrus-imapd-2.3.7/questions.html /usr/share/doc/cyrus-imapd-2.3.7/readme.html /usr/share/doc/cyrus-imapd-2.3.7/sieve-protocol.html /usr/share/doc/cyrus-imapd-2.3.7/sieve.html /usr/share/doc/cyrus-imapd-2.3.7/specs.html /usr/share/doc/cyrus-imapd-2.3.7/text /usr/share/doc/cyrus-imapd-2.3.7/text/altnamespace /usr/share/doc/cyrus-imapd-2.3.7/text/anoncvs /usr/share/doc/cyrus-imapd-2.3.7/text/bugs /usr/share/doc/cyrus-imapd-2.3.7/text/changes /usr/share/doc/cyrus-imapd-2.3.7/text/faq /usr/share/doc/cyrus-imapd-2.3.7/text/feedback /usr/share/doc/cyrus-imapd-2.3.7/text/index /usr/share/doc/cyrus-imapd-2.3.7/text/install /usr/share/doc/cyrus-imapd-2.3.7/text/install-admin-mb /usr/share/doc/cyrus-imapd-2.3.7/text/install-auth /usr/share/doc/cyrus-imapd-2.3.7/text/install-compile /usr/share/doc/cyrus-imapd-2.3.7/text/install-configure /usr/share/doc/cyrus-imapd-2.3.7/text/install-murder /usr/share/doc/cyrus-imapd-2.3.7/text/install-netnews /usr/share/doc/cyrus-imapd-2.3.7/text/install-perf /usr/share/doc/cyrus-imapd-2.3.7/text/install-prereq /usr/share/doc/cyrus-imapd-2.3.7/text/install-replication /usr/share/doc/cyrus-imapd-2.3.7/text/install-sieve /usr/share/doc/cyrus-imapd-2.3.7/text/install-snmpmon /usr/share/doc/cyrus-imapd-2.3.7/text/install-testing /usr/share/doc/cyrus-imapd-2.3.7/text/install-upgrade /usr/share/doc/cyrus-imapd-2.3.7/text/install-virtdomains /usr/share/doc/cyrus-imapd-2.3.7/text/mailing-list /usr/share/doc/cyrus-imapd-2.3.7/text/man /usr/share/doc/cyrus-imapd-2.3.7/text/notes /usr/share/doc/cyrus-imapd-2.3.7/text/os /usr/share/doc/cyrus-imapd-2.3.7/text/overview /usr/share/doc/cyrus-imapd-2.3.7/text/questions /usr/share/doc/cyrus-imapd-2.3.7/text/readme /usr/share/doc/cyrus-imapd-2.3.7/text/sieve /usr/share/doc/cyrus-imapd-2.3.7/text/sieve-protocol /usr/share/doc/cyrus-imapd-2.3.7/text/specs /usr/share/man/man5/cyrus.conf.5.gz /usr/share/man/man5/imapd.conf.5.gz /usr/share/man/man5/krb.equiv.5.gz /usr/share/man/man8/arbitron.8.gz /usr/share/man/man8/chk_cyrus.8.gz /usr/share/man/man8/ctl_cyrusdb.8.gz /usr/share/man/man8/ctl_deliver.8.gz /usr/share/man/man8/ctl_mboxlist.8.gz /usr/share/man/man8/cvt_cyrusdb.8.gz /usr/share/man/man8/cyr_expire.8.gz /usr/share/man/man8/cyrfetchnews.8.gz /usr/share/man/man8/cyrus-master.8.gz /usr/share/man/man8/deliver.8.gz /usr/share/man/man8/fud.8.gz /usr/share/man/man8/idled.8.gz /usr/share/man/man8/imapd.8.gz /usr/share/man/man8/ipurge.8.gz /usr/share/man/man8/lmtpd.8.gz /usr/share/man/man8/make_md5.8.gz /usr/share/man/man8/mbexamine.8.gz /usr/share/man/man8/mbpath.8.gz /usr/share/man/man8/nntpd.8.gz /usr/share/man/man8/notifyd.8.gz /usr/share/man/man8/pop3d.8.gz /usr/share/man/man8/quota.8.gz /usr/share/man/man8/reconstruct.8.gz /usr/share/man/man8/rmnews.8.gz /usr/share/man/man8/smmapd.8.gz /usr/share/man/man8/squatter.8.gz /usr/share/man/man8/sync_client.8.gz /usr/share/man/man8/sync_reset.8.gz /usr/share/man/man8/sync_server.8.gz /usr/share/man/man8/timsieved.8.gz /usr/share/man/man8/tls_prune.8.gz /usr/share/man/man8/unexpunge.8.gz /var/lib/imap /var/lib/imap/backup /var/lib/imap/db /var/lib/imap/log /var/lib/imap/md5 /var/lib/imap/msg /var/lib/imap/proc /var/lib/imap/ptclient /var/lib/imap/quota /var/lib/imap/rpm /var/lib/imap/sieve /var/lib/imap/socket /var/lib/imap/sync /var/lib/imap/user /var/spool/imap
Folgender Benutzer wurde ebenfalls angelegt, was mit folgendem Befehl überprüft werden kann:
# cat /etc/passwd | grep cyrus cyrus:x:76:12:Cyrus IMAP Server:/var/lib/imap:/bin/bash
Desweiteren wurden auch folgende Gruppe angelegt, was mit folgendem Befehl überprüft werden kann:
# cat /etc/group | grep cyrus saslauth:x:76:cyrus
Um das Starten von Cyrus auch nach einem System-(re)-start auch in Zukunft dauerhaft zu realisieren, kann folgender Befehl genutzt werden. Hier wird Cyrus zu den Start-Scripten der einzelnen Runlevel des Betriebssystem hinzugefügt:
# chkconfig cyrus-impad on
Ein Überprüfung, ob Cyrus in den einzelnen Runlevel des Betriebssystems bei einem system-(re)-start mit gestartet wird, kann mit folgenden Befehlen abgefragt werden:
# chkconfig --list | grep cyrus-imapd cyrus-imapd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Der Inhalt des RPM-Paketes cyrus-imapd-utils
kann mit folgendem Befehl aufgelistet werden:
# rpm -qil cyrus-imapd-utils | more Name : cyrus-imapd-utils Relocations: (not relocatable) Version : 2.3.7 Vendor: CentOS Release : 2.el5 Build Date: Sun 25 May 2008 01:59:47 AM CEST Install Date: Thu 15 Jan 2009 03:48:44 PM CET Build Host: builder16.centos.org Group : Applications/System Source RPM: cyrus-imapd-2.3.7-2.el5.src.rpm Size : 322562 License: BSD Signature : DSA/SHA1, Sun 15 Jun 2008 01:29:54 AM CEST, Key ID a8a447dce8562897 URL : http://asg.web.cmu.edu/cyrus/imapd/ Summary : Cyrus IMAP server administration utilities Description : The cyrus-imapd-utils package contains administrative tools for the Cyrus IMAP server. It can be installed on systems other than the one running the server. /usr/bin/cyradm /usr/bin/imtest /usr/bin/installsieve /usr/bin/lmtptest /usr/bin/mupdatetest /usr/bin/nntptest /usr/bin/notifytest /usr/bin/pop3test /usr/bin/sieveshell /usr/bin/sivtest /usr/bin/smtptest /usr/bin/synctest /usr/share/man/man1/cyradm.1.gz /usr/share/man/man1/imtest.1.gz /usr/share/man/man1/installsieve.1.gz /usr/share/man/man1/lmtptest.1.gz /usr/share/man/man1/mupdatetest.1.gz /usr/share/man/man1/nntptest.1.gz /usr/share/man/man1/pop3test.1.gz /usr/share/man/man1/sieveshell.1.gz /usr/share/man/man1/sivtest.1.gz /usr/share/man/man1/smtptest.1.gz
Konfiguration
Bevor mit der grundlegenden Konfiguration von Cyrus begonnen werden kann, ist sicherzustellen, dass der der Daemon - saslauthd
gestartet ist.
Folgende Konfiguration in der Konfigurationsdatei /etc/saslauthd.conf
muss z.B. für die Anbindung an einen LDAP-Server konfiguriert werden:
ldap_servers: ldap://ldap.tachtler.net ldap_search_base: ou=People,dc=tachtler,dc=net ldap_bind_dn: cn=Ersatzbenutzer,dc=tachtler,dc=net ldap_bind_pw: gehein ldap_scope: sub ldap_uidattr: uid ldap_filter_mode: yes ldap_filter: uid=%U
Um das Starten von saslauthd
auch nach einem System-(re)-start auch in Zukunft dauerhaft zu realisieren, kann folgender Befehl genutzt werden. Hier wird saslauthd
zu den Start-Scripten der einzelnen Runlevel des Betriebssystem hinzugefügt:
# chkconfig saslauthd on
Ein Überprüfung, ob saslauthd
in den einzelnen Runlevel des Betriebssystems bei einem system-(re)-start mit gestartet wird, kann mit folgenden Befehlen abgefragt werden:
# chkconfig --list | grep saslauthd saslauthd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Die grundlegende Konfiguration von Cyrus ist in zwei Konfigurationsdateien mit folgendem Speicherort und Namen untergebracht:
/etc/cyrus.conf
und/etc/imapd.conf
Die relevanten Änderungen gegenüber den Standard-Konfigurationsdateien, sind mit folgendem Kommentar
# Tachtler
versehen.
/etc/cyrus.conf
Die Konfigurationsdatei /etc/cyrus.conf
regelt das Verhalten der mit Cyrus mitgelieferten Hilfsprogramme, die mit dem Mailserver zusammenarbeiten, beziehungsweise von ihm für weitere Aufgaben benutzt werden.
Hier die komplette Konfigurationsdatei mit den relevanten Einstellungen:
# standard standalone server implementation 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/lib/imap/sockets SERVICES { # add or remove based on preferences imap cmd="imapd" listen="imap" prefork=5 imaps cmd="imapd -s" listen="imaps" prefork=1 # Tachtler - disabled - # default: pop3 cmd="pop3d" listen="pop3" prefork=3 # pop3 cmd="pop3d" listen="pop3" prefork=3 # Tachtler - disabled - # default: pop3s cmd="pop3d -s" listen="pop3s" prefork=1 # pop3s cmd="pop3d -s" listen="pop3s" prefork=1 sieve cmd="timsieved" listen="sieve" prefork=0 # these are only necessary if receiving/exporting usenet via NNTP # nntp cmd="nntpd" listen="nntp" prefork=3 # nntps cmd="nntpd -s" listen="nntps" prefork=1 # at least one LMTP is required for delivery # lmtp cmd="lmtpd" listen="lmtp" prefork=0 lmtpunix cmd="lmtpd" listen="/var/lib/imap/socket/lmtp" prefork=1 # this is only necessary if using notifications # Tachtler - enabled - # default: # notify cmd="notifyd" listen="/var/lib/imap/socket/notify" proto="udp" prefork=1 notify cmd="notifyd" listen="/var/lib/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, # Sieve or NNTP delprune cmd="cyr_expire -E 3" at=0400 # this is only necessary if caching TLS sessions tlsprune cmd="tls_prune" at=0400 #Tachtler - new - # squat it squatter cmd="squatter -r *" period=30 }
HINWEIS - Die Definition squatter cmd=„squatter -r *“ period=30
kann folgende Fehlermeldung im /var/log/maillog
, welche durch erzeugt wird beheben:
... SQUAT failed to open index file ... SQUAT failed
* Ursache ist, dass die Index-Datei nicht aktuell ist!
/etc/imapd.conf
Die Konfigurationsdatei /etc/imapd.conf
steuert das Verhalten des Cyrus-Master-Prozesses, welcher wiederum die Cyrus-Unterprozesse beeinflusst. imapd.conf
steuert also den imapd
und cyrus-master
und dessen Unterprozesse.
Hier die originale Konfigurationsdatei mit den relevanten Einstellungen:
configdirectory: /var/lib/imap partition-default: /var/spool/imap admins: cyrus sievedir: /var/lib/imap/sieve sendmail: /usr/sbin/sendmail hashimapspool: true sasl_pwcheck_method: saslauthd sasl_mech_list: PLAIN tls_cert_file: /etc/pki/cyrus-imapd/cyrus-imapd.pem tls_key_file: /etc/pki/cyrus-imapd/cyrus-imapd.pem tls_ca_file: /etc/pki/tls/certs/ca-bundle.crt
Hier die komplette mit Änderungen versehene Konfigurationsdatei mit den relevanten Einstellungen:
admins: cyrus root # Tachtler allowanonymouslogin: no # Tachtler autocreatequota: 1024000 # Tachtler createonpost: false # Tachtler autocreateinboxfolders: inbox|Entw&APw-rfe|Gesendete Nachrichten|Papierkorb|Spam configdirectory: /var/lib/imap # Tachtler defaultdomain: tachtler.net hashimapspool: true # Tachtler lmtp_overquota_perm_failure: true # Tachtler lmtp_downcase_rcpt: true partition-default: /var/spool/imap # Tachtler postmaster: postmaster # Tachtler quotawarn: 90 sievedir: /var/lib/imap/sieve sendmail: /usr/sbin/sendmail # Tachtler reject8bit: false # Tachtler sasl_pwcheck_method: saslauthd sasl_mech_list: PLAIN # Tachtler timeout: 30 # Tachtler unixhierarchysep: 1 # Tachtler username_tolower: true tls_cert_file: /etc/pki/cyrus-imapd/cyrus-imapd.pem tls_key_file: /etc/pki/cyrus-imapd/cyrus-imapd.pem tls_ca_file: /etc/pki/tls/certs/ca-bundle.crt # Tachtler virtdomains: on
/etc/postfix/main.cf
Um die e-Mails an Cyrus weiterzuleiten, muss eine Weiterleitung per lmtp
über Einträge als relay_domains
als „Lookup-Tabelle“ mit dem Transportweg der Weiterleitung definiert werden.
Hier die mit Änderungen versehene Konfigurationsdatei mit den relevanten Einstellungen (nur relevanter Ausschnitt):
... #relay_domains = $mydestination # Tachtler <empty> - with no Cyrus # relay_domains = # Tachtler - Cyrus - relay_domains = $mydestination ... # Tachtler # Mail Transport definition mailbox_transport = cyrus cyrus_destination_recipient_limit = 1 ...
Cyrus starten
Um das Starten von Cyrus auch nach einem System-(re)-start auch in Zukunft dauerhaft zu realisieren, kann folgender Befehl genutzt werden. Hier wird Cyrus zu den Start-Scripten der einzelnen Runlevel des Betriebssystem hinzugefügt:
# chkconfig cyrus-imapd on
Ein Überprüfung, ob Cyrus in den einzelnen Runlevel des Betriebssystems bei einem system-(re)-start mit gestartet wird, kann mit folgenden Befehlen abgefragt werden:
# chkconfig --list | grep cyrus-imapd cyrus-imapd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Abschließen wird nun Cyrus mit folgendem Befehl gestartet:
# service cyrus-impad start Importing cyrus-imapd databases: [ OK ] Starting cyrus-imapd: [ OK ]
Mailboxen einrichten
Zum Abschluss müssen noch die entsprechenden Mailboxen angelegt werden. Dies wird mit Cyrus mit dem Befehl cyradm
erledigt. Der Syntax ist wie folgt anzuwenden:
1. Bei cyradm
einloggen:
# cyradm -auth login tachtler.net -user cyrus IMAP Password: tachtler.net>
2. In das Verzeichnis /var/spool/imap/
mit folgendem Befehl wechseln:
tachtler.net> cd /var/spool/imap
3. Jetzt wird eine Mailbox mit dem Namen postmaster
angelegt:
tachtler.net> cm user/postmaster@tachtler.net
4. Eine Überprüfung, ob die Mailbox angelegt ist, kann mit folgendem Befehl erfolgen:
lm user/postmaster (\HasNoChildren)
5. Jetzt kann die cyradm
mit folgendem Befehl verlassen werden:
tachtler.net> exit
Quota für Mailboxen einrichten
Unter Cyrus können auch „Quotas“ (Größenbeschränkung des e-Mail Postfaches) auch mit dem Befehl cyradm
gesetzt werden. Der Syntax ist wie folgt anzuwenden:
1. Bei cyradm
einloggen:
# cyradm -auth login tachtler.net -user cyrus IMAP Password: tachtler.net>
2. In das Verzeichnis /var/spool/imap/
mit folgendem Befehl wechseln:
tachtler.net> cd /var/spool/imap
3. Eine „Quota“ für ein bestimmtes Postfach setzen, kann mit folgendem Befehl erreicht werden:
tachtler.net> sq user/postmaster@tachtler.net 1024000 STORAGE 0/1024000 (0%)
Die eingerichtete „Quota“ einspricht in diesem Beispiel 1 GB!
4. Eine Überprüfung, ob die „Quota“ auch richtig gesetzt wurde, kann mit folgendem Befehl erreicht werden:
tachtler.net> lq user/postmaster@tachtler.net 1024000 STORAGE 0/1024000 (0%)
5. Jetzt kann die cyradm
mit folgendem Befehl verlassen werden:
tachtler.net> exit
Mailboxen löschen
Um eine Mailbox zu löschen, müssen folgende Schritte durchgeführt werden. Dies wird mit Cyrus mit dem Befehl cyradm
erledigt. Der Syntax ist wie folgt anzuwenden:
1. Bei cyradm
einloggen:
# cyradm -auth login tachtler.net -user cyrus IMAP Password: tachtler.net>
2. Jetzt können alle Mailboxen aufgelistet werden:
tachtler.net> lm user/postmaster/INBOX (\HasNoChildren)
3. Um eine Mailbox zu löschen, muss cyrus
auf diese Mailbox alle Berechtigungen erhalten
tachtler.net> sam user/postmaster cyrus all
4. Eine Auflistung aller Berechtigungen kann mit folgendem Befehl erreicht werden:
tachtler.net> lam user/postmaster postmaster lrswipkxtecda cyrus lrswipkxtecda
5. Jetzt kann die Mailbox fon postmaser
gelöscht werden:
tachtler.net >dm user/postmaster
6. Jetzt kann die cyradm
mit folgendem Befehl verlassen werden:
tachtler.net> exit