• Print
  • Share
  • Dark

Kea build on Debian

  • Updated on 17 Jan 2019
  • 2 minutes to read
  • Contributors

Debian System-Specific Install Notes

Updated on 14-December-2018

This page documents Kea 1.5 installation on Debian 9.6 (amd64-netinst). While these instructions were thoroughly tested with Kea 1.5 at release time, if you are using the sysrepo/netconf or RADIUS integration with Kea, you should consult the Kea GitLab wiki pages, where we keep a running list of updates, changes and hints. These two integrations have additional dependencies on other open source components that may change more frequently than our Kea releases.

Installing from Source (without sysrepo/netconf)

There are TWO scripts that need to be run to install Kea from source - the first sets up the development environment and the second installs Kea itself.

Script 1

# install the build environment
sudo apt -y install automake libtool pkg-config build-essential ccache
# install the dependancies
sudo apt -y install libboost-dev libboost-system-dev liblog4cplus-dev libssl-dev

Script 2

wget https://ftp.isc.org/isc/kea/1.5.0/kea-1.5.0.tar.gz
tar xvfz kea-1.5.0.tar.gz
cd kea-1.5.0

export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig
# export CC="ccache gcc" CXX="ccache g++"
declare -x PATH="/usr/lib64/ccache:$PATH"
autoreconf --install
./configure [your additional options here]
make -j4
sudo make install
echo "/usr/local/lib/hooks" > /etc/ld.so.conf.d/kea.conf

Installing with Postgres

If you want to compile Kea with PostgreSQL, support install the following packages in addition to the ones above:

sudo apt-get install postgresql-server-dev-all libpq-dev 

Run configure and add --with-pgsql

Installing with Cassandra

To compile Kea with Cassandra, you must first install Cassandra. As this is a detailed procedure and subject to changes that ISC does not track, please find the documentation here: http://cassandra.apache.org/download/

Once Cassandra libraries are installed, configure Kea by adding --enable-cql-static-lib to your configure options.

Development Environment

If you wish to compile Kea with unit-tests (not needed for users, only useful if you want to change Kea code and possibly contribute patches), you will need the following:

sudo apt-get install googletest libgtest-dev

Run configure and add --with-gtest-source=/usr/src/googletest.
/usr/src/googletest/ is the directory into which the Google test sources are stored.

Installing Kea from Git

If you are compiling from git source (development releases, etc), clone the git repository and reconfigure

sudo apt-get install git
git clone https://gitlab.isc.org/isc-projects/kea.git
cd kea
autoreconf --install

Note that the Kea source code will be stored in the directory kea with no versioning information.

Hooks library

If you are using hooks libraries, you should download the version appropriate hooks and then extract the tarball into the root of the Kea source tree. This will create the directory premium in the Kea source tree into which the hooks library sourcecode will be placed.

You will also need to regenerate the configure scripts using autoreconf:

cd kea-1.5.0
tar -xvfz ~/kea-subscription-1.5.0.tar.gz
autoreconf -if
./configure [appropriate options]

Installing dependencies for generating documentation (optional)

If you wish to generate the documentation:

sudo apt-get install elinks docbook-xsl doxygen xsltproc
./configure --enable-generate-docs
cd doc
make devel

Installing with FreeRADIUS

For instructions on installing with RADIUS, please see the Kea Gitlab wiki.


There is no startup script provided. Once Kea is correctly installed and configured for your environment, you will likely want to start it on boot. You can do so by simply adding the following to /etc/rc.local and enabling rc.local compatibility on your system.

keactrl start
exit 0

See this Link for details in enabling rc.local compatibility.

Debian's default systemd handles startup in more modern ways.

Was this article helpful?