====== Cyrus IMAP ====== for Slackware 11 ===== cyrus-sasl ===== cyrus-sasl needs to be recompiled: ./configure --prefix=/usr \ --localstatedir=/var \ --sysconfdir=/etc \ --enable-static \ --enable-shared \ --enable-gssapi \ --disable-krb4 \ --enable-login \ --with-dbpath=/etc/sasldb2 \ --with-dblib=berkeley \ --with-bdb-libdir=/lib \ --with-bdb-incdir=/usr/include/db4 ./configure --prefix=/usr \ --localstatedir=/var \ --sysconfdir=/etc \ --enable-static \ --enable-shared \ --enable-gssapi \ --disable-krb4 \ --enable-login \ --with-bdb-incdir=/usr/include/db4 ===== compiling ===== ./configure --prefix=/usr --sysconfdir=/etc \ --localstatedir=/var --enable-netscapehack --enable-listext \ --with-idle=idled --disable-murder --enable-nntp --without-snmp --with-auth=unix \ --with-bdb-incdir=/usr/include/db44 --with-syslogfacility=MAIL \ --with-libd=/usr/lib ./configure --prefix=/usr --sysconfdir=/etc \ --localstatedir=/var --enable-netscapehack --enable-listext \ --with-idle=idled --disable-murder --enable-nntp --without-snmp \ --with-cyrus-prefix=/usr/lib/cyrus-imapd \ --with-service-path=/usr/lib/cyrus-imapd --with-auth=unix \ --with-bdb-incdir=/usr/include/db44 --with-syslogfacility=MAIL \ --with-libd=/usr/lib I had to edit a few files in cyrus-src/sieve: FIXME (might not be needed - wasn't on bender.cuit) for i in Makefile Makefile.in test.c do sed -i 's/imap\/message.o/sieve\/message.o/g' $i done and line 38 of sieve/sieve_err.c needs to be commented out /* initialize_siev_error_table_r(&_et_list); */ make checkinstall ===== Installing ===== install the tgz file ===== configuration ===== [[http://cyrusimap.web.cmu.edu/imapd/install-configure.html]] we need to add the user cyrus and group sieve adduser cyrus vi /etc/group and add sieve we need to configure: * imapd.conf * Create the file "/etc/imapd.conf". Here is a sample "imapd.conf" with a minimal number of values defined:\\ configdirectory: /var/imap partition-default: /var/spool/imap admins: curtj abell sasl_pwcheck_method: saslauthd * syslog.conf (need to add logging for imap and authentication, and sieve?) * If you do not copy the "syslog/syslog.conf" file to the "/etc" directory, be sure to add support for "local6.debug". The file should include a line like:\\ \\ local6.debug /var/log/imapd.log\\ \\ You probably also want to log SASL messages with a line like:\\ \\ auth.debug /var/log/auth.log\\ \\ After installation and testing, you probably want to change the ".debug" component to something a little less verbose. Create the log files:\\ \\ touch /var/log/imapd.log /var/log/auth.log\\ \\ * setup data directories (in /var/imap and /usr/sieve I think) * This document uses the configuration directory "/var/imap" in its examples. This directory should be owned by the cyrus user and group and should not permit access to other users.\\ cd /var mkdir imap chown cyrus imap chgrp mail imap chmod 750 imap * This document uses a default partition directory of "/var/spool/imap" in the following example:\\ cd /var/spool mkdir imap chown cyrus imap chgrp mail imap chmod 750 imap * If you wish to use Sieve, and you didn't configure deliver to look in home directories (see the imapd.conf man page), create the Sieve directory:\\ cd /usr mkdir sieve chown cyrus sieve chgrp mail sieve chmod 750 sieve * Change to the Cyrus user and use the tool "tools/mkimap" to create the rest of the directories (subdirectories of the directories you just created).\\ su cyrus tools/mkimap exit * Create your ssl cert\\ openssl req -new -x509 -nodes -out /var/imap/server.pem -keyout /var/imap/server.pem -days 365\\ and make sure it is readable by the cyrus user * Add the following lines to the "/etc/services" file if they aren't already there.\\ pop3 110/tcp nntp 119/tcp imap 143/tcp imsp 406/tcp nntps 563/tcp acap 674/tcp imaps 993/tcp pop3s 995/tcp kpop 1109/tcp sieve 2000/tcp lmtp 2003/tcp fud 4201/udp * setup the MTA, and create the certificates ===== cyradm ===== cpan install IMAP::Admin cd /your/Cyrus/source/path cd perl make make install install Bundle::CPAN reload cpan == {{tag>:linux :linux:server}}