====== 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}}