| 1 |
Hybrid INSTALL Document
|
| 2 |
|
| 3 |
$Id$
|
| 4 |
|
| 5 |
Copyright (c) 1997-2010 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 NEWS file to find out about the exciting new features in
|
| 37 |
this version. Other good reads are BUGS, etc/example.conf, and
|
| 38 |
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 config.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-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 |
* --enable-rtsigio - Enable the superior Linux RealTime Signal I/O
|
| 67 |
system. This is currently only available on 2.4 Linux kernel
|
| 68 |
versions or later.
|
| 69 |
|
| 70 |
* --enable-poll - Use POSIX poll(2).
|
| 71 |
|
| 72 |
* --enable-select - Use POSIX select(2).
|
| 73 |
|
| 74 |
Incidentally, the order of listing above is the order of auto-
|
| 75 |
detection in configure. So if you do have kqueue but wish to
|
| 76 |
enable select(2) instead (bad idea), you must use --enable-select.
|
| 77 |
|
| 78 |
* --enable-openssl - Enable the openssl dependent crypto functions.
|
| 79 |
This will allow CHALLENGE to work and encrypted links. On systems
|
| 80 |
where the configure script can automatically detect OpenSSL, this
|
| 81 |
option is not necessary. If configure cannot find OpenSSL, you
|
| 82 |
must specify a path with this option
|
| 83 |
(--enable-openssl=/path/to/openssl)
|
| 84 |
|
| 85 |
|
| 86 |
These are optional or have default values that may be overridden:
|
| 87 |
|
| 88 |
* --enable-assert - Enable use of numerous debugging checks. This
|
| 89 |
should not be used on any production servers for maximum speed
|
| 90 |
so as to prevent cores from things that shouldn't normally happen.
|
| 91 |
|
| 92 |
* --enable-halfops - Enable halfops (%, mode +h) usage. Halfops
|
| 93 |
are similar to plain ops, but can't kick/deop plain ops. Halfops
|
| 94 |
may or may not kick/deop other halfops depending on if (+p) is
|
| 95 |
set. Halfops may not set (+/-p).
|
| 96 |
|
| 97 |
* --enable-small-net - Tunes the server for smaller networks by
|
| 98 |
reducing the startup memory footprint. This should really only be
|
| 99 |
used for *small* networks, as this tends to be a performance hit
|
| 100 |
on larger networks.
|
| 101 |
|
| 102 |
* --enable-syslog=kill/squit/connect/users/oper, separated by
|
| 103 |
spaces, in quotes - Enables syslog logging, with events you specify
|
| 104 |
(none is okay too, and logs the most essential messages only.)
|
| 105 |
|
| 106 |
* --enable-syslog-facility=FACILITY - Check with your sysadmin to see
|
| 107 |
what this should be; by default it is LOG_LOCAL4. If you get it wrong
|
| 108 |
initially, no problem; just edit the value in include/setup.h.
|
| 109 |
|
| 110 |
* --with-nicklen,
|
| 111 |
--with-topiclen - Respectively, sets the maximum NICK length and
|
| 112 |
maximum TOPIC length. Note that this must be consistent across your
|
| 113 |
entire network. Defaults are 9 and 120, respectively.
|
| 114 |
|
| 115 |
* --disable-zlib - Build the ircd without ziplinks support.
|
| 116 |
|
| 117 |
|
| 118 |
3. Run 'make'; this should build the ircd.
|
| 119 |
|
| 120 |
4. Run 'make install'; this will install the server, modules(1), and tools
|
| 121 |
in the path with the prefix specified when configure was ran.
|
| 122 |
|
| 123 |
(1) Unless the server was compiled without module support.
|
| 124 |
|
| 125 |
5. If you wish to install the contrib modules, run 'make install' in the
|
| 126 |
contrib/ folder to compile and install the modules and help pages.
|
| 127 |
|
| 128 |
6. If you wish to enable the user log, oper log, and failed oper log,
|
| 129 |
kill log, kline log and the gline log issue these commands at the
|
| 130 |
shell prompt (in the prefix directory).
|
| 131 |
|
| 132 |
$ touch logs/userlog
|
| 133 |
$ touch logs/operlog
|
| 134 |
$ touch logs/foperlog
|
| 135 |
$ touch logs/kill
|
| 136 |
$ touch logs/kline
|
| 137 |
$ touch logs/gline
|
| 138 |
|
| 139 |
Note: If you use different names in ircd.conf, you must 'touch'
|
| 140 |
their specific names.
|
| 141 |
|
| 142 |
7. If you are upgrading from Hybrid 5 or Hybrid 6, the config files
|
| 143 |
have changed drastically...
|
| 144 |
|
| 145 |
By default, the kline file is named kline.conf, the dline file is
|
| 146 |
named dline.conf, the xline file is called xline.conf, and the gline
|
| 147 |
file is called gline.conf.
|
| 148 |
|
| 149 |
The nick resv file is named nresv.conf, channel resv file is named
|
| 150 |
cresv.conf.
|
| 151 |
|
| 152 |
The oper motd file is named opers.motd.
|
| 153 |
|
| 154 |
----------------------------------------------------------------------
|
| 155 |
|
| 156 |
HOW TO GET HELP
|
| 157 |
|
| 158 |
- Send Check or Money Order to... just kidding! You're on your own for
|
| 159 |
support. Try asking other ircd-hybrid admins on EFnet if you can't
|
| 160 |
fix it yourself. If you do fix anything, however, please send context
|
| 161 |
or unified diffs to bugs@ircd-hybrid.org so the fixes can be
|
| 162 |
incorporated into the next release of ircd-hybrid. If hybrid crashes
|
| 163 |
on you, PLEASE contact bugs@ircd-hybrid.org ASAP with a backtrace of
|
| 164 |
the core. The Hybrid team can't fix bugs if no one tells us about them!
|
| 165 |
|
| 166 |
- https://lists.ircd-hybrid.org/mailman/listinfo/hybrid
|
| 167 |
Here you can subscribe to a mailing list for general discussion of Hybrid.
|
| 168 |
|
| 169 |
----------------------------------------------------------------------
|
| 170 |
|
| 171 |
NOTES
|
| 172 |
|
| 173 |
The best way to get a backtrace of the core is to follow this sequence of
|
| 174 |
instructions:
|
| 175 |
|
| 176 |
1. Change to the directory containing the core file
|
| 177 |
|
| 178 |
2. Run gdb on the binary and the core file. With an unmodified ircd-hybrid
|
| 179 |
installation, an example command line is below (in the /usr/local/ircd
|
| 180 |
directory)
|
| 181 |
|
| 182 |
$ gdb bin/ircd ircd.core
|
| 183 |
|
| 184 |
|
| 185 |
3. At the "(gdb)" prompt, enter the command "bt full"
|
| 186 |
|
| 187 |
4. Save the output of the backtrace command and send it to
|
| 188 |
bugs@ircd-hybrid.org.
|
| 189 |
|
| 190 |
5. Be sure to save the ircd binary, the modules, and the core file in a
|
| 191 |
safe place in case the developers need to look deeper than a backtrace
|
| 192 |
provides.
|