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) →