ngIRCd - Next Generation IRC Server
- (c)2001-2004 by Alexander Barton,
+ (c)2001-2007 Alexander Barton,
alex@barton.de, http://www.barton.de/
ngIRCd is free software and published under the
I. Upgrade Information
~~~~~~~~~~~~~~~~~~~~~~
+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:
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.
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"
- /usr/local/share/doc/ngircd/: documentation
-II. Useful make-targets
+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
+
+ 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.
+
+* ZeroConf Support:
+ --with-zeroconf[=<path>]
+
+ Compile ngIRCd with support for ZeroConf multicast DNS service registration.
+ Either the Apple ZeroConf implementation (e. g. Mac OS X) or the Howl
+ library is required. Which one is available is autodetected.
+
+* 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.
+
+
+IV. Useful make-targets
~~~~~~~~~~~~~~~~~~~~~~~
The Makefile produced by the configure-script contains always these useful
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.
and in the "ngircd.conf" manual page.
-IV. Command line options
+VI. Command line options
~~~~~~~~~~~~~~~~~~~~~~~~
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.17 2004/01/26 02:23:54 alex Exp $