Contents
/usr/lib/dovecot
Dovecot is an Internet Message Access Protocol (IMAP) and Post Office Protocol (POP) server, written primarily with security in mind. Dovecot aims to be lightweight, fast and easy to set up as well as highly configurable and easily extensible with plugins.
Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.
Download (HTTP): https://www.dovecot.org/releases/2.4/dovecot-2.4.0.tar.gz
Download MD5 sum: 5a0b3aaaf0adc1278d2611ff5f1593cd
Download size: 7.5 MB
Estimated disk space required: 253 MB
Estimated build time: 4.8 SBU
libtirpc-1.3.6 and Linux-PAM-1.7.0
Cyrus SASL-2.1.28, ICU-76.1, libcap-2.73 with PAM, libunwind-1.8.1, Lua-5.4.7, MariaDB-11.4.4 or MySQL, OpenLDAP-2.6.9, PostgreSQL-17.2, SQLite-3.48.0, Valgrind-3.24.0, xapian-1.4.27, xfsprogs-6.12.0, Cassandra, stemmer and libsodium
There are significant changes in the configuration of this package that are required when updating to Dovecot 2.4.0. Please review the documentation at Dovecot Upgrade Guide before continuing if you are upgrading this package from a previous version.
There should be dedicated users and groups for unprivileged Dovecot
processes and for processing users' logins. Issue the following
commands as the root
user:
groupadd -g 42 dovecot && useradd -c "Dovecot unprivileged user" -d /dev/null -u 42 \ -g dovecot -s /bin/false dovecot && groupadd -g 43 dovenull && useradd -c "Dovecot login user" -d /dev/null -u 43 \ -g dovenull -s /bin/false dovenull
Install Dovecot by running the following commands:
./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --with-systemd=no \ --with-lua=no \ --docdir=/usr/share/doc/dovecot-2.4.0 \ --disable-static && make
To test the results, issue make -k check.
Now, as the root
user:
make install
--disable-static
: This
switch prevents installation of static versions of the libraries.
--with-ldap
: This switch enables
OpenLDAP authentication support.
--with-pgsql
: This switch enables
PostgreSQL database support.
--with-mysql
: This switch enables
MySQL database support.
--with-sqlite
: This switch enables
SQLite database support.
--with-lua=no
: This switch enables
Lua plugin support. This includes
a mail and push notification plugin. The support is currently
broken with Lua 5.4.
The following configuration is a simple proof of concept with IMAP service using local users for authentication and mailbox location.
mv -v /etc/dovecot/dovecot.conf{,.orig} &&
chmod -v 1777 /var/mail &&
cat > /etc/dovecot/dovecot.conf << "EOF"
# The dovecot configuration requires a minimum version to be set. The server
# will refuse to start if the version set here is older than the version of
# Dovecot installed. This option allows the Dovecot server to set reasonable
# default values based on what version is set here.
dovecot_config_version = 2.4.0
# This option sets the minimum version that is able to read data files from
# the Dovecot server. This is primarily for a cluster which may have several
# different versions of Dovecot installed, but is required for the server to
# run.
dovecot_storage_version = 2.4.0
protocols = imap
ssl = no
# The next line is only needed if you have no IPv6 network interfaces
listen = *
mail_inbox_path = /var/mail/%{user}
mail_driver = mbox
mail_path = ~/Mail
userdb users {
driver = passwd
}
passdb passwords {
driver = pam
}
EOF
The above configuration also requires a configuration file to be
installed for Linux-PAM so dovecot can authenticate users. Issue
the following command as the root
user to create the configuration file for Linux-PAM:
cat > /etc/pam.d/dovecot << "EOF"
# Begin /etc/pam.d/dovecot
auth include system-auth
account include system-account
password include system-password
# End /etc/pam.d/dovecot
EOF
You will definitely want to read the official documentation at https://doc.dovecot.org/2.4.0/ if you plan to use Dovecot in a production environment.
If you want the Dovecot server
to start automatically when the system is booted, install the
/etc/rc.d/init.d/dovecot
init
script included in the blfs-bootscripts-20241209 package.
make install-dovecot
/usr/lib/dovecot