]> arthur.barton.de Git - ngircd-alex.git/blobdiff - INSTALL
Move "ClientHost" and "ClientUserNick" to end of [Global] section
[ngircd-alex.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 032857268a7ce077eb49c547582d48dbb9331906..601ec2d4382ebcb7dd667ee9ed402a321a878e38 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,19 +1,39 @@
 
                      ngIRCd - Next Generation IRC Server
+                           http://ngircd.barton.de/
 
-                      (c)2001-2003 by Alexander Barton,
-                    alex@barton.de, http://www.barton.de/
-
+               (c)2001-2011 Alexander Barton and Contributors.
                ngIRCd is free software and published under the
                    terms of the GNU General Public License.
 
                                 -- INSTALL --
 
-                         
 
 I. Upgrade Information
 ~~~~~~~~~~~~~~~~~~~~~~
 
+Differences to version 17
+
+- Support for ZeroConf/Bonjour/Rendezvous service registration has been
+  removed. The configuration option "NoZeroconf" is no longer available.
+
+Differences to version 16
+
+- Changes to the "MotdFile" specified in ngircd.conf now require a ngircd
+  configuration reload to take effect (HUP signal, REHASH command).
+
+Differences to version 0.9.x
+
+- The option of the configure script to enable support for Zeroconf/Bonjour/
+  Rendezvous/WhateverItIsNamedToday has been renamed:
+    --with-rendezvous  ->  --with-zeroconf
+
+Differences to version 0.8.x
+
+- The maximum length of passwords has been raised to 20 characters (instead
+  of 8 characters). If your passwords are longer than 8 characters then they
+  are cut at an other position now.
+
 Differences to version 0.6.x
 
 - Some options of the configure script have been renamed:
@@ -34,24 +54,38 @@ Differences to version 0.5.x
 II. Standard Installation
 ~~~~~~~~~~~~~~~~~~~~~~~~~
 
-ngIRCd is developed for UNIX-like systems, which means that the installation
-on modern UNIX-like systems witch are supported by GNU autoconf and GNU
+ngIRCd is developed for UNIX-based systems, which means that the installation
+on modern UNIX-like systems that are supported by GNU autoconf and GNU
 automake ("configure") should be no problem.
 
 The normal installation procedure after getting (and expanding) the source
-files (using a distribution archive or CVS) is as following:
+files (using a distribution archive or GIT) is as following:
 
-  1) ./autogen.sh      [only necessary when using CVS]
+  1) ./autogen.sh      [only necessary when using GIT]
   2) ./configure
   3) make
   4) make install
 
+(Please see details below!)
+
+Now the newly compiled executable "ngircd" is installed in its standard
+location, /usr/local/sbin/.
+
+The next step is to configure and afterwards starting the daemon. Please
+have a look at the ngircd(8) and ngircd.conf(5) manual pages for details
+and all possible options.
+
+If no previous version of the configuration file exists (the standard name
+is /usr/local/etc/ngircd.conf), a sample configuration file containing all
+possible options will be installed there. You'll find its template in the
+doc/ directory: sample-ngircd.conf.
+
 
 1): "autogen.sh"
 
 The first step, autogen.sh, is only necessary if the configure-script isn't
 already generated. This never happens in official ("stable") releases in
-tar.gz-archives, but when using CVS.
+tar.gz-archives, but when using GIT.
 
 This step is therefore only interesting for developers.
 
@@ -75,6 +109,11 @@ In addition, you can pass some command line options to "configure" to enable
 and/or disable some features of ngIRCd. All these options are shown using
 "./configure --help", too.
 
+Compiling a static binary will avoid you the hassle of feeding a chroot dir
+(if you want use the chroot feature). Just do something like:
+  CFLAGS=-static ./configure [--your-options ...]
+Then you can use a void directory as ChrootDir (like OpenSSH's /var/empty).
+
 
 3): "make"
 
@@ -93,9 +132,79 @@ This files will be installed by default:
 
 - /usr/local/sbin/ngircd: executable server
 - /usr/local/etc/ngircd.conf: sample configuration (if not already present)
+- /usr/local/share/doc/ngircd/: documentation
+
+
+III. Additional features
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+The following optional features can be compiled into the daemon by passing
+options to the "configure" script. Most options can handle a <path> argument
+which will be used to search for the required libraries and header files in
+the given paths ("<path>/lib/...", "<path>/include/...") in addition to the
+standard locations.
 
