Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
PowerDNS
C++ C DIGITAL Command Language Shell Python JavaScript Other
Failed to load latest commit information.
build-aux Set the source version number in a clean fashion
build-scripts Generate pdns.conf for CentOS 7 packages
codedocs update our doxygen configuration
contrib systemd updates
docs Update docs to add new CVE-ID to SA-2015-1
ext add .gitignore in ext/json11
m4 Bump minimum required polarssl version to 1.3
modules limit NSEC3 iterations in bindbackend and some cleanup
pdns Remove unused SHA224Summer
regression-tests.api add acl.list in /regression-tests.api to .gitignore
regression-tests.nobackend add dots to qnames in policy.lua
regression-tests.recursor regression-tests.recursor/config.sh: whitespace fixes
regression-tests allow "pdnssec set-nsec3 ZONE" for insecure zones
.gitignore Set the source version number in a clean fashion
.travis.yml re-enable clean working directory test in travis.yml
.valgrindrc Add suppression file for valgrind, and turn it on
AUTHORS and auto* loves authors too
CONTRIBUTING.md Update CONTRIBUTING.md
COPYING update GPLv2 license text, thanks Morten Stevens
ChangeLog.old rename ChangeLog to ChangeLog.old
INSTALL * Clean up references to cvs
Makefile.am Add build-auth-rpm
NEWS auto* likes having some NEWS to read!
NOTICE limit accidental scope expansion, thanks @zeha
README Create soft link from README to README.md
README.md Change autoconf version in README to be in line with configure.ac
bootstrap Don't run automake twice
configure.ac Add rules for json11 library
pdns.supp Add suppression file for valgrind, and turn it on

README.md

PowerDNS is copyright Ⓒ 2002-2015 by PowerDNS.COM BV and lots of contributors, using the GNU GPLv2 license (see NOTICE for the exact license and exception used).

All documentation can be found on http://doc.powerdns.com/

This file may lag behind at times. For most recent updates, always check https://doc.powerdns.com/md/changelog/ and http://wiki.powerdns.com

Another good place to look for information is: https://doc.powerdns.com/md/appendix/compiling-powerdns/

To file bugs, head towards: https://github.com/PowerDNS/pdns/issues

But please check if the issue is already reported there first.

SOURCE CODE / GIT

Source code is available on GitHub:

$ git clone https://github.com/PowerDNS/pdns.git

This repository contains the sources both for the PowerDNS Recursor and for PowerDNS Authoritative Server, and both can be built from this repository. Both are released separately as .tar.bz2, .deb and .rpm however!

COMPILING Authoritative Server

PowerDNS Authoritative Server 3.0 and beyond depend on Boost.

On Debian 7.0, the following is useful:

apt-get install autoconf automake bison flex g++ git libboost-all-dev libtool make pkg-config ragel libmysqlclient-dev

If you build from git, first build configure:

$ ./bootstrap

(You may need to do that twice. You also need libtool-1.4, 1.3 won't work. Autoconf 2.61 or newer and Automake 1.11 or newer are required, too.)

To compile a very clean version, use:

$ ./configure --with-modules="" --without-lua
$ make
# make install

This generates a PowerDNS Authoritative Server binary with no modules built in.

When ./configure is run without --with-modules, the bind and gmysql module are built-in by default and the pipe-backend is compiled for runtime loading.

To add multiple modules, try:

$ ./configure --with-modules="bind gmysql gpgsql"

See http://doc.powerdns.com/compiling-powerdns.html for more details.

COMPILING THE RECURSOR

On Linux, make pdns_recursor in the pdns subdir may work. The portable, and supported, way to build the recursor is first running dist-recursor and compiling from the pdns-recursor-x.y subdirectory.

When building from git pandoc and zip are build dependencies.

To build deb and rpm packages after running dist-recursor, run build-recursor. This depends on Lua 5.1 (liblua5.1-dev), dh-make and rpm.

SOLARIS NOTES

Use a recent gcc. OpenCSW is a good source, as is Solaris 11 IPS.

If you encounter problems with the Solaris make, gmake is advised.

FREEBSD NOTES

You need to compile using gmake - regular make only appears to work, but doesn't in fact. Use gmake, not make.

MAC OS X NOTES

PowerDNS Authoritative Server is available through Homebrew:

$ brew install pdns

If you want to compile yourself, the dependencies can be installed using Homebrew:

$ brew install boost lua pkg-config ragel

For PostgreSQL support:

$ brew install postgresql

For MySQL support:

$ brew install mariadb

LINUX NOTES

None really.

Something went wrong with that request. Please try again.