ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid-7.2/INSTALL
Revision: 555
Committed: Sat Apr 22 09:39:44 2006 UTC (17 years, 11 months ago) by michael
File size: 9871 byte(s)
Log Message:
- Updated RELNOTED.  Added missing entries etc..
  BUGS, TODO, INSTALL: likewise
- Fixed formatting in example.conf

File Contents

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

Properties

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