The server tried to connect to other servers only once when DNS or socket
[ngircd-alex.git] / INSTALL
1
2                      ngIRCd - Next Generation IRC Server
3
4                       (c)2001-2003 by Alexander Barton,
5                     alex@barton.de, http://www.barton.de/
6
7                ngIRCd is free software and published under the
8                    terms of the GNU General Public License.
9
10                                 -- INSTALL --
11
12                          
13
14 I. Upgrade Information
15 ~~~~~~~~~~~~~~~~~~~~~~
16
17 Differences to version 0.6.x
18
19 - Some options of the configure script have been renamed:
20     --disable-syslog  ->  --without-syslog
21     --disable-zlib    ->  --without-zlib
22   Please call "./configure --help" to review the full list of options!
23
24 Differences to version 0.5.x
25
26 - Starting with version 0.6.0, other servers are identified using asynchronous
27   passwords: therefore the variable "Password" in [Server]-sections has been
28   replaced by "MyPassword" and "PeerPassword".
29
30 - New configuration variables, section [Global]: MaxConnections, MaxJoins
31   (see example configuration file "doc/sample-ngircd.conf"!).
32
33
34 II. Standard Installation
35 ~~~~~~~~~~~~~~~~~~~~~~~~~
36
37 ngIRCd is developed for UNIX-based systems, which means that the installation
38 on modern UNIX-like systems that are supported by GNU autoconf and GNU
39 automake ("configure") should be no problem.
40
41 The normal installation procedure after getting (and expanding) the source
42 files (using a distribution archive or CVS) is as following:
43
44   1) ./autogen.sh       [only necessary when using CVS]
45   2) ./configure
46   3) make
47   4) make install
48
49
50 1): "autogen.sh"
51
52 The first step, autogen.sh, is only necessary if the configure-script isn't
53 already generated. This never happens in official ("stable") releases in
54 tar.gz-archives, but when using CVS.
55
56 This step is therefore only interesting for developers.
57
58 autogen.sh produces the Makefile.in's, which are necessary for the configure
59 script itself, and some more files for make. To run autogen.sh you'll need
60 GNU autoconf and GNU automake (use recent versions! autoconf 2.53 and
61 automake 1.6.1 are known to work).
62
63 Again: "end users" do not need this step!
64
65
66 2): "./configure"
67
68 The configure-script is used to detect local system dependencies.
69
70 In the perfect case, configure should recognise all needed libraries, header
71 files and so on. If this shouldn't work, "./configure --help" shows all
72 possible options.
73
74 In addition, you can pass some command line options to "configure" to enable
75 and/or disable some features of ngIRCd. All these options are shown using
76 "./configure --help", too.
77
78
79 3): "make"
80
81 The make command uses the Makefiles produced by configure and compiles the
82 ngIRCd daemon.
83
84
85 4): "make install"
86
87 Use "make install" to install the server and a sample configuration file on
88 the local system. Normally, root privileges are necessary to complete this
89 step. If there is already an older configuration file present, it won't be
90 overwritten.
91
92 This files will be installed by default:
93
94 - /usr/local/sbin/ngircd: executable server
95 - /usr/local/etc/ngircd.conf: sample configuration (if not already present)
96 - /usr/local/share/doc/ngircd/: documentation
97
98
99 II. Useful make-targets
100 ~~~~~~~~~~~~~~~~~~~~~~~
101
102 The Makefile produced by the configure-script contains always these useful
103 targets:
104
105  - clean: delete every product from the compiler/linker
106    next step: -> make
107
108  - distclean: the above plus erase all generated Makefiles
109    next step: -> ./configure
110
111  - maintainer-clean: erase all automatic generated files
112    next step: -> ./autogen.sh
113
114
115 III. Sample configuration file ngircd.conf
116 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
117
118 In the sample configuration file, there are comments beginning with "#" OR
119 ";" -- this is only for the better understanding of the file.
120
121 The file is separated in four blocks: [Global], [Operator], [Server], and
122 [Channel].
123
124 In the [Global] section, there is the main configuration like the server
125 name and the ports, on which the server should be listening. IRC operators
126 of this server are defined in [Operator] blocks. [Server] is the section
127 where server links are configured. And [Channel] blocks are used to
128 configure pre-defined ("persistent") IRC channels.
129
130 The meaning of the variables in the configuration file is explained in the 
131 "doc/sample-ngircd.conf", which is used as sample configuration file in
132 /usr/local/etc after running "make install" (if you don't already have one)
133 and in the "ngircd.conf" manual page.
134
135
136 IV. Command line options
137 ~~~~~~~~~~~~~~~~~~~~~~~~
138
139 These parameters could be passed to the ngIRCd:
140
141 -f, --config <file>
142         The daemon uses the file <file> as configuration file rather than
143         the standard configuration /usr/local/etc/ngircd.conf.
144
145 -n, --nodaemon
146         ngIRCd should be running as a foreground process.
147
148 -p, --passive
149         Server-links won't be automatically established.
150
151 --configtest
152         Reads, validates and dumps the configuration file as interpreted
153         by the server. Then exits.
154
155 Use "--help" to see a short help text describing all available parameters
156 the server understands, with "--version" the ngIRCd shows its version
157 number. In both cases the server exits after the output.
158
159
160 -- 
161 $Id: INSTALL,v 1.16 2003/04/21 23:31:39 alex Exp $