Installing dovecot with Sieve from Source on Red Hat 8.0

With this guide I would like to walk you through installing Dovecot with dovecot-pigeonhole from source on RHEL 8. It should work with all other Red-hat based distributions. In this guide I will assume that you are comfortable with the command line shell and editor.

I did not find and package for Red Hat 8.0 for dovecot-pigeonhole and I prefer installing from source instead of the package manager to ensure you get the latest bug and security fixes.


We are staring installing the Development Tools

yum groupinstall development
yum install openldap-devel

If you do not need ldap, you can skip the yum install for the openldap.

If you do not have one I will create a directory for all the source.

mkdir /opt/src

Download the dovecot, this is the main page:

Here how to download and extract

cd /opt/src
tar zxvf dovecot-2.3.6.tar.gz

Now we donwload the dovecot-pigeonhole

cd /opt/src
tar zxvf dovecot-2.3-pigeonhole-0.5.6.tar.gz

Configuring, Compiling and Installing

Now we are compiling the dovecot, remove –with-ldap if you do not need it.

cd /opt/src/dovecot-2.3.6
./configure --with-ldap --prefix=/opt/dovecot/dovecot-2.3.6
make install

cd /opt/src/dovecot-2.3-pigeonhole-0.5.6
./configure --with-dovecot=/opt/dovecot/dovecot-2.3.6/lib/dovecot
make install


Create a service unit file so systemd can start and stop the server on boot and shutdown. Paste the following into the file /etc/systemd/system/dovecot-current.service.

it will be available

Description=Dovecot Server Daemon (compiled)

ExecStart=/opt/dovecot/dovecot-current/sbin/dovecot -c ${DOVECOT_CONFIG}
ExecReload=/opt/dovecot/dovecot-current/usr/bin/doveadm reload
ExecStop=/opt/dovecot/dovecot-current/usr/bin/doveadm stop


Create the environment file (/etc/sysconfig/dovecot-compiled) . It should have the following contents:


Copy the configurations files

Configure the Server

Copy the configurations files

cp /opt/dovecot/dovecot-2.3.6/share/doc/dovecot/example-config /opt/dovecot/etc

Create the symbolic link for the actual version.

ln -s /opt/dovecot/dovecot-2.3.6 /opt/dovecot/dovecot-current

Modify the profiles, creating /etc/profile.d/

export PATH=/opt/dovecot/dovecot-current/bin:/opt/dovecot/dovecot-current/libexec/dovecot:$PATH
export MANPATH=/opt/dovecot/dovecot-current/share/man:$MANPATH