Parcourir la source

[3418] Several clean-ups in sections 1...3

Tomek Mrugalski il y a 11 ans
Parent
commit
fd1b16a445
1 fichiers modifiés avec 94 ajouts et 92 suppressions
  1. 94 92
      doc/guide/kea-guide.xml

+ 94 - 92
doc/guide/kea-guide.xml

@@ -26,8 +26,7 @@
   <?xml-stylesheet href="bind10-guide.css" type="text/css"?>
   <?xml-stylesheet href="bind10-guide.css" type="text/css"?>
 
 
   <bookinfo>
   <bookinfo>
-    <title>Kea Guide</title>
-    <subtitle>Administrator Reference for Kea</subtitle>
+    <title>Kea Administrator Reference Manual</title>
 
 
     <copyright>
     <copyright>
       <year>2010-2014</year><holder>Internet Systems Consortium, Inc.</holder>
       <year>2010-2014</year><holder>Internet Systems Consortium, Inc.</holder>
@@ -40,7 +39,6 @@
         Consortium (ISC).
         Consortium (ISC).
       </para>
       </para>
 
 
-      <!-- TODO: The VERSION needs to be updated -->
       <para>
       <para>
         This is the reference guide for Kea version &__VERSION__;.
         This is the reference guide for Kea version &__VERSION__;.
         The most up-to-date version of this document (in PDF, HTML,
         The most up-to-date version of this document (in PDF, HTML,
@@ -53,18 +51,12 @@
 
 
   </bookinfo>
   </bookinfo>
 
 
-  <!-- todo: Preface is now empty, but leave it around now
-  <preface>
-    <title>Preface</title>
-  </preface>
--->
   <chapter id="intro">
   <chapter id="intro">
     <title>Introduction</title>
     <title>Introduction</title>
     <para>
     <para>
       Kea is the next generation of DHCP servers developed by ISC.
       Kea is the next generation of DHCP servers developed by ISC.
       It supports both DHCPv4 and DHCPv6 protocols along with their
       It supports both DHCPv4 and DHCPv6 protocols along with their
-      extensions (e.g. prefix delegation). It also supports the dynamic
-      updates to DNS.
+      extensions, e.g. prefix delegation and dynamic updates to DNS.
     </para>
     </para>
 
 
     <para>
     <para>
@@ -87,7 +79,7 @@
       paragraphs. The term "BIND 10" in the context of this document means
       paragraphs. The term "BIND 10" in the context of this document means
       "BIND 10 libraries and applications which are necessary for Kea to run
       "BIND 10 libraries and applications which are necessary for Kea to run
       and configure". The term "Kea" means "the collection of binaries and libraries
       and configure". The term "Kea" means "the collection of binaries and libraries
-      which, as a whole, implement the DHCP protocols.
+      which, as a whole, implement the DHCP protocols".
       </simpara>
       </simpara>
     </note>
     </note>
 
 
@@ -96,20 +88,18 @@
     </para>
     </para>
 
 
     <section>
     <section>
-      <!-- todo: revisit (maybe extend) the list of supported platforms -->
       <title>Supported Platforms</title>
       <title>Supported Platforms</title>
       <para>
       <para>
-        Kea builds have been tested on (in no particular order)
+        Kea is officially supported on RedHat Enterprise Linux,
+	CentOS, Fedora and FreeBSD systems. It is also likely to work on many
+	other platforms: builds have been tested on (in no particular order)
         Debian GNU/Linux 6 and unstable, Ubuntu 9.10, NetBSD 5,
         Debian GNU/Linux 6 and unstable, Ubuntu 9.10, NetBSD 5,
         Solaris 10 and 11, FreeBSD 7 and 8, CentOS Linux 5.3,
         Solaris 10 and 11, FreeBSD 7 and 8, CentOS Linux 5.3,
-        MacOS 10.6 and 10.7, and OpenBSD 5.1.
-
-        It has been tested on Sparc, i386, and amd64 hardware
-        platforms.
-
-        It is planned for Kea to build, install and run on
-        Windows and standard Unix-type platforms.
+        MacOS 10.6 and 10.7, and OpenBSD 5.1. Non supported systems
+	(especially non-Linux) are likely to have issues with directly
+	connected DHCPv4 clients.
       </para>
       </para>
+      <para>There are currently no plans to port Kea to Windows platforms.</para>
     </section>
     </section>
 
 
     <section id="required-software">
     <section id="required-software">
@@ -125,41 +115,56 @@
       </para>
       </para>
 
 
       <para>
       <para>
-        Kea was developed as a collection of applications within
-        BIND 10 framework and it still relies on the remaining parts
-        of this framework. In particular, the servers' configuration
-        and startup are still facilitated by the modules which originate
+        Kea was developed as a collection of applications within BIND
+        10 framework and it still relies on the remaining parts of
+        this framework. In particular, the servers' configuration and
+        startup are still facilitated by the modules which originate
         in BIND 10. These modules require at least Python 3.1 to run.
         in BIND 10. These modules require at least Python 3.1 to run.
-        They also work with Python 3.2
-        (<ulink url="http://www.python.org/"/>)). The dependency
-        on Python will be removed once a replacing configuration
-        and startup mechanisms are developed for Kea. At this point
-        Kea will be written in pure C++.
+        They also work with Python 3.2, 3.3 or 3.4 (<ulink
+        url="http://www.python.org/"/>). The dependency on Python will
+        be removed once a replacing configuration and startup
+        mechanisms are developed and released as Kea 0.9. At this
+        point Kea will be written in pure C++.
       </para>
       </para>
 
 
       <para>
       <para>
         Kea uses the Botan crypto library for C++
         Kea uses the Botan crypto library for C++
         (<ulink url="http://botan.randombit.net/"/>).
         (<ulink url="http://botan.randombit.net/"/>).
         It requires at least Botan version 1.8.
         It requires at least Botan version 1.8.
+<!-- @todo 0.9/#2406: Add info about OpenSSL here -->
       </para>
       </para>
 
 
       <para>
       <para>
         Kea uses the log4cplus C++ logging library
         Kea uses the log4cplus C++ logging library
         (<ulink url="http://log4cplus.sourceforge.net/"/>).
         (<ulink url="http://log4cplus.sourceforge.net/"/>).
         It requires at least log4cplus version 1.0.3.
         It requires at least log4cplus version 1.0.3.
-<!-- TODO: It is recommended to use at least version .... -->
+      </para>
+
+      <para>
+	Kea can use MySQL headers and libraries to build MySQL database backend
+	that can be used to store leases. This is an optional dependency. When
+	it is missing, Kea will lack the ability to store leases in MySQL
+	database.
+      </para>
+
+      <para>
+	Kea can use PostgreSQL headers and libraries to build PostgreSQL
+	database backend that can be used to store leases. This is an optional
+	dependency. When it is missing, Kea will lack the ability to store
+	leases in PostgreSQL database.
       </para>
       </para>
     </section>
     </section>
 
 
     <section id="starting_stopping">
     <section id="starting_stopping">
       <title>Starting and Stopping the Server</title>
       <title>Starting and Stopping the Server</title>
+      <!-- @todo: Rewrite this section as part of #3422-->
       <para>
       <para>
         Kea is modular.  Part of this modularity is
         Kea is modular.  Part of this modularity is
         accomplished using multiple cooperating processes which, together,
         accomplished using multiple cooperating processes which, together,
         provide the server functionality.
         provide the server functionality.
       </para>
       </para>
 
 
-      <!-- todo: Rename processes here, once they are renamed in the source -->
+      <!-- @todo: Rename processes here, once they are renamed in the source -->
       <para>
       <para>
         At first, running many different processes may seem confusing.
         At first, running many different processes may seem confusing.
         However, these processes are started by running a single
         However, these processes are started by running a single
@@ -261,6 +266,7 @@
 
 
     <section id="managing_once_running">
     <section id="managing_once_running">
       <title>Managing BIND 10</title>
       <title>Managing BIND 10</title>
+      <!-- @todo: Rewrite this section as part of #3422 -->
 
 
       <para>
       <para>
         Once BIND 10 is running, a few commands are used to interact
         Once BIND 10 is running, a few commands are used to interact
@@ -330,20 +336,20 @@ var/
     <title>Quick start</title>
     <title>Quick start</title>
 
 
     <para>
     <para>
-        This quickly covers the standard steps for installing
-        and deploying Kea.
-        For further details, full customizations, and troubleshooting,
-        see the respective chapters in the Kea guide.
+        This quickly covers the standard steps for installing and deploying Kea.
+        For further details, full customizations, and troubleshooting, see the
+        respective chapters in the Kea guide.
     </para>
     </para>
 
 
-    <section id="quick-start-dhcp6">
-      <title>Quick start guide for DHCPv6 service</title>
+    <section id="quick-start">
+      <title>Quick start guide for DHCPv4 and DHCPv6 services</title>
 
 
       <orderedlist>
       <orderedlist>
 
 
         <listitem>
         <listitem>
           <simpara>
           <simpara>
-            Install required run-time and build dependencies.
+            Install required run-time and build dependencies. See <xref
+	    linkend="build-requirements"/> for details.
           </simpara>
           </simpara>
         </listitem>
         </listitem>
 
 
@@ -360,7 +366,7 @@ var/
           <para>Go into the source and run configure:
           <para>Go into the source and run configure:
             <screen>$ <userinput>cd kea</userinput>
             <screen>$ <userinput>cd kea</userinput>
 $ <userinput>autoreconf --install</userinput>
 $ <userinput>autoreconf --install</userinput>
-$ <userinput>./configure</userinput></screen>
+$ <userinput>./configure [your extra parameters]</userinput></screen>
           </para>
           </para>
         </listitem>
         </listitem>
 
 
@@ -378,39 +384,35 @@ $ <userinput>./configure</userinput></screen>
         </listitem>
         </listitem>
 
 
         <listitem>
         <listitem>
-          <para>Change directory to the install prefix (by default
-          <filename>/usr/local/</filename>):
-            <screen>$ <userinput>cd /usr/local/</userinput></screen>
-          </para>
-        </listitem>
+          <para>Edit your configuration file for DHCPv4. See doc/examples/kea4
+	  for set of examples.
+	  </para>
+	</listitem>
 
 
         <listitem>
         <listitem>
-          <para>Create a user for yourself:
-            <screen>$ <userinput>sbin/b10-cmdctl-usermgr add root</userinput></screen>
-	  and enter a newly chosen password when prompted.
+          <para>Start Kea DHCPv4 server (as root):
+            <screen># <userinput>b10-dhcp4 -c /path/to/your/kea4/config/file.json</userinput></screen>
           </para>
           </para>
         </listitem>
         </listitem>
 
 
         <listitem>
         <listitem>
-          <para>Start the server (as root):
-            <screen>$ <userinput>sbin/bind10</userinput></screen>
-          </para>
+         <para>Test it; for example, use the
+         <ulink url="http://www.isc.org/downloads/DHCP/">ISC DHCP client</ulink>
+         to send DHCPv4 queries to the server and verify that the client receives a
+         configuration from the server:
+            <screen>$ <userinput>dhclient -4 eth0</userinput></screen>
+         </para>
         </listitem>
         </listitem>
 
 
         <listitem>
         <listitem>
-          <para>DHCP components are not started in the default
-	    configuration.  In another console, enable the DHCPv6
-	    service (by using the <command>bindctl</command> utility
-	    to configure the <command>b10-dhcp6</command> component to
-	    run): <screen>$ <userinput>bin/bindctl</userinput></screen>
-	    (Login with the username and password you used above to create a user.)
-            <screen>
-&gt; <userinput>config add Init/components b10-dhcp6</userinput>
-<!-- todo: Should the kind be needed or dispensable? -->
-&gt; <userinput>config set Init/components/b10-dhcp6/kind dispensable</userinput>
-&gt; <userinput>config commit</userinput>
-&gt; <userinput>quit</userinput>
-            </screen>
+          <para>Edit your configuration file for DHCPv6. See doc/examples/kea6
+	  for set of examples.
+	  </para>
+	</listitem>
+
+        <listitem>
+          <para>Start Kea DHCPv6 server (as root):
+            <screen># <userinput>b10-dhcp6 -c /path/to/your/kea6/config/file.json</userinput></screen>
           </para>
           </para>
         </listitem>
         </listitem>
 
 
@@ -419,9 +421,11 @@ $ <userinput>./configure</userinput></screen>
          <ulink url="http://www.isc.org/downloads/DHCP/">ISC DHCP client</ulink>
          <ulink url="http://www.isc.org/downloads/DHCP/">ISC DHCP client</ulink>
          to send DHCPv6 queries to the server and verify that the client receives a
          to send DHCPv6 queries to the server and verify that the client receives a
          configuration from the server:
          configuration from the server:
-            <screen>$ <userinput>dhclient -6</userinput></screen>
+            <screen>$ <userinput>dhclient -6 eth0</userinput></screen>
          </para>
          </para>
         </listitem>
         </listitem>
+
+
       </orderedlist>
       </orderedlist>
 
 
     </section>
     </section>
@@ -435,17 +439,15 @@ $ <userinput>./configure</userinput></screen>
       <title>Packages</title>
       <title>Packages</title>
 
 
       <para>
       <para>
-        Some operating systems or software package vendors may
-        provide ready-to-use, pre-built software packages for Kea.
-        Installing a pre-built package means you do not need to
-        install build-only prerequisites and do not need to
-        <emphasis>make</emphasis> the software.
+        Some operating systems or software package vendors may provide
+        ready-to-use, pre-built software packages for Kea.  Installing a
+        pre-built package means you do not need to install build-only
+        prerequisites and do not need to <emphasis>make</emphasis> the software.
       </para>
       </para>
 
 
       <para>
       <para>
-        FreeBSD ports, NetBSD pkgsrc, and Debian
-        <emphasis>testing</emphasis> package collections provide
-        all the prerequisite packages.
+        FreeBSD ports, NetBSD pkgsrc, and Debian <emphasis>testing</emphasis>
+        package collections provide all the prerequisite packages.
       </para>
       </para>
     </section>
     </section>
 
 
@@ -463,6 +465,7 @@ $ <userinput>./configure</userinput></screen>
           </listitem>
           </listitem>
           <listitem>
           <listitem>
           <simpara>
           <simpara>
+	    <!-- @todo: 0.9: update this -->
             <filename>etc/bind10/</filename> &mdash;
             <filename>etc/bind10/</filename> &mdash;
             configuration files.
             configuration files.
           </simpara>
           </simpara>
@@ -475,6 +478,7 @@ $ <userinput>./configure</userinput></screen>
           </listitem>
           </listitem>
           <listitem>
           <listitem>
             <simpara>
             <simpara>
+	      <!-- @todo 0.9: update this -->
               <filename>libexec/bind10/</filename> &mdash;
               <filename>libexec/bind10/</filename> &mdash;
               executables that a user wouldn't normally run directly and
               executables that a user wouldn't normally run directly and
               are not run independently.
               are not run independently.
@@ -490,12 +494,14 @@ $ <userinput>./configure</userinput></screen>
           </listitem>
           </listitem>
           <listitem>
           <listitem>
             <simpara>
             <simpara>
+	      <!-- @todo 0.9: update this -->
               <filename>share/bind10/</filename> &mdash;
               <filename>share/bind10/</filename> &mdash;
               configuration specifications.
               configuration specifications.
             </simpara>
             </simpara>
           </listitem>
           </listitem>
           <listitem>
           <listitem>
             <simpara>
             <simpara>
+	      <!-- @todo 0.9: update this -->
               <filename>share/doc/bind10/</filename> &mdash;
               <filename>share/doc/bind10/</filename> &mdash;
               this guide and other supplementary documentation.
               this guide and other supplementary documentation.
             </simpara>
             </simpara>
@@ -508,6 +514,7 @@ $ <userinput>./configure</userinput></screen>
           </listitem>
           </listitem>
           <listitem>
           <listitem>
             <simpara>
             <simpara>
+	      <!-- @todo 0.9: update this -->
               <filename>var/bind10/</filename> &mdash;
               <filename>var/bind10/</filename> &mdash;
               data source and configuration databases.
               data source and configuration databases.
             </simpara>
             </simpara>
@@ -520,10 +527,9 @@ $ <userinput>./configure</userinput></screen>
       <title>Building Requirements</title>
       <title>Building Requirements</title>
 
 
         <para>
         <para>
-          In addition to the run-time requirements (listed in
-          <xref linkend="required-software"/>), building Kea
-          from source code requires various development include headers and
-          program development tools.
+          In addition to the run-time requirements (listed in <xref
+          linkend="required-software"/>), building Kea from source code requires
+          various development include headers and program development tools.
         </para>
         </para>
 
 
         <note>
         <note>
@@ -548,6 +554,7 @@ $ <userinput>./configure</userinput></screen>
           To build Kea, also install the Botan (at least version
           To build Kea, also install the Botan (at least version
           1.8) and the log4cplus (at least version 1.0.3)
           1.8) and the log4cplus (at least version 1.0.3)
           development include headers.
           development include headers.
+	  <!-- @todo: Add OpenSSL note here once #2406 is merged -->
         </para>
         </para>
 
 
 <!--
 <!--
@@ -564,6 +571,7 @@ as a dependency earlier -->
           standard development headers, make, and pkg-config.
           standard development headers, make, and pkg-config.
           Kea builds have been tested with GCC g++ 3.4.3, 4.1.2,
           Kea builds have been tested with GCC g++ 3.4.3, 4.1.2,
           4.1.3, 4.2.1, 4.3.2, and 4.4.1; Clang++ 2.8; and Sun C++ 5.10.
           4.1.3, 4.2.1, 4.3.2, and 4.4.1; Clang++ 2.8; and Sun C++ 5.10.
+	  <!-- @todo update this list -->
         </para>
         </para>
 
 
         <para>
         <para>
@@ -589,9 +597,10 @@ as a dependency earlier -->
 
 
         <title>Download Tar File</title>
         <title>Download Tar File</title>
         <para>
         <para>
-          Kea 0.8 is available as a part of BIND10 1.2 release, which is
-          a final release of BIND10 from ISC. This release can be downloaded
-          from: <ulink url="ftp://ftp.isc.org/isc/bind10/"/>.
+          Kea 0.8 is available as a part of BIND10 1.2 release, which is a final
+          release of BIND10 from ISC. This release can be downloaded from:
+          <ulink url="ftp://ftp.isc.org/isc/bind10/"/>. Upcoming Kea 0.9 and all
+	  following releases will be shipped as a stand-alone tarball.
         </para>
         </para>
       </section>
       </section>
 
 
@@ -680,8 +689,9 @@ as a dependency earlier -->
           <varlistentry>
           <varlistentry>
             <term>--with-pythonpath</term>
             <term>--with-pythonpath</term>
             <listitem>
             <listitem>
-              <simpara>Define the path to Python 3.1 if it is not in the
-                standard execution path.
+              <simpara>Define the path to Python 3.x if it is not in the
+                standard execution path. Python 3.x is mandatory for Kea 0.8,
+		but is no longer required for upcoming Kea 0.9.
               </simpara>
               </simpara>
             </listitem>
             </listitem>
           </varlistentry>
           </varlistentry>
@@ -725,8 +735,8 @@ as a dependency earlier -->
 
 
           <screen>$ <userinput>./configure \
           <screen>$ <userinput>./configure \
       --with-boost-include=/usr/pkg/include \
       --with-boost-include=/usr/pkg/include \
-      --with-pythonpath=/usr/pkg/bin/python3.1 \
-      --prefix=/opt/bind10</userinput></screen>
+      --with-dhcp-pgsql=/usr/local/bin/pg_config \
+      --prefix=/opt/kea</userinput></screen>
         </para>
         </para>
 
 
         <para>
         <para>
@@ -782,18 +792,10 @@ as a dependency earlier -->
         </note>
         </note>
       </section>
       </section>
 
 
-  <!-- TODO: tests -->
+  <!-- @todo: tests -->
 
 
     </section>
     </section>
 
 
-  <!--
-      <section id="install.troubleshooting">
-        <title>Troubleshooting</title>
-        <para>
-        </para>
-      </section>
-  -->
-
   </chapter>
   </chapter>
 
 
   <chapter id="bind10">
   <chapter id="bind10">