Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:cyrus_centos_5

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:

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
Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
tachtler/cyrus_centos_5.txt · Zuletzt geändert: 2012/06/13 15:21 von klaus