blob: a0101467c886e087c9ad40784b88ce1359dd6d6f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
Requirements
============
./doc/requirements.rst
Installation
============
./doc/installation.rst
1) Install prerequisites
Debian based distributions
--------------------------
Update the system:
$ sudo apt-get update
$ sudo apt-get upgrade
Install prerequisites:
$ sudo apt-get install \
libtool autoconf make pkg-config liburcu-dev libgnutls28-dev libedit-dev
Install optional packages to override embedded libraries:
$ sudo apt-get install liblmdb-dev
Install optional packages:
$ sudo apt-get install \
libcap-ng-dev libsystemd-dev libidn2-0-dev protobuf-c-compiler libfstrm-dev libmaxminddb-dev
Fedora like distributions
-------------------------
Update the system:
# dnf upgrade
Install basic development tools:
# dnf install @buildsys-build
Install prerequisites:
# dnf install \
libtool autoconf pkgconfig automake userspace-rcu-devel gnutls-devel libedit-devel
Install optional packages to override embedded libraries:
# dnf install lmdb-devel
Install optional packages:
# dnf install \
libcap-ng-devel systemd-devel libidn-devel protobuf-c-devel fstrm-devel libmaxminddb-devel
When compiling on RHEL based system, the Fedora EPEL repository has to be
enabled. Also for RHEL 6, forward compatibility package gnutls30-devel
with newer GnuTLS is required instead of gnutls-devel.
2) Install Knot DNS
Get the source code:
$ git clone https://gitlab.labs.nic.cz/knot/knot-dns.git
Or extract source package to knot-dns directory
Compile Knot
$ cd knot-dns
$ autoreconf -if
$ ./configure
$ make
Install Knot DNS into system:
$ sudo make install
$ sudo ldconfig
Running
=======
./doc/operation.rst
1) Each server needs configuration file. Please see samples/knot.sample.conf,
project documentation, or man 5 knot.conf for more details.
Configuration file has to specify:
- storage for PID files, journal and timer databases etc.
- network interfaces
- served zones
E.g. use the default config file:
$ cd /etc/knot
$ mv knot.sample.conf knot.conf
Modify the config:
$ editor knot.conf
2) Prepare working directory
$ mv example.com.zone /var/lib/knot/
3) Start the server. This can be done by running the 'knotd' command.
Alternatively, your distribution should have an init script available, if you've
installed Knot using a binary package.
Start Knot in the foreground to see if it runs:
$ knotd -c myserver.conf
|