ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/ermyth/INSTALL
Revision: 1.5
Committed: Sat Sep 22 14:27:25 2007 UTC (16 years, 7 months ago) by pippijn
Branch: MAIN
CVS Tags: HEAD
Changes since 1.4: +14 -16 lines
Log Message:
split up ermyth into ermyth-modules, libermyth (currently just ermyth-util) and ermyth-core

File Contents

# Content
1 Ermyth -- a set of services for IRC networks
2 =====================================================
3
4 Ermyth is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 3 of the License, or
7 (at your option) any later version.
8
9 Information about Ermyth may be found at http://ermyth.xinutec.org/.
10
11 TABLE OF CONTENTS
12 -----------------
13 1. Installation
14 2. Upgrading
15 3. Setting up IRCd
16 4. Starting Ermyth
17 5. Setting up a crontab entry
18
19 You should also read the README and FAQ files.
20
21 1. INSTALLATION
22 ---------------
23
24 NOTE: if you are using a third party package of Ermyth, most of this section
25 will not apply.
26
27 IMPORTANT NOTE: it is not recommended to use and install services as root.
28 Use an unprivileged user account.
29
30 Ermyth should compile and run on most POSIX compliant systems. The list of
31 platforms that ermyth has been tested on includes:
32 FreeBSD 4.[8,9,10,11]
33 FreeBSD 5.[0,1,2,3,4]
34 FreeBSD 6.[0]
35 FreeBSD 7.[0]
36 OpenBSD 3.[5,6,7,8] (i386, amd64, sparc)
37 NetBSD 1.[5,6] (i386, amd64, sparc)
38 NetBSD 2.[0] (i386, amd64, sparc, mips)
39 NetBSD 3.[0] (i386)
40 DragonFly 1.[0,2,5]
41 Linux (glibc) 2.6.x (i386, amd64)
42 Solaris [7,8,9,10] (i86pc, sun4u)
43 Solaris Express 10 (i86pc, sun4u)
44 MacOS 10.[3.5,4.1] (intel, powerpc)
45
46 Other BSD-based systems will probably work. Other SysV-based systems *might*
47 work provided they support BSD sockets and POSIX function calls.
48
49 IRCd's known to be supported by Ermyth are listed in the example
50 config (dist/example.conf). The recommended ones are charybdis, ratbox,
51 inspircd, asuka, beware ircd (bircd), nefarious and undernet-ircu
52 (undernet).
53
54 The easy way: run the "setup" script. This does it all for you:
55 $ ./setup
56
57 Follow the instructions and you're good to go.
58
59 The slightly less easy but more traditional way:
60
61 Run the "configure" script:
62 $ ./configure --prefix=/path/to/install/
63
64 If you're running a large network (more than 2000 users), you should
65 pass the --enable-large-net switch to configure for enhanced performance.
66
67 The "configure" script will run several tests, write several files, and exit.
68 Once this is done you will want to compile services. To do this, simply
69 type:
70 $ make
71
72 Ermyth will compile. To install, type:
73 $ make install
74
75 The newly-compiled binary and several supporting files will be copied to the
76 directory you specified in the "configure" script.
77
78 It is recommended to keep the source directory; you will need it to
79 (re)compile modules later.
80
81 Next, you'll want to go to the directory you specified in "configure" and edit
82 etc/ermyth.conf. You'll need to change every setting or services will
83 not work.
84
85 2. UPGRADING
86 ------------
87
88 IMPORTANT NOTE: backup your configuration file and database!
89
90 All custom modules should be recompiled as well. Loading old modules can
91 cause services to crash.
92
93 Sometimes upgrading requires more than recompiling and reinstalling. Be sure to
94 read doc/RELEASE for important notes concerning the release. This file will
95 let you know if you need to change your configuration or convert your database
96 to a new format.
97
98 3. SETTING UP IRCD
99 ------------------
100
101 Ermyth acts as an IRC server with pseudo-clients on it. To link it to
102 your network, you'll need to add some lines in your IRCd's
103 configuration. Ermyth connects to your IRCd, not the other way around.
104
105 It is suggested that you set up your IRCd (IRC operator access, etc) before
106 trying to connect services. Many IRCds do not log much about server
107 connections, so it is best to connect as an IRC operator and watch the
108 server notices.
109
110 As for the actual lines that need to be added, every IRCd is different. Look
111 for documentation for "connect{}" or "link{}" or "C/N lines" for your IRCd. You
112 need to allow services to introduce other servers (e.g. "hub_mask" or "H
113 line"), otherwise it will probably be disconnected when the OperServ
114 JUPE command is used.
115
116 To be perfectly honest, if you can't figure this out you should be running
117 neither IRCd nor services.
118
119 Additionally, you need to do some configuration on all servers on the network.
120 You need to reserve ("resv{}", "/resv", "Q line", etc) all nicks
121 services uses to avoid normal users taking those nicks and causing
122 trouble. Also, many IRCds need to be configured to grant special
123 privileges to services ("service{}", "shared{}", "ulines{}", "U lines",
124 etc).
125
126 See doc/IRCD for more details concerning IRCd-specific requirements for
127 running services.
128
129 4. STARTING SERVICES
130 --------------------
131
132 Go into the directory where you installed ermyth (by default,
133 ~/ermyth/). Type ./bin/ermyth to launch services.
134
135 Ermyth will report any errors and/or detach into the background.
136
137 If services doesn't link and/or terminates without warning check the log
138 file (var/ermyth.log) to see what happened. If this tells you nothing try
139 rerunning services via ./bin/ermyth -nd for more verbose
140 information.
141
142 5. SETTING UP A CRONTAB ENTRY
143 -----------------------------
144
145 A crontab entry will allow you to check periodically whether services is
146 still running, and restart it if not. You'll need to have ermyth
147 binaries and data installed in the same directory for this to work
148 without modification.
149
150 First rename the dist/ermyth.chk script that is in Ermyth path (by default,
151 ~/ermyth/) and edit it. You'll need to modify the "cd" part of the file.
152 Then ensure that the file is marked as executable by typing
153 "chmod +x ermyth.chk" and try to launch the script to see if it works.
154
155 When this is done, you'll have to add the crontab entry. Type "crontab -e"
156 This will open the default text editor with the crontab file. Enter the
157 following (with correct path):
158
159 */5 * * * * /home/yourname/ermyth/etc/ermyth.chk >/dev/null 2>&1
160
161 The */5 at the beginning means "check every 5 minutes." You may replace
162 the 5 with other another number if you want (but less than 60). Save and exit,
163 and it's installed.