+* Syslog Logging (autodetected by default): 
+  --with-syslog[=<path>] / --without-syslog
 
-II. Useful make-targets
+  Enable (disable) support for logging to "syslog", which should be
+  available on most modern UNIX-like operating systems by default.
+
+* ZLib Compression (autodetected by default):
+  --with-zlib[=<path>] / --without-zlib
+
+  Enable (disable) support for compressed server-server links.
+  The Z compression library ("libz") is required for this option.
+  
+* IO Backend (autodetected by default):
+  --with-select[=<path>] / --without-select
+  --with-poll[=<path>] / --without-poll
+  --with-devpoll[=<path>] / --without-devpoll
+  --with-epoll[=<path>] / --without-epoll
+  --with-kqueue[=<path>] / --without-kqueue  
+
+  ngIRCd can use different IO "backends": the "old school" select() and poll()
+  API which should be supported by most UNIX-like operating systems, or the
+  more efficient and flexible epoll() (Linux >=2.6), kqueue() (BSD) and
+  /dev/poll APIs.
+  By default the IO backend is autodetected, but you can use "--without-xxx"
+  to disable a more enhanced API.
+  When using the epoll() API, support for select() is compiled in as well by
+  default to enable the binary to run on older Linux kernels (<2.6), too.
+
+* IDENT-Support:
+  --with-ident[=<path>]
+
+  Include support for IDENT ("AUTH") lookups. The "ident" library is
+  required for this option.
+
+* TCP-Wrappers:
+  --with-tcp-wrappers[=<path>] 
+
+  Include support for Wietse Venemas "TCP Wrappers" to limit client access
+  to the daemon, for example by using "/etc/hosts.{allow|deny}".
+  The "libwrap" is required for this option.
+
+* PAM:
+  --with-pam[=<path>]
+
+  Enable support for PAM, the Pluggable Authentication Modules library.
+  See doc/PAM.txt for details.
+
+* SSL:
+  --with-openssl[=<path>]
+  --with-gnutls[=<path>]
+
+  Enable support for SSL/TLS using OpenSSL or gnutls libraries.
+  See doc/SSL.txt for details.
+
+* IPv6:
+  --enable-ipv6
+
+  Adds support for version 6 of the Internet Protocol.
+
+
+IV. Useful make-targets
 ~~~~~~~~~~~~~~~~~~~~~~~
 
 The Makefile produced by the configure-script contains always these useful
@@ -111,25 +220,28 @@ targets:
    next step: -> ./autogen.sh
 
 
-III. Sample configuration file ngircd.conf
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+V. Sample configuration file ngircd.conf
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 In the sample configuration file, there are comments beginning with "#" OR
 ";" -- this is only for the better understanding of the file.
 
 The file is separated in four blocks: [Global], [Operator], [Server], and
-[Channel]. In the [Global] part, there is the main configuration, like the
-server-name and the ports, on which the server should be listening. In the
-[Operator] section, the server-operators are defined and [Server] is the
-section, where the server-links are configured. Use [Channel] blocks to
+[Channel].
+
+In the [Global] section, there is the main configuration like the server
+name and the ports, on which the server should be listening. IRC operators
+of this server are defined in [Operator] blocks. [Server] is the section
+where server links are configured. And [Channel] blocks are used to
 configure pre-defined ("persistent") IRC channels.
 
 The meaning of the variables in the configuration file is explained in the 
 "doc/sample-ngircd.conf", which is used as sample configuration file in
-/usr/local/etc after running "make install" (if you don't already have one).
+/usr/local/etc after running "make install" (if you don't already have one)
+and in the "ngircd.conf" manual page.
 
 
-IV. Command line options
+VI. Command line options
 ~~~~~~~~~~~~~~~~~~~~~~~~
 
 These parameters could be passed to the ngIRCd:
@@ -144,14 +256,10 @@ These parameters could be passed to the ngIRCd:
 -p, --passive
        Server-links won't be automatically established.
 
---configtest
+-t, --configtest
        Reads, validates and dumps the configuration file as interpreted
        by the server. Then exits.
 
 Use "--help" to see a short help text describing all available parameters
 the server understands, with "--version" the ngIRCd shows its version
 number. In both cases the server exits after the output.
-
-
--- 
-$Id: INSTALL,v 1.13 2003/03/09 22:03:58 alex Exp $