193 lines
6.2 KiB
Plaintext
193 lines
6.2 KiB
Plaintext
|
|
ngIRCd - Next Generation IRC Server
|
|
|
|
(c)2001-2004 by Alexander Barton,
|
|
alex@barton.de, http://www.barton.de/
|
|
|
|
ngIRCd is free software and published under the
|
|
terms of the GNU General Public License.
|
|
|
|
-- INSTALL --
|
|
|
|
|
|
|
|
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:
|
|
--disable-syslog -> --without-syslog
|
|
--disable-zlib -> --without-zlib
|
|
Please call "./configure --help" to review the full list of options!
|
|
|
|
Differences to version 0.5.x
|
|
|
|
- Starting with version 0.6.0, other servers are identified using asynchronous
|
|
passwords: therefore the variable "Password" in [Server]-sections has been
|
|
replaced by "MyPassword" and "PeerPassword".
|
|
|
|
- New configuration variables, section [Global]: MaxConnections, MaxJoins
|
|
(see example configuration file "doc/sample-ngircd.conf"!).
|
|
|
|
|
|
II. Standard Installation
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
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:
|
|
|
|
1) ./autogen.sh [only necessary when using CVS]
|
|
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.
|
|
|
|
This step is therefore only interesting for developers.
|
|
|
|
autogen.sh produces the Makefile.in's, which are necessary for the configure
|
|
script itself, and some more files for make. To run autogen.sh you'll need
|
|
GNU autoconf and GNU automake (use recent versions! autoconf 2.53 and
|
|
automake 1.6.1 are known to work).
|
|
|
|
Again: "end users" do not need this step!
|
|
|
|
|
|
2): "./configure"
|
|
|
|
The configure-script is used to detect local system dependencies.
|
|
|
|
In the perfect case, configure should recognise all needed libraries, header
|
|
files and so on. If this shouldn't work, "./configure --help" shows all
|
|
possible options.
|
|
|
|
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"
|
|
|
|
The make command uses the Makefiles produced by configure and compiles the
|
|
ngIRCd daemon.
|
|
|
|
|
|
4): "make install"
|
|
|
|
Use "make install" to install the server and a sample configuration file on
|
|
the local system. Normally, root privileges are necessary to complete this
|
|
step. If there is already an older configuration file present, it won't be
|
|
overwritten.
|
|
|
|
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
|
|
|
|
|
|
II. Useful make-targets
|
|
~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
The Makefile produced by the configure-script contains always these useful
|
|
targets:
|
|
|
|
- clean: delete every product from the compiler/linker
|
|
next step: -> make
|
|
|
|
- distclean: the above plus erase all generated Makefiles
|
|
next step: -> ./configure
|
|
|
|
- maintainer-clean: erase all automatic generated files
|
|
next step: -> ./autogen.sh
|
|
|
|
|
|
III. 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] 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)
|
|
and in the "ngircd.conf" manual page.
|
|
|
|
|
|
IV. Command line options
|
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
These parameters could be passed to the ngIRCd:
|
|
|
|
-f, --config <file>
|
|
The daemon uses the file <file> as configuration file rather than
|
|
the standard configuration /usr/local/etc/ngircd.conf.
|
|
|
|
-n, --nodaemon
|
|
ngIRCd should be running as a foreground process.
|
|
|
|
-p, --passive
|
|
Server-links won't be automatically established.
|
|
|
|
-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.22 2005/07/08 16:23:00 alex Exp $
|