... | ... | @@ -3,36 +3,26 @@ |
|
|
2018-03-30: This page documents Kea installation on Ubuntu 17.10 Server.
|
|
|
|
|
|
## Install required tools and dependencies
|
|
|
|
|
|
Install necessary tools first:
|
|
|
```
|
|
|
sudo apt-get install libtool autoconf g++ libssl-dev liblog4cplus-dev libboost-system-dev
|
|
|
```
|
|
|
|
|
|
## Compilation from git
|
|
|
|
|
|
If downloading from git, install git:
|
|
|
|
|
|
```
|
|
|
sudo apt-get install git
|
|
|
sudo apt-get install autoconf g++ git libboost-system-dev liblog4cplus-dev \
|
|
|
libssl-dev libtool
|
|
|
```
|
|
|
|
|
|
The download and build Kea:
|
|
|
|
|
|
## Building from git
|
|
|
If building from the Kea git repository:
|
|
|
```
|
|
|
git clone https://github.com/isc-projects/kea
|
|
|
git clone https://gitlab.isc.org/isc-projects/kea
|
|
|
cd kea
|
|
|
autoreconf -i
|
|
|
./configure
|
|
|
make
|
|
|
sudo make install
|
|
|
```
|
|
|
|
|
|
That's it. You're done.
|
|
|
|
|
|
## Compilation from tarball
|
|
|
## Building from tarball
|
|
|
If using a tarball:
|
|
|
|
|
|
```
|
|
|
tar zxvf kea-1.3.0.tar.gz
|
|
|
cd kea-1.3.0
|
... | ... | @@ -40,83 +30,67 @@ cd kea-1.3.0 |
|
|
make
|
|
|
sudo make install
|
|
|
```
|
|
|
|
|
|
That's it. You're done.
|
|
|
Again, that's it. You're done.
|
|
|
|
|
|
## Installing with optional features
|
|
|
|
|
|
The following sections explain how to compile Kea with additional features.
|
|
|
|
|
|
### Installing with MySQL (optional)
|
|
|
|
|
|
### Building with MySQL (optional)
|
|
|
This is an optional dependency. You need it only if you want Kea to be able to store its information in MySQL:
|
|
|
|
|
|
```
|
|
|
sudo apt-get install libmysqlclient-dev
|
|
|
./configure --with-mysql
|
|
|
...
|
|
|
```
|
|
|
|
|
|
### Installing with PostgreSQL (optional)
|
|
|
|
|
|
### Building with PostgreSQL (optional)
|
|
|
This is an optional dependency. You need it only if you want Kea to be able to store its information in PostgreSQL:
|
|
|
|
|
|
```
|
|
|
sudo apt-get install libpq-dev postgresql-server-dev-all
|
|
|
./configure --with-pgsql
|
|
|
...
|
|
|
```
|
|
|
|
|
|
### Installing Cassandra (optional)
|
|
|
|
|
|
### Building with Cassandra (optional)
|
|
|
...
|
|
|
|
|
|
### Installing Google Test (optional)
|
|
|
|
|
|
### Building with Google Test (optional)
|
|
|
This is an optional dependency. You need it only if you want to run the unit tests after building Kea.
|
|
|
|
|
|
```
|
|
|
sudo apt-get install googletest
|
|
|
./configure --with-gtest-source=/usr/src/googletest
|
|
|
...
|
|
|
```
|
|
|
|
|
|
### Installing dependencies for generating documentation (optional)
|
|
|
### Generating the documentation (optional)
|
|
|
If you want to generate the user guide:
|
|
|
|
|
|
```
|
|
|
sudo apt-get install elinks docbook-xsl doxygen xsltproc
|
|
|
./configure --enable-generate-docs
|
|
|
make
|
|
|
cd doc
|
|
|
make guide
|
|
|
```
|
|
|
To create the developers' documentation, issue the command `make devel` after/instead of `make guide` in the steps above.
|
|
|
|
|
|
To create the developers' documentation, use the command `make devel` instead of `make guide` in the steps above.
|
|
|
|
|
|
### Installing with FreeRADIUS (optional)
|
|
|
### Building with FreeRADIUS (optional)
|
|
|
You need to have the subscription or premium package to make this work.
|
|
|
|
|
|
You need to have subscription package to make this work.
|
|
|
|
|
|
Install FreeRADIUS client first.
|
|
|
Install the FreeRADIUS client first:
|
|
|
```
|
|
|
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
|
|
|
git clone https://github.com/FreeRADIUS/freeradius-client.git
|
|
|
cd freeradius-client
|
|
|
./configure --prefix=/usr/local
|
|
|
make
|
|
|
sudo make install
|
|
|
```
|
|
|
|
|
|
Extract kea with subscription package to the premium/ dir:
|
|
|
|
|
|
Extract the Kea subscription (or premium) package to the "premium" subdirectory of the directory holding the Kea source, regenerate the "configure" script, then build with the "--with-freeradius" switch, specifying the directory into which you installed FreeRADIUS:
|
|
|
```
|
|
|
tar zxvf kea-subscription-1.4.0.tar.gz
|
|
|
autoreconf -i
|
|
|
./configure --with-freeradius=/usr/local
|
|
|
```
|
|
|
|
|
|
Make sure the following entries are printed after configure is done:
|
|
|
|
|
|
```
|
|
|
Package:
|
|
|
Name: kea
|
... | ... | @@ -129,31 +103,29 @@ Package: |
|
|
Tier2 Packages: high_availability subnet_cmds radius
|
|
|
Included Packages: host_cmds flex_id legal_log high_availability subnet_cmds radius
|
|
|
|
|
|
...
|
|
|
:
|
|
|
|
|
|
FreeRADIUS client:
|
|
|
FREERADIUS_INCLUDE: -I/usr/local/include
|
|
|
FREERADIUS_LIB: -L/usr/local/lib -lfreeradius-client
|
|
|
FREERADIUS_DICTIONARY: /usr/local/etc/radiusclient/dictionary
|
|
|
```
|
|
|
then compile as usual. (The version and extended version fields will reflect the version of Kea you are building.)
|
|
|
|
|
|
then compile as usual.
|
|
|
|
|
|
### Installing with NETCONF/Sysrepo (optional)
|
|
|
Kea 1.5 introduced support for NETCONF. To enable support for YANG/NETCONF, a software called Sysrepo is needed.
|
|
|
### Building with NETCONF/Sysrepo (optional)
|
|
|
Kea 1.5 introduced support for NETCONF. To build with this support, software called Sysrepo is needed.
|
|
|
|
|
|
The following installation instruction was tested on Ubuntu 18.04.
|
|
|
|
|
|
STEP 1. Install dependencies. Note that some of those dependencies are likely to be present in your system already.
|
|
|
|
|
|
```shell
|
|
|
$ sudo apt-get install git cmake build-essential bison flex libpcre3-dev libev-dev \
|
|
|
libavl-dev libprotobuf-c-dev protobuf-c-compiler swig
|
|
|
```
|
|
|
$ sudo apt-get install bison build-essential cmake flex libavl-dev libev-dev \
|
|
|
libpcre3-dev libprotobuf-c-dev protobuf-c-compiler swig
|
|
|
```
|
|
|
|
|
|
STEP 2. Install libyang. Download libyang from https://github.com/CESNET/libyang/releases. The version used during Kea development was 0.16-r1.
|
|
|
|
|
|
```shell
|
|
|
```
|
|
|
tar zxvf libyang-0.16-r1.tar.gz
|
|
|
cd libyang-0.16-r1
|
|
|
mkdir build
|
... | ... | @@ -167,7 +139,7 @@ For detailed build instructions, see https://github.com/CESNET/libyang. |
|
|
|
|
|
STEP 3. Install syrepo. Download sysrepo from https://github.com/sysrepo/sysrepo/releases. The version used during Kea development was 0.7.5.
|
|
|
|
|
|
```shell
|
|
|
```
|
|
|
tar zxvf sysrepo-0.7.5.tar.gz
|
|
|
cd sysrepo-0.7.5
|
|
|
mkdir build
|
... | ... | @@ -180,16 +152,10 @@ sudo make install |
|
|
|
|
|
For detailed instructions, see Build and Installation Steps Section on the project page https://github.com/sysrepo/sysrepo.
|
|
|
|
|
|
## Compiling with Botan crypto library
|
|
|
Kea can use either OpenSSL or Botan crypto libraries. Using Botan does not give any additional functionality, but it lets you use a different lib. This may come in handy in case any security issues are discovered in OpenSSL.
|
|
|
## Compiling with the Botan cryptographic library
|
|
|
Kea can use either OpenSSL or Botan cryptographic libraries. Using Botan does not give any additional functionality, but it lets you use a different library. This may come in handy in case any security issues are discovered in OpenSSL.
|
|
|
|
|
|
To compile with Botan, you need to install it first:
|
|
|
|
|
|
```shell
|
|
|
# Install botan 2 headers first
|
|
|
```
|
|
|
sudo apt-get install libbotan-2-dev
|
|
|
|
|
|
# Then compile Kea
|
|
|
./configure --with-botan
|
|
|
make
|
|
|
``` |
|
|
\ No newline at end of file |