]> arthur.barton.de Git - ngircd-alex.git/blobdiff - INSTALL
Added missing include for <sys/select.h>.
[ngircd-alex.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index db8d1d8113f944315b1ffbf04318992e81946897..86ba971abb551b1d8368e719aea30691be6e6d93 100644 (file)
--- a/INSTALL
+++ b/INSTALL
 
                      ngIRCd - Next Generation IRC Server
 
-                      (c)2001,2002 by Alexander Barton,
+                      (c)2001-2003 by Alexander Barton,
                     alex@barton.de, http://www.barton.de/
 
-                  ngIRCd ist freie Software und steht unter
-                       der GNU General Public License.
+               ngIRCd is free software and published under the
+                   terms of the GNU General Public License.
 
-                         -- INSTALL / Installation --
+                                -- INSTALL --
 
+                         
 
-ngIRCd ist fuer UNIXoide-Systeme konzipiert. Dieser Text beschreibt den
-"Standardfall": ein UNIX bzw. UNIX-aehnliches System, das von GNU automake
-und GNU autoconf ("configure") unterstuetzt wird.
+I. Upgrade Information
+~~~~~~~~~~~~~~~~~~~~~~
 
+Differences to version 0.6.x
 
-I. Voraussetzungen
-~~~~~~~~~~~~~~~~~~
+- 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!
 
-ngIRCd benoetigt "Alex' Portability Headers" (portab.h). Diese koennen von
-der Homepage heruntergeladen werden:
+Differences to version 0.5.x
 
-<http://arthur.ath.cx/~alex/ngircd/#download>
+- 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".
 
-Vor dem configure-Lauf des ngIRCd muessen dies Header auf dem System in-
-stalliert sein, anonsten bricht configure ab.
+- New configuration variables, section [Global]: MaxConnections, MaxJoins
+  (see example configuration file "doc/sample-ngircd.conf"!).
 
 
-II. Quick Start
-~~~~~~~~~~~~~~~
+II. Standard Installation
+~~~~~~~~~~~~~~~~~~~~~~~~~
 
-In der Regel sind folgende Schritte ausreichend:
+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.
 
-   1) ./autogen.sh     [nur erforderlich, wenn ueber CVS bezogen]
-   2) ./configure
-   3) make
+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
 
-zu 1) autogen.sh:
 
-Der erste Schritt, autogen.sh, ist nur notwendig, wenn das configure-Script
-noch nicht vorhanden ist. Dies ist nie bei offiziellen ("stabilen") Versionen
-in tar.gz-Archiven der Fall, jedoch nie, wenn der Source-Code ueber CVS
-bezogen wurde.
+1): "autogen.sh"
 
-Dieser Absatz ist also eigentlich ausschliesslich fuer Entwickler interessant.
+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.
 
-autogen.sh erzeugt die fuer das configure-Script notwendigen Makefile.in's
-sowie das configure-Script selber und weitere fuer den make-Lauf erforderliche
-Dateien. Dazu wird sowohl GNU automake als auch GNU autoconf (in aktuellen
-Versionen!) benoetigt.
+This step is therefore only interesting for developers.
 
-(nochmal: "Endanwender" mussen diesen Schritt i.d.R. nicht ausfuehren!)
+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!
 
-zu 2) ./configure:
 
-Mit dem configure-Script wird ngIRCd, wie GNU Software meistens, an das
-lokale System angepasst und die erforderlichen Makefile's erzeugt.
+2): "./configure"
 
-Im Optimalfall sollte configure alle benoetigten Libraries, Header etc. selber
-erkennen und entsprechend reagieren. Sollte dies einmal nicht der Fall sein,
-so zeigt "./configure --help" moegliche Optionen.
+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.
 
-zu 3) make:
+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.
 
-Der make-Befehl bearbeitet die vom configure-Script erzeugten Makefile's und
-uebersetzt die comBase-Library und die Testprogramme.
 
+3): "make"
 
-III. Nuetzliche make-Targets
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+The make command uses the Makefiles produced by configure and compiles the
+ngIRCd daemon.
 
-Die vom configure-Script erzeugten Makefile's enthalten immer die folgenden
-nuetzlichen Targets:
 
- - clean: alle Erzeugnisse des Compilers/Linkers loeschen.
-   Naechster Schritt: -> make
+4): "make install"
 
- - distclean: zusaetzliche alle Makefile's loeschen.
-   Naechster Schritt: -> ./configure
+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.
 
- - maintainer-clean: alle automat. erzeugten Dateien loeschen.
-   Naechster Schritt: -> ./autogen.sh
+This files will be installed by default:
 
+- /usr/local/sbin/ngircd: executable server
+- /usr/local/etc/ngircd.conf: sample configuration (if not already present)
+
+
+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.
+
+--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.15 2003/03/23 23:13:15 alex Exp $