userguide.xml 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
  3. "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
  4. <!ENTITY mdash "&#x2014;" >
  5. ]>
  6. <book>
  7. <bookinfo>
  8. <title>BIND 10 User Guide</title>
  9. <subtitle>Administrator Reference for BIND 10</subtitle>
  10. <copyright>
  11. <year>2010</year><holder>Internet Systems Consortium, Inc.</holder>
  12. </copyright>
  13. <!-- <abstract><para>This is the definitive reference and user's guide for BIND 10</para></abstract> -->
  14. </bookinfo>
  15. <chapter id="intro">
  16. <title>Introduction</title>
  17. <para>
  18. BIND is the popular implementation of a DNS server, developer
  19. interfaces, and DNS tools.
  20. BIND 10 is a rewrite, using C++ and Python, to provide
  21. modular components for serving and maintaining DNS.
  22. </para>
  23. <para>
  24. BIND 10 provides separate executables for different tasks.
  25. The standard components include:
  26. <itemizedlist>
  27. <listitem>
  28. <simpara><command>msgq</command> &mdash; message bus</simpara>
  29. </listitem>
  30. <listitem>
  31. <simpara><command>b10-auth</command> &mdash; authoritative DNS server</simpara>
  32. </listitem>
  33. <listitem>
  34. <simpara><command>b10-cfgmgr</command> &mdash; configuration daemon</simpara>
  35. </listitem>
  36. <listitem>
  37. <simpara><command>b10-cmdctl</command> <!-- TODO --></simpara>
  38. </listitem>
  39. </itemizedlist>
  40. </para>
  41. <para>
  42. The user tools include:
  43. <itemizedlist>
  44. <listitem>
  45. <simpara><command>bindctl</command> &mdash; interactive administration interface</simpara>
  46. </listitem>
  47. <listitem>
  48. <simpara><command>bind10</command> &mdash; master process for BIND 10</simpara>
  49. </listitem>
  50. </itemizedlist>
  51. </para>
  52. <para>
  53. The tools and modules are covered in full detail in this users guide.
  54. <!-- TODO point to these -->
  55. In addition, manual pages are also provided in the default installation.
  56. </para>
  57. <!--
  58. bin/
  59. bindctl*
  60. host*
  61. lib/
  62. libauth
  63. libdns
  64. libexceptions
  65. python3.1/site-packages/isc/{cc,config}
  66. sbin/
  67. bind10
  68. share/
  69. share/bind10/ <
  70. auth.spec
  71. b10-cmdctl.pem
  72. bob.spec
  73. passwd.csv
  74. man/
  75. var/
  76. bind10/b10-config.db
  77. -->
  78. <para>
  79. BIND 10 also provides libraries and programmer interfaces
  80. for C++ and Python for the message bus, configuration backend,
  81. and, of course, DNS. These include detailed developer
  82. documentation and code examples.
  83. <!-- TODO point to this -->
  84. </para>
  85. </chapter>
  86. <chapter id="install">
  87. <title>Installation</title>
  88. <para>
  89. BIND 10 is open source software written in C++ and Python.
  90. It is freely available in source code form from ISC via
  91. the Subversion code revision control system or as a downloadable
  92. tar file. It may also be available in pre-compiled ready-to-use
  93. packages from operating system vendors.
  94. </para>
  95. <sect1>
  96. <title>Download Tar File</title>
  97. <para>The BIND 10 release and development snapshots
  98. are available as tarball downloads.
  99. </para>
  100. <!-- TODO -->
  101. </sect1>
  102. <sect1>
  103. <title>Retrieve from Subversion</title>
  104. <para>
  105. The latest development code, including temporary experiments
  106. and un-reviewed code, is available via the BIND 10 code revision
  107. control system. This is powered by Subversion and all the BIND 10
  108. development is public.
  109. The leading development is done in the <quote>trunk</quote>
  110. and the first year prototype containing reviewed code is in
  111. <filename>branches/Y1</filename>.
  112. </para>
  113. <para>
  114. The code can be checked out from <filename>svn://bind10.isc.org/svn/bind10</filename>; for example to check out the trunk:
  115. <screen>$ <userinput>svn co svn://bind10.isc.org/svn/bind10/trunk</userinput></screen>
  116. </para>
  117. <sect2>
  118. <title>Generate configuration files</title>
  119. <para>
  120. When checking out the code from
  121. the code version control system, it doesn't include the
  122. generated configure script, Makefile.in files, nor the
  123. related configure files.
  124. They can be created by running <command>autoreconf</command>
  125. with the <command>--install</command> switch.
  126. This will run <command>autoconf</command>, <command>aclocal</command>,
  127. <command>libtoolize</command>, <command>autoheader</command>,
  128. <command>automake</command>, and related commands &mdash;
  129. and provide needed build files.
  130. </para>
  131. <para>
  132. This requires <command>autoconf</command> version 2.59 or newer
  133. and <command>automake</command> version 1.11 or better (for
  134. working Python 3.1 tests).
  135. </para>
  136. </sect2>
  137. </sect1>
  138. <sect1>
  139. <title>Dependencies</title>
  140. <para>
  141. BIND 10 requires Python 3.1 and SQLite 3.
  142. <!-- TODO: this will change ... -->
  143. Building BIND 10 also requires a C++ compiler and
  144. standard development headers.
  145. </para>
  146. </sect1>
  147. <sect1>
  148. <title>Supported Platforms</title>
  149. <para>
  150. BIND 10 builds have been tested on Debian GNU/Linux 5,
  151. NetBSD 5, Solaris 10, and FreeBSD 7. It has been tested on
  152. Sparc, i386, and amd64 hardware platforms.
  153. It is planned for BIND 10 to build, install and run on
  154. Windows and standard Unix-type platforms.
  155. </para>
  156. </sect1>
  157. <sect1>
  158. <title>Build and install</title>
  159. <para>
  160. BIND 10 uses the GNU Build System to discover build environment
  161. details.
  162. To generate the makefiles using the defaults, simply run:
  163. <screen>$ <userinput>./configure</userinput></screen>
  164. </para>
  165. <para>
  166. Run <command>./configure</command> with the <command>--help</command>
  167. switch to view the different options. The commonly-used option
  168. is <command>--prefix</command> to define the installation
  169. location (the default is <filename>/usr/local/</filename>).
  170. <!-- TODO: gtest, lcov -->
  171. </para>
  172. <para>
  173. Then to build the executables from the C++ code, run:
  174. <screen>$ <userinput>make</userinput></screen>
  175. </para>
  176. <para>
  177. Then to install the BIND 10 executables, support files,
  178. and documentation, run:
  179. <screen>$ <userinput>make install</userinput></screen>
  180. </para>
  181. <note><para>The install step may require superuser
  182. privileges.</para></note>
  183. <!-- TODO: tests -->
  184. </sect1>
  185. <sect1>
  186. <title>Install Hierarchy</title>
  187. <para>
  188. The following is the layout of the complete BIND 10 installation:
  189. <!-- TODO: formatting needed -->
  190. <!--
  191. bin/
  192. bindctl*
  193. host*
  194. lib/
  195. libauth
  196. libdns
  197. libexceptions
  198. python3.1/site-packages/isc/{cc,config}
  199. libexec/bind10
  200. b10-auth
  201. b10-cfgmgr
  202. b10-cmdctl
  203. msgq
  204. sbin/
  205. bind10
  206. share/
  207. share/bind10/ <
  208. auth.spec
  209. b10-cmdctl.pem
  210. bob.spec
  211. passwd.csv
  212. man/
  213. var/
  214. bind10/b10-config.db
  215. -->
  216. </para>
  217. </sect1>
  218. </chapter>
  219. <!-- TODO: how to help: run unit tests, join lists, review trac tickets -->
  220. <!-- <index> <title>Index</title> </index> -->
  221. </book>