QMail – Courier Imap (CentOS 7)
Installiamo ora il vero e proprio Imap Server: installiamo alcune dipendenze, scarichiamo i sorgenti e procediamo alla compilazione:
# yum -y install libidn-devel gamin-devel # su - simscan $ wget https://jaist.dl.sourceforge.net/project/courier/imap/4.18.2/courier-imap-4.18.2.tar.bz2 $ tar xvfj courier-imap-4.18.2.tar.bz2 $ cd courier-imap-4.18.2 $ ./configure $ make $ make check $ exit # cd /var/spool/simscan/courier-imap-4.15.1 # make install # make install-configure # ln -s /usr/lib/courier-imap/etc /etc/courier-imap <== Per comodità
Modifichiamo il file di configurazione di courier-imap /usr/lib/courier-imap/etc/imapd:
MAXDAEMONS=200 MAXPERIP=200 <== ho accesso a questo mail server da una rete con NAT su un unico IP address DEFDOMAIN="@anthesia.lan" IMAP_ENHANCEDIDLE=1 IMAPDSTART=YES
Creiamo il file /etc/init.d/courier-imap per eseguire il nostro servizio al boot
#!/bin/sh
#
# This is a sample /etc/init.d file for Courier-IMAP
#
# chkconfig: 2345 80 30
# description: Courier-IMAP - IMAP server
#
#
#
prefix=/usr/lib/courier-imap
exec_prefix=/usr/lib/courier-imap
bindir=${exec_prefix}/bin
sbindir=${exec_prefix}/sbin
datarootdir=/usr/lib/courier-imap/share
case "$1" in
start)
cd /
. ${prefix}/etc/imapd
touch /var/lock/subsys/courier-imap
echo -n "Starting Courier-IMAP server:"
case x$IMAPDSTART in
x[yY]*)
# Start daemons.
/usr/lib/courier-imap/libexec/imapd.rc start
echo -n " imap"
;;
esac
. ${prefix}/etc/imapd-ssl
case x$IMAPDSSLSTART in
x[yY]*)
if test -x $COURIERTLS
then
# First time we start this, generate a dummy SSL certificate.
if test ! -f $TLS_CERTFILE
then
echo -n " generating-SSL-certificate..."
/usr/lib/courier-imap/share/mkimapdcert >/dev/null 2>&1
fi
/usr/lib/courier-imap/libexec/imapd-ssl.rc start
echo -n " imap-ssl"
fi
;;
esac
POP3DSTART=""
POP3DSSLSTART=""
if test -f ${prefix}/etc/pop3d
then
. ${prefix}/etc/pop3d
fi
case x$POP3DSTART in
x[yY]*)
# Start daemons.
/usr/lib/courier-imap/libexec/pop3d.rc start
echo -n " pop3"
;;
esac
if test -f ${prefix}/etc/pop3d-ssl
then
. ${prefix}/etc/pop3d-ssl
fi
case x$POP3DSSLSTART in
x[yY]*)
if test -x $COURIERTLS
then
# First time we start this, generate a dummy SSL certificate.
if test ! -f $TLS_CERTFILE
then
echo -n " generating-SSL-certificate..."
/usr/lib/courier-imap/share/mkpop3dcert >/dev/null 2>&1
fi
/usr/lib/courier-imap/libexec/pop3d-ssl.rc start
echo -n " pop3-ssl"
fi
;;
esac
echo ""
;;
stop)
echo -n "Stopping Courier-IMAP server:"
. ${prefix}/etc/imapd
. ${prefix}/etc/imapd-ssl
/usr/lib/courier-imap/libexec/imapd.rc stop
echo -n " imap"
if test -x $COURIERTLS
then
/usr/lib/courier-imap/libexec/imapd-ssl.rc stop
echo -n " imap-ssl"
fi
if test -f ${prefix}/etc/pop3d
then
/usr/lib/courier-imap/libexec/pop3d.rc stop
echo -n " pop3"
if test -x $COURIERTLS
then
/usr/lib/courier-imap/libexec/pop3d-ssl.rc stop
echo -n " pop3-ssl"
fi
fi
echo ""
rm -f /var/lock/subsys/courier-imap
;;
restart)
$0 stop
$0 start
;;
esac
exit 0
Prima di eseguire il nostro imap server, configuriamo anche la parte SSL, in maniera tale che gli utenti roaming possono connettersi al servizio con crittografia; faremo in modo che dall’esterno solo la porta 993 (SSL) sarà accessibile.
Cominciamo a generare i certificati per il nostro servizio; modifichiamo il file /usr/lib/courier-imap/etc/imapd.cnf per rispecchiare le caratteristiche della nostra azienda:
... [ req_dn ] C=IT ST=Italy L=Florence O=Anthesia Ltd OU=IT Dep. CN=mail.anthesia.lan emailAddress=dave@anthesia.lan ...
Modifichiamo anche la durata del certificato, portandola da 365 giorni a 10 anni nel file /usr/lib/courier-imap/share/mkimapdcert:
... /usr/bin/openssl req -new -x509 -days3653650 -nodes ...
Generiamo il certificato e un nuovo set di parametri DH:
# /usr/lib/courier-imap/share/mkimapdcert # /usr/lib/courier-imap/share/mkdhparams
Inseriamo le seguenti righe nel crontab, in maniera da aggiornare all’inizio del mese i parametri DH per la crittografia della connessione:
# AGGIORNAMENTO CERTIFICATI IMAP-SSL 03 05 1 * * /usr/lib/courier-imap/share/mkdhparams > /dev/null 2>&1
Aggiorniamo il file di configurazione /usr/lib/courier-imap/etc/imapd-ssl per fare partire anche la parte ssl dell’imap:
... IMAPDSSLSTART=YES ...
Modifichiamo le permission dei file ed eseguiamo il nostro imap server:
# chmod 755 /etc/init.d/courier-imap # chkconfig courier-imap on # systemctl start courier-imap
Il nostro IMAP Server è ora attivo e funzionantesia sulla porta 143 che sulla porta 993 (imap-ssl); vediamo di testarne il funzionamento.
← QMail – Courier Authlib (CentOS 7) QMail – Test Courier (CentOS 7) →