/[svn]/ircd-hybrid/INSTALL
ViewVC logotype

Annotation of /ircd-hybrid/INSTALL

Parent Directory Parent Directory | Revision Log Revision Log


Revision 31 - (hide annotations)
Sun Oct 2 20:34:05 2005 UTC (14 years, 1 month ago) by knight
File size: 9697 byte(s)
- Fix svn:keywords

1 adx 30 Hybrid INSTALL Document
2    
3 knight 31 $Id$
4 adx 30
5     Copyright (c) 1997-2005 IRCD-Hybrid Development Team
6    
7     ----------------------------------------------------------------------
8    
9     +------------------------------------------------------------------------+
10     | Note for those who don't bother reading docs: |
11     | |
12     | Reading INSTALL is now a must, as the old DPATH is now specified when |
13     | configure is run. |
14     | |
15     | - You now need to ./configure --prefix="/path/to/install/it" as a |
16     | minimum. Try ./configure --help or read this file for more info on |
17     | the possible options you can pass to configure. |
18     | |
19     | - Important: The old config format WILL NOT WORK. Please see point 7! |
20     +------------------------------------------------------------------------+
21    
22     ***** EFNET NOTE *****
23     You should run ./configure with the option '--enable-efnet' to tweak
24     some options to be EFNet based. You must also use the example.efnet.conf
25     instead of example.conf.
26     **********************
27    
28     ----------------------------------------------------------------------
29    
30     HOW TO BUILD
31    
32     As of hybrid-4, the distribution uses GNU autoconf instead of the old
33     Config script. You must run ./configure before you can (sanely) build
34     ircd-hybrid.
35    
36     1. Read the RELNOTES file to find out about the exciting new features in
37     this version. Other good reads are doc/whats-new.txt, BUGS,
38     etc/example.conf, and README.FIRST.
39    
40     An example.conf for EFnet is in etc/ with the values "approved" as of
41     October 12th, 2003 called example.efnet.conf.
42    
43     2. Run the configure script. It will create include/setup.h and the
44     Makefiles to match your system. In hybrid-7, the paths are now handled
45     with the --prefix option to configure.
46     /usr/local/ircd is the default if no prefix is specified.
47    
48     ./configure --prefix=/usr/local/ircd
49    
50     The script will determine whichever of the following is best for
51     your system, but you may (unsupported) force their usage with
52     undefined results:
53    
54     * --enable-kqueue - Use the superior kqueue(2) system call as
55     opposed to the default poll(2). This is currently only available
56     on FreeBSD 4.1 or higher.
57    
58     * --enable-devpoll - Enable the superior /dev/poll support on
59     Solaris. Linux /dev/poll is broken and will not work with this
60     option.
61    
62     * --enable-rtsigio - Enable the superior Linux RealTime Signal I/O
63     system. This is currently only available on 2.4 Linux kernel
64     versions or later.
65    
66     * --enable-poll - Use POSIX poll(2).
67    
68     * --enable-select - Use POSIX select(2).
69    
70     * --enable-clobber - Don't preserve the old binaries on make install
71    
72     Incidentally, the order of listing above is the order of auto-
73     detection in configure. So if you do have kqueue but wish to
74     enable select(2) instead (bad idea), you must use --enable-select.
75    
76     * --enable-openssl - Enable the openssl dependent crypto functions.
77     This will allow CHALLENGE to work and encrypted links. On systems
78     where the configure script can automatically detect OpenSSL, this
79     option is not necessary. If configure cannot find OpenSSL, you
80     must specify a path with this option
81     (--enable-openssl=/path/to/openssl)
82    
83     These are optional or have default values that may be overridden:
84    
85     * --disable-shared-modules - Disable module support. This option is
86     more secure, but reduces a lot of the flexibility in hybrid-7.
87     This may need to be used on some systems without a working
88     dlopen/dlsym.
89    
90     * --enable-assert - Enable use of numerous debugging checks. This
91     should not be used on any production servers for maximum speed
92     so as to prevent cores from things that shouldn't normally happen.
93    
94     * --enable-efence - Enable ElectricFence which is a memory debugger.
95    
96     * --enable-profile - Enable profiling support in ircd-hybrid.
97    
98     * --disable-block-alloc - Disable block allocations (only works with
99     ElectricFence).
100    
101     * --enable-halfops - Enable halfops (%, mode +h) usage. Halfops
102     are similar to plain ops, but can't kick/deop plain ops. Halfops
103     may or may not kick/deop other halfops depending on if (+p) is
104     set. Halfops may not set (+/-p).
105    
106     * --enable-small-net - Tunes the server for smaller networks by
107     reducing the startup memory footprint. This should really only be
108     used for *small* networks, as this tends to be a performance hit
109     on larger networks.
110    
111     * --enable-syslog=kill/squit/connect/users/oper, separated by
112     spaces, in quotes - Enables syslog logging, with events you specify
113     (none is okay too, and logs the most essential messages only.)
114    
115     * --enable-syslog-facility=FACILITY - Check with your sysadmin to see
116     what this should be; by default it is LOG_LOCAL4. If you get it wrong
117     initially, no problem; just edit the value in include/setup.h.
118    
119     * --with-nicklen,
120     --with-topiclen - Respectively, sets the maximum NICK length and
121     maximum TOPIC length. Note that this must be consistent across your
122     entire network. Defaults are 9 and 120, respectively.
123    
124     * --with-maxconn - Sets the maximum number of connections the ircd
125     can support. Note that this also twiddles the HARD_FDLIMIT.
126     If HARD_FDLIMIT ends up being larger that FD_SETSIZE when using
127     select() for your I/O loop, s_bsd_select.c will refuse to compile
128     (and tell you to use poll instead). Take this error's advice and
129     use --enable-poll or something a bit more efficient. You'll be
130     happier at the end of the day for it.
131    
132     * --disable-zlib - Build the ircd without ziplinks support.
133    
134     * --disable-gline-voting - This is good for small networks or where
135     G-Line voting is not necessary. Please understand that by disabling
136     this, it will allow any operator with G-Line permissions to G-Line
137     someone without requiring the approval of 2 other operators. However,
138     it is useful if you use proxy scanners or services that do G-Lines.
139    
140     3. Run 'make'; this should build the ircd.
141    
142     4. Run 'make install'; this will install the server, modules(1), and tools
143     in the path with the prefix specified when configure was ran.
144    
145     (1) Unless the server was compiled without module support.
146    
147     5. If you wish to install the contrib modules, run 'make install' in the
148     contrib/ folder to compile and install the modules and help pages.
149    
150     6. If you wish to enable the user log, oper log, and failed oper log,
151     kill log, kline log and the gline log issue these commands at the
152     shell prompt (in the prefix directory).
153    
154     $ touch logs/userlog
155     $ touch logs/operlog
156     $ touch logs/foperlog
157     $ touch logs/kill
158     $ touch logs/kline
159     $ touch logs/gline
160    
161     Note: If you use different names in ircd.conf, you must 'touch'
162     their specific names.
163    
164     7. If you are upgrading from Hybrid 5 or Hybrid 6, the config files
165     have changed drastically...
166    
167     By default, the kline file is named kline.conf, the dline file is
168     named dline.conf, the xline file is called xline.conf, and the gline
169     file is called gline.conf.
170    
171     The nick resv file is named nresv.conf, channel resv file is named
172     cresv.conf.
173    
174     The oper motd file is named opers.motd.
175    
176     ----------------------------------------------------------------------
177    
178     HOW TO GET HELP
179    
180     - Send Check or Money Order to... just kidding! You're on your own for
181     support. Try asking other ircd-hybrid admins on EFnet if you can't
182     fix it yourself. If you do fix anything, however, please send context
183     or unified diffs to bugs@ircd-hybrid.org so the fixes can be
184     incorporated into the next release of ircd-hybrid. If hybrid crashes
185     on you, PLEASE contact bugs@ircd-hybrid.org ASAP with a backtrace of
186     the core. The Hybrid team can't fix bugs if no one tells us about them!
187    
188     - http://forum.ircd-hybrid.org/
189     We decided to create a phpBB-like forum about ircd-hybrid, where you
190     can get help from coders and admins, post your suggestions, modules etc.
191    
192     - https://lists.ircd-hybrid.org/mailman/listinfo/hybrid
193     Here you can subscribe to a mailing list for general discussion of Hybrid.
194    
195     ----------------------------------------------------------------------
196    
197     NOTES
198    
199     The best way to get a backtrace of the core is to follow this sequence of
200     instructions:
201    
202     1. Change to the directory containing the core file
203    
204     2. Run gdb on the binary and the core file. With an unmodified Hybrid-7.1
205     installation, an example command line is below (in the /usr/local/ircd
206     directory)
207    
208     $ gdb bin/ircd ircd.core
209    
210    
211     3. At the "(gdb)" prompt, enter the command "bt full"
212    
213     4. Save the output of the backtrace command and send it to
214     bugs@ircd-hybrid.org.
215    
216     5. Be sure to save the ircd binary, the modules, and the core file in a
217     safe place in case the developers need to look deeper than a backtrace
218     provides.

Properties

Name Value
svn:eol-style native
svn:keywords "Id Revision"

svnadmin@ircd-hybrid.org
ViewVC Help
Powered by ViewVC 1.1.26