2350.1.1
by Un1matr1x
Wiki-Links changed, ModPython added, small optical changes |
1 |
#[![ZNC](http://wiki.znc.in/skins/common/images/wiki.png)](http://znc.in) - An advanced IRC bouncer
|
2 |
||
3 |
## Table of contents
|
|
2250
by Kyle Fuller
Use Markdown for the README file |
4 |
|
5 |
- Minimal Requirements
|
|
6 |
- Optional Requirements
|
|
7 |
- Installing ZNC
|
|
8 |
- Setting up znc.conf
|
|
9 |
- Special config options
|
|
10 |
- Using ZNC
|
|
11 |
- File Locations
|
|
12 |
- ZNC's config file
|
|
13 |
- Writing own modules
|
|
14 |
- Further infos
|
|
15 |
||
2350.1.1
by Un1matr1x
Wiki-Links changed, ModPython added, small optical changes |
16 |
## Minimal Requirements
|
2250
by Kyle Fuller
Use Markdown for the README file |
17 |
|
18 |
Core: |
|
19 |
||
20 |
- GNU make (try gmake if make fails)
|
|
21 |
- GCC 3 or later
|
|
22 |
||
2350.1.1
by Un1matr1x
Wiki-Links changed, ModPython added, small optical changes |
23 |
## Optional Requirements
|
2250
by Kyle Fuller
Use Markdown for the README file |
24 |
|
25 |
SSL support: |
|
26 |
||
27 |
- openssl 0.9.7d or later (try installing openssl-dev, openssl-devel or
|
|
28 |
libssl-dev) |
|
2352
by Uli Schlachter
Some fixes for README.md |
29 |
|
2250
by Kyle Fuller
Use Markdown for the README file |
30 |
modperl: |
2352
by Uli Schlachter
Some fixes for README.md |
31 |
|
2250
by Kyle Fuller
Use Markdown for the README file |
32 |
- This needs perl and its bundled libperl
|
2352
by Uli Schlachter
Some fixes for README.md |
33 |
|
34 |
modpython: |
|
35 |
||
36 |
- This needs perl(!) and python's bundled libpython
|
|
37 |
||
2250
by Kyle Fuller
Use Markdown for the README file |
38 |
saslauth: |
2352
by Uli Schlachter
Some fixes for README.md |
39 |
|
2250
by Kyle Fuller
Use Markdown for the README file |
40 |
- This module needs cyrus-sasl2
|
41 |
||
2350.1.1
by Un1matr1x
Wiki-Links changed, ModPython added, small optical changes |
42 |
## Installing ZNC
|
2250
by Kyle Fuller
Use Markdown for the README file |
43 |
|
44 |
Installation is done with the `./configure ; make ; make install` commands.
|
|
45 |
||
2594.1.1
by Kyle Fuller
README: Explain that we need to run `./autogen.sh` if compiling from git |
46 |
If you are building from git, you will need to run `./autogen.sh` first to produce the `configure` script. |
2925
by Alexey Sokolov
README: ./bootstrap.sh requires gettext now because of AM_ICONV |
47 |
Note that this requires `automake` and `gettext` to be installed. |
2594.1.1
by Kyle Fuller
README: Explain that we need to run `./autogen.sh` if compiling from git |
48 |
|
2250
by Kyle Fuller
Use Markdown for the README file |
49 |
You can use |
50 |
./configure --help |
|
51 |
if you want to get a list of options, though the defaults should be suiting |
|
52 |
most needs. After you compiled it with make (or gmake if make doesn't work) you |
|
53 |
can install it with |
|
54 |
make install |
|
55 |
though you don't need to as ZNC supports in-place execution. |
|
56 |
||
2350.1.1
by Un1matr1x
Wiki-Links changed, ModPython added, small optical changes |
57 |
## Setting up znc.conf
|
2250
by Kyle Fuller
Use Markdown for the README file |
58 |
|
59 |
For setting up a configuration file in `~/.znc` you can simply do
|
|
60 |
znc --makeconf |
|
61 |
or |
|
62 |
./znc --makeconf |
|
63 |
for in-place execution. |
|
64 |
||
65 |
If you are using SSL you should do |
|
66 |
znc --makepem |
|
67 |
||
2350.1.1
by Un1matr1x
Wiki-Links changed, ModPython added, small optical changes |
68 |
## Special config options
|
2250
by Kyle Fuller
Use Markdown for the README file |
69 |
|
70 |
When you create your ZNC configuration file via --makeconf, you are asked two |
|
71 |
questions which might not be easy to understand. |
|
72 |
||
73 |
> Number of lines to buffer per channel |
|
74 |
||
75 |
How many messages should be buffered for each channel. When you connect to ZNC |
|
76 |
you get a buffer replay for each channel which shows what was said last. This |
|
77 |
option selects the number of lines this replay should consist of. Increasing |
|
78 |
this can greatly increase ZNC's memory usage if you are hosting many users. |
|
79 |
The default value should be fine for most setups. |
|
80 |
||
81 |
> Would you like to keep buffers after replay? |
|
82 |
||
83 |
If this is disabled, you get the buffer playback only once and then it is |
|
84 |
deleted. If this is enabled, the buffer is not deleted. This may be useful if |
|
85 |
you regularly use more than one client to connect to ZNC. |
|
86 |
||
2350.1.1
by Un1matr1x
Wiki-Links changed, ModPython added, small optical changes |
87 |
## Using ZNC
|
2250
by Kyle Fuller
Use Markdown for the README file |
88 |
|
89 |
Once you have started ZNC you can connect with your favorite IRC-client to ZNC. |
|
90 |
You should use `username:password` as the server password (e.g. `/pass user:pass`). |
|
91 |
||
92 |
Once you are connected you can do `/msg *status help` for some commands.
|
|
93 |
Every module you have loaded (`/msg *status listmods`) should additionally provide
|
|
94 |
/msg *modulename help |
|
95 |
||
2350.1.1
by Un1matr1x
Wiki-Links changed, ModPython added, small optical changes |
96 |
## File Locations
|
2250
by Kyle Fuller
Use Markdown for the README file |
97 |
|
98 |
In its data dir (`~/.znc` is default) ZNC saves most of its data. The only
|
|
99 |
exception are modules and module data, which are saved in `<prefix>/lib/znc`
|
|
100 |
and `<prefix>/share/znc`, and the znc binary itself.
|
|
101 |
More modules (e.g. if you install some later) can be saved in |
|
102 |
`<data dir>/modules` (-> `~/.znc/modules`). |
|
103 |
||
104 |
In the datadir are only two files: |
|
105 |
||
106 |
- `znc.pid` - The pid of the currently running ZNC instance.
|
|
107 |
- `znc.pem` - This is the server certificate ZNC uses for listening and is created
|
|
108 |
with `znc --makepem`.
|
|
109 |
||
110 |
These directories are also in there: |
|
111 |
||
112 |
- configs - Contains `znc.conf` (ZNC's config file) and backups of older configs. |
|
113 |
- modules - ZNC also looks in here for a module.
|
|
114 |
- moddata - Global modules save their settings here.
|
|
115 |
(e.g. webadmin saves the current skin name in here) |
|
116 |
- users - This is per-user data and mainly contains just a moddata directory.
|
|
117 |
||
2350.1.1
by Un1matr1x
Wiki-Links changed, ModPython added, small optical changes |
118 |
## ZNC's config file
|
2250
by Kyle Fuller
Use Markdown for the README file |
119 |
|
120 |
This file shouldn't be too hard too understand. An explanation of all the |
|
2350.1.1
by Un1matr1x
Wiki-Links changed, ModPython added, small optical changes |
121 |
items can be found on the [Configuration](http://wiki.znc.in/Configuration)-Page. |
2466
by Alexey Sokolov
Change "znc" to "ZNC". |
122 |
Warning: better not to edit config, while ZNC is running. |
2250
by Kyle Fuller
Use Markdown for the README file |
123 |
|
124 |
To rehash the config file, you can send ZNC SIGHUP via |
|
125 |
pkill -SIGHUP znc |
|
2466
by Alexey Sokolov
Change "znc" to "ZNC". |
126 |
or you can login to ZNC and use |
2250
by Kyle Fuller
Use Markdown for the README file |
127 |
/msg *status rehash |
128 |
||
2466
by Alexey Sokolov
Change "znc" to "ZNC". |
129 |
If you changed some settings while ZNC is running, a simple |
2250
by Kyle Fuller
Use Markdown for the README file |
130 |
pkill -SIGUSR1 znc |
131 |
will make ZNC rewrite its config file. Alternatively you can use this: |
|
132 |
/msg *status saveconfig |
|
133 |
||
2350.1.1
by Un1matr1x
Wiki-Links changed, ModPython added, small optical changes |
134 |
## Writing own modules
|
2250
by Kyle Fuller
Use Markdown for the README file |
135 |
|
2578.1.16
by Alexey Sokolov
Fix python in README |
136 |
You can write your own modules in either C++, python or perl. |
2250
by Kyle Fuller
Use Markdown for the README file |
137 |
|
138 |
C++ modules are compiled by either saving them in the modules source dir and |
|
139 |
running make or with the znc-buildmod shell script. |
|
140 |
||
2578.1.20
by Kyle Fuller
Remove trailing whitespace |
141 |
For additional info look in the wiki: |
2586
by Kyle Fuller
README: Display the writing module links more clearly |
142 |
|
2858
by Alexey Sokolov
Fix readme links again... |
143 |
- [Writing modules](http://wiki.znc.in/Writing_modules) |
2586
by Kyle Fuller
README: Display the writing module links more clearly |
144 |
|
145 |
Perl modules are loaded through the global module [ModPerl](http://wiki.znc.in/Modperl). |
|
146 |
||
147 |
Python modules are loaded through the global module [ModPython](http://wiki.znc.in/Modpython). |
|
2350.1.1
by Un1matr1x
Wiki-Links changed, ModPython added, small optical changes |
148 |
|
149 |
## Further infos
|
|
2250
by Kyle Fuller
Use Markdown for the README file |
150 |
|
151 |
Please visit http://znc.in/ or #znc on EFNet if you still have questions.
|
|
152 |
||
153 |
You can get the latest development version with git: |
|
2352
by Uli Schlachter
Some fixes for README.md |
154 |
git clone git://github.com/znc/znc.git |