From: Pieter Lexis Date: Mon, 23 May 2016 09:28:18 +0000 (+0200) Subject: Update README files X-Git-Tag: auth-4.0.0-beta1~15^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6942a39ec7c942f150504f747def965520c2e7a0;p=pdns Update README files --- diff --git a/README.md b/README.md index 8bdc3525d..2af82e34d 100644 --- a/README.md +++ b/README.md @@ -17,35 +17,42 @@ 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 for the PowerDNS Recursor, the PowerDNS Authoritative Server, -and the PowerDNS dns load balancer. All three can be built from this repository. All three are -released separately as .tar.bz2, .deb and .rpm however! +``` +$ git clone https://github.com/PowerDNS/pdns.git +``` + +This repository contains the sources for the PowerDNS Recursor, the PowerDNS +Authoritative Server, and dnsdist (a powerful DNS loadbalancer). All three can +be built from this repository. However, all three released separately as .tar.bz2, +.deb and .rpm. COMPILING Authoritative Server ------------------------------ -PowerDNS Authoritative Server 3.0 and beyond depend on Boost. - -On Debian 7.0, the following is useful: +The PowerDNS Authoritative Server depends on Boost, OpenSSL and requires a +compiler with C++-2011 support. - apt-get install autoconf automake bison flex g++ git libboost-all-dev libtool make pkg-config ragel libmysqlclient-dev +On Debian 8.0, the following is useful: -If you build from git, first build configure: +``` +$ apt-get install g++ libboost-all-dev libtool make pkg-config libmysqlclient-dev libssl-dev +``` - $ ./bootstrap +When building from git, the following packages are also required: autoconf, automake, +ragel, bison and flex, then generate the configure file: -(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.) +``` +$ ./bootstrap +``` To compile a very clean version, use: - $ ./configure --with-modules="" --without-lua - $ make - # make install +``` +$ ./configure --with-modules="" --without-lua +$ make +# make install +``` This generates a PowerDNS Authoritative Server binary with no modules built in. @@ -54,27 +61,21 @@ built-in by default and the pipe-backend is compiled for runtime loading. To add multiple modules, try: - $ ./configure --with-modules="bind gmysql gpgsql" +``` +$ ./configure --with-modules="bind gmysql gpgsql" +``` -See http://doc.powerdns.com/compiling-powerdns.html for more details. +Note that you will need the development headers for PostgreSQL as well in this case. + +See https://doc.powerdns.com/md/appendix/compiling-powerdns/ for more details. COMPILING THE RECURSOR ---------------------- +See the README in pdns/recursordist. -On Ubuntu 14.04, the following is useful: - - apt-get install git libboost1.55-dev autoconf libtool pandoc ragel zip automake pkg-config g++ libssl-dev make - -The portable, and supported, way to build the recursor is: - - $ cd pdns/recursordist - $ ./bootstrap - $ ./configure - $ make - # make install - -You need `autoconf`, `libtool` and `automake` installed to bootstrap it. -Furthermore, when building from git `boost`, `pandoc`, `ragel` and `zip` are build dependencies. +COMPILING DNSDIST +---------------------- +See the README in pdns/dnsdistdist. SOLARIS NOTES ------------- @@ -90,20 +91,28 @@ MAC OS X NOTES -------------- PowerDNS Authoritative Server is available through Homebrew: - $ brew install pdns +``` +$ brew install pdns +``` If you want to compile yourself, the dependencies can be installed using Homebrew: - $ brew install boost lua pkg-config ragel +``` +$ brew install boost lua pkg-config ragel +``` For PostgreSQL support: - $ brew install postgresql +``` +$ brew install postgresql +``` For MySQL support: - $ brew install mariadb +``` +$ brew install mariadb +``` LINUX NOTES ----------- diff --git a/pdns/recursordist/README b/pdns/recursordist/README deleted file mode 100644 index d3d337deb..000000000 --- a/pdns/recursordist/README +++ /dev/null @@ -1,44 +0,0 @@ -DOCUMENTATION -------------- -For full details, please read: - - https://doc.powerdns.com/md/recursor/ - -Here follow some brief notes that may be useful to get you going. - -COMPILING ---------- - -$ ./configure -$ make or gmake - -The only dependency is Boost, http://boost.org/ -You only need to download it, there is no need to compile. - -On most modern UNIX distributions, you can simply install 'boost' or -'boost-dev' or 'boost-devel'. Otherwise, just download boost, and point the -compiler at the right directory using CPPFLAGS. - -OPTIONAL LUA SCRIPTING ----------------------- -To benefit from Lua scripting, as described on -http://doc.powerdns.com/recursor-scripting.html please compile like this: - -$ LUA=1 ./configure ; LUA=1 (g)make - -or even - -$ LUA=1 LUA_CPPFLAGS_CONFIG=-I/usr/local/include/lua5.1 LUA_LIBS_CONFIG=-llua5.1\ - ./configure -$ LUA=1 LUA_CPPFLAGS_CONFIG=-I/usr/local/include/lua5.1 LUA_LIBS_CONFIG=-llua5.1\ - (g)make - -Use the _CONFIG settings to point out to PowerDNS where your Lua -installation resides. PowerDNS supports Lua 5.1 through Lua 5.3. - -RUNNING ON A DIFFERENT MACHINE ------------------------------- -To prevent hassles with g++/c++ dependencies, you can build like this: - - $ STATIC=semi ./configure ; STATIC=semi make all - diff --git a/pdns/recursordist/README b/pdns/recursordist/README new file mode 120000 index 000000000..42061c01a --- /dev/null +++ b/pdns/recursordist/README @@ -0,0 +1 @@ +README.md \ No newline at end of file diff --git a/pdns/recursordist/README.md b/pdns/recursordist/README.md new file mode 100644 index 000000000..0474665e7 --- /dev/null +++ b/pdns/recursordist/README.md @@ -0,0 +1,81 @@ +PowerDNS Recursor +----------------- +For full details, please read https://doc.powerdns.com/md/recursor/ + +Here follow some brief notes that may be useful to get you going. + +Compiling +--------- +Starting with version 4.0.0, the PowerDNS recursor uses autotools and compiling +from the tarball can be as simple as + +``` +$ ./configure +$ make +``` + +As for dependencies, Boost (http://boost.org/) and OpenSSL (https://openssl.org/) +are required. + +On most modern UNIX distributions, you can simply install 'boost' or +'boost-dev' or 'boost-devel'. Otherwise, just download boost, and point the +compiler at the right directory using CPPFLAGS. + +On Debian and Ubuntu, the following will get you the dependencies: + +``` +$ apt-get install libboost-dev libboost-serialization-dev libssl-dev g++ make pkg-config +``` + +Compiling from git checkout +=========================== +Source code is available on GitHub: + +``` +$ git clone https://github.com/PowerDNS/pdns.git +``` + +This repository contains the sources for the PowerDNS Recursor, the PowerDNS +Authoritative Server, and dnsdist (a powerful DNS loadbalancer). The sources for +the recursor are located in the `pdns/recursordist` subdirectory of the repository. + +To compile from a git checkout, install pandoc, ragel, automake and autoconf. +Then run + +``` +$ ./bootstrap +$ ./configure +$ make +``` + +Lua scripting +------------- +To benefit from Lua scripting, as described on https://doc.powerdns.com/md/recursor/scripting/ +Install Lua and development headers. PowerDNS supports Lua 5.1, 5.2, 5.3 and LuaJIT. +On Debian/Ubuntu, install e.g. `liblua-5.2-dev` to use Lua 5.2. + +The configure script will automatically detect the Lua version. If more than one +version of Lua is installed, the `--with-lua` configure flag can be set to the +desired version. e.g.: + +``` +$ ./configure --with-lua=lua51 +``` + +Documentation +------------- +After compiling, run `pdns_recursor --config` to view the configuration options +and a short description. The full documentation is online at +https://doc.powerdns.com/md/recursor/ + +Reporting bugs +-------------- +Bugs can be reported on GitHub: https://github.com/PowerDNS/pdns/issues, please +check first if your issue is not fixed in the latest version or has already been +reported. + +License +------- +PowerDNS is copyright © 2002-2016 by PowerDNS.COM BV and lots of +contributors, using the GNU GPLv2 license (see NOTICE for the +exact license and exception used).