Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
Kea
Kea
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 453
    • Issues 453
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 76
    • Merge Requests 76
  • Operations
    • Operations
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • ISC Open Source Projects
  • KeaKea
  • Wiki
    • Docs
  • Debian installation notes

Debian installation notes · Changes

Page history
Update Debian installation notes to limit this document to sysrepo & RADIUS,... authored Jan 17, 2019 by Vicky Risk's avatar Vicky Risk
Update Debian installation notes to limit this document to sysrepo & RADIUS, refer basic install to KB
Hide whitespace changes
Inline Side-by-side
Showing with 32 additions and 189 deletions
+32 -189
  • docs/Debian-installation-notes.md docs/Debian-installation-notes.md +32 -189
  • No files found.
docs/Debian-installation-notes.md
View page @ a38b8f23
These instructions are for Debian 9.2. Changes for newer Debian versions are noted.
Basic installation instructions are located in ISC's knowledgebase at: https://kb.isc.org/docs/kea-build-on-debian.
```
2017-11-22: Kea 1.3.0 Source installation (with hooks) on Debian 9.2 with PostgreSQL support.
2018-09-07: Kea 1.4.0 Source installation on Debian 9.5 with PostgreSQL and MySQ
```
## Introduction and System Description
Overview of installing and compiling Kea 1.3.0 from source tarball and git on Debian 9.2, with added PostgreSQL support.
`$` prompt implies non-privileged user commands
`#` prompt implies privileged user commands (ie: run with sudo, or run as root)
## Debian 9.2 Installation Notes
The Debian installation in this example was performed as a network install using the minimal install image.
See this how-to on a [Debian minimal install](https://www.howtoforge.com/tutorial/debian-minimal-server/). The how-to linked is for Debian 9.1, but it should be the same for 9.2.
When the install gets to the `Software selection` screen, *only* SSH server and "standard system utilities" were selected.
## Setup of Packaged Prerequisites
The following list of packages is believed to be the complete list required for this use case.
```
# apt-get install automake libtool pkg-config libboost-dev libboost-system-dev liblog4cplus-dev build-essential libssl-dev ccache
```
## Note on Postgres
If you want to compile Kea with PostgreSQL, support also install the following packages:
```
# apt-get install postgresql-server-dev-all libpq-dev
```
Make sure you use `--with-dhcp-pgsql` (Kea 1.3) or `--with-pgsql` (Kea 1.4 or later) in addition to any other options when running `./configure`.
## Note on development environment
If you want 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:
```
# apt-get install googletest libgtest-dev
```
What follows are notes for installing Kea with advanced features, including RADIUS and sysrepo. These features depend on other open source projects and the installation is more complicated as a result.
Make sure you extend your configure script with --with-gtest-source=/usr/src/googletest as this is where Debian puts the Google test sources.
## Tarball install
### Installing with FreeRADIUS
Distribution tarballs can be found on [ftp.isc.org](ftp://ftp.isc.org) in the directory `/isc/kea/<version>` Be sure to download the tar.gz file for the appropriate version and patch level.
![Screenshot_2018-09-07_12.26.20](/uploads/0d3c0abf60f9768a231960975d327d78/Screenshot_2018-09-07_12.26.20.png)
Once downloaded, the
@(Warning)()(You need to have the radius hook package for this to work)
Install FreeRADIUS client first.
```
$ mkdir Kea
$ cd Kea
$ ftp ftp.isc.org
Trying 149.20.1.49:21 ...
Connected to ftp.isc.org.
220 Welcome to ftp.isc.org.
Name (ftp.isc.org:aclegg): anonymous
331 Please specify the password.
Password:
230-
230-You have reached ISC's FTP SERVER (ftp.isc.org)
230-[......]
230-Questions regarding this service should be sent to webmaster@isc.org.
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd /isc/kea
250 Directory successfully changed.
ftp> dir
229 Entering Extended Passive Mode (|||17093|)
150 Here comes the directory listing.
drwxr-xr-x 4 ftp ftp 512 Jan 28 2015 0.9
drwxr-xr-x 3 ftp ftp 512 Aug 13 2014 0.9-beta1
drwxr-xr-x 3 ftp ftp 512 Mar 31 2015 0.9.1
drwxr-xr-x 2 ftp ftp 512 Feb 18 2015 0.9.1-beta
drwxr-xr-x 3 ftp ftp 512 Jul 28 2015 0.9.2
drwxr-xr-x 3 ftp ftp 512 Dec 22 2015 0.9.2-P1
drwxr-xr-x 3 ftp ftp 512 Jun 30 2015 0.9.2-beta
drwxr-xr-x 3 ftp ftp 512 Dec 29 2015 1.0.0
drwxr-xr-x 3 ftp ftp 512 Dec 08 2015 1.0.0-beta
drwxr-xr-x 3 ftp ftp 512 Dec 22 2015 1.0.0-beta2
drwxr-xr-x 3 ftp ftp 512 Sep 30 2016 1.1.0
drwxr-xr-x 3 ftp ftp 512 Aug 31 2016 1.1.0-beta
drwxr-xr-x 3 ftp ftp 512 May 09 2017 1.2.0
drwxr-xr-x 3 ftp ftp 512 Apr 07 2017 1.2.0-beta
drwxr-xr-x 3 ftp ftp 512 Oct 27 2017 1.3.0
drwxr-xr-x 3 ftp ftp 512 Sep 29 2017 1.3.0-beta
drwxr-xr-x 3 ftp ftp 512 Jun 15 15:04 1.4.0
drwxr-xr-x 2 ftp ftp 512 Jul 11 21:47 1.4.0-P1
drwxr-xr-x 3 ftp ftp 512 May 18 15:58 1.4.0-beta
drwxr-xr-x 3 ftp ftp 512 Dec 19 2014 20141219
drwxr-xr-x 3 ftp ftp 512 Dec 24 2014 20141223
drwxr-xr-x 3 ftp ftp 512 Jan 31 2017 20170131
drwxrwx--x 21 ftp ftp 1024 Jul 03 23:12 private
226 Directory send OK.
ftp> cd 1.4.0-P1
250 Directory successfully changed.
ftp> dir
229 Entering Extended Passive Mode (|||10632|)
150 Here comes the directory listing.
-rw-r--r-- 1 ftp ftp 1436 Jul 11 21:47 Kea140P1ReleaseNotes.txt
-rw-r--r-- 1 ftp ftp 6645111 Jul 11 21:47 kea-1.4.0-P1.tar.gz
-rw-r--r-- 1 ftp ftp 873 Jul 11 21:47 kea-1.4.0-P1.tar.gz.asc
-rw-r--r-- 1 ftp ftp 873 Jul 11 21:47 kea-1.4.0-P1.tar.gz.sha1.asc
-rw-r--r-- 1 ftp ftp 873 Jul 11 21:47 kea-1.4.0-P1.tar.gz.sha256.asc
-rw-r--r-- 1 ftp ftp 873 Jul 11 21:47 kea-1.4.0-P1.tar.gz.sha512.asc
-rw-r--r-- 1 ftp ftp 896 Jul 11 21:47 kea-guide.css
-rw-r--r-- 1 ftp ftp 1087372 Jul 11 21:47 kea-guide.html
-rw-r--r-- 1 ftp ftp 1146571 Jul 11 21:47 kea-guide.pdf
-rw-r--r-- 1 ftp ftp 888993 Jul 11 21:47 kea-guide.txt
-rw-r--r-- 1 ftp ftp 9978 Jul 11 21:47 kea-logo-100x70.png
-rw-r--r-- 1 ftp ftp 385974 Jul 11 21:47 kea-messages.html
-rw-r--r-- 1 ftp ftp 285967 Jul 11 21:47 kea-messages.pdf
226 Directory send OK.
ftp> get kea-1.4.0-P1.tar.gz
local: kea-1.4.0-P1.tar.gz remote: kea-1.4.0-P1.tar.gz
229 Entering Extended Passive Mode (|||49615|)
150 Opening BINARY mode data connection for kea-1.4.0-P1.tar.gz (6645111 bytes).
100% |***************************************************************************************************| 6489 KiB 799.87 KiB/s 00:00 ETA
226 Transfer complete.
6645111 bytes received in 00:08 (790.90 KiB/s)
ftp> quit
221 Goodbye.
$ tar xfz kea-1.4.0-P1.tar.gz
$ cd kea-1.4.0-P1
$ autoreconf --install
wget -nd https://github.com/FreeRADIUS/freeradius-client/archive/release_1_1_7.tar.gz
tar zxvf release_1_1_7.tar.gz
cd freeradius-client-release_1_1_7
./configure --prefix=/usr/local
make
sudo make install
```
## Git install
If you are compiling from git source, clone the git repository and reconfigure
Extract Kea subscription radius hooks package to premium/ dir:
```
# apt-get install git
$ git clone https://github.com/isc-projects/kea.git
Cloning into 'kea'...
remote: Counting objects: 225440, done.
remote: Compressing objects: 100% (144/144), done.
remote: Total 225440 (delta 201), reused 154 (delta 131), pack-reused 225165
Receiving objects: 100% (225440/225440), 50.95 MiB | 15.72 MiB/s, done.
Resolving deltas: 100% (184957/184957), done.
$ cd kea
$ autoreconf --install
tar zxvf kea-radius-1.5.0.tar.gz
autoreconf -if
./configure --with-freeradius=/usr/local
```
## Note on hooks library
If using hooks, copy the tarball into the root of the Kea source tree, and extract in place.
Make sure the following entries are printed after configure is done:
```
$ cp kea-subscription-1.3.0.tar.gz kea-1.3.0/
$ tar -zxvf kea-subscription-1.3.0.tar.gz
```
## Building and Installing
Package:
Name: kea
Version: 1.5.0
Extended version: 1.5.0
OS Family: Linux
Using GNU sed: yes
Premium package: yes
Tier1 Packages: host_cmds flex_id legal_log
Tier2 Packages: high_availability subnet_cmds radius
Included Packages: host_cmds flex_id legal_log high_availability subnet_cmds radius
The following environment variables attempt to speed up compilation, and recompilation.
...
FreeRADIUS client:
FREERADIUS_INCLUDE: -I/usr/local/include
FREERADIUS_LIB: -L/usr/local/lib -lfreeradius-client
FREERADIUS_DICTIONARY: /usr/local/etc/radiusclient/dictionary
```
$ export CC="ccache gcc" CXX="ccache g++"
```
Configure the installation. This example enables PostgreSQL and the Kea hooks library. Note that a Kea support is required to obtain the Kea hooks source tarball. If you don't know what this means, chances are the option will do nothing.
```
$ ./configure --with-dhcp-pgsql --with-tier2=yes
```
Starting with 1.4, the command line option for PostgreSQL will be --with-pgsql.
Compile and install the configured source tree. Assuming your Kea server has 2 CPU cores, substitute -jX with -j2
```
$ make -jX
# make install
```
Add the Kea libraries to ldconfig
```
# touch /etc/ld.so.conf.d/kea.conf
# echo "/usr/local/lib/hooks" > /etc/ld.so.conf.d/kea.conf
# ldconfig
```
## Notes on Running
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.
```
# /etc/rc.local
#!/bin/bash
keactrl start
exit 0
```
See [https://lists.debian.org/debian-user/2014/08/msg01349.html This Link] for details in enabling rc.local compatibility.
Note: Debian's default `systemd` handles startup in more modern ways. `rc.local` compatibility is considered the old way.
\ No newline at end of file
then compile as usual.
\ No newline at end of file
Clone repository
  • Home
  • Hooks available
  • Processes
    • coding guidelines
    • gitlab howto
    • release process
    • smaller edits on gitlab
  • Release Notes
  • Simplified Flow Diagram
  • community developed tools
  • designs
    • Backend Assisted Lease Selection design
    • Basic LeaseQuery Design
    • Design documents
    • HA+MT Design for Multi threaded Http HA traffic
    • HA connection with MT support
    • HA split brain issues
View All Pages