add template readme files
This commit is contained in:
parent
152488c116
commit
8f93c53c89
7 changed files with 778 additions and 1126 deletions
5
.gitattributes
vendored
5
.gitattributes
vendored
|
@ -3,13 +3,12 @@
|
|||
/COPYING -text
|
||||
/ChangeLog -text
|
||||
/LICENSE -text
|
||||
/LogServ.README -text
|
||||
/LogServ.README.html -text
|
||||
/LogServ.xml -text
|
||||
/Makefile.in -text
|
||||
/NEWS -text
|
||||
/OnisDoLogs.sh -text
|
||||
/README.LogServ -text
|
||||
/README.LogServ.html -text
|
||||
/README.LogServ.xml -text
|
||||
/RELNOTES -text
|
||||
/configure -text
|
||||
/configure.in -text
|
||||
|
|
479
LogServ.README
479
LogServ.README
|
@ -1,479 +0,0 @@
|
|||
|
||||
LogServ Manual
|
||||
_________________________________________________________________
|
||||
|
||||
1. Prerequisites and Installation.
|
||||
|
||||
1.1. Compiling and Installation
|
||||
|
||||
2. Basic Configuration
|
||||
|
||||
2.1. LogType
|
||||
2.2. LOGSIZE SETTING
|
||||
2.3. LOGAGE SETTING
|
||||
|
||||
3. Configuring LogServ to Log Individual Channels
|
||||
|
||||
3.1. Adding a Channel
|
||||
3.2. Deleting a Channel
|
||||
3.3. Changing Channel Settings
|
||||
3.4. Viewing the Channel List
|
||||
|
||||
4. Misc Commands
|
||||
|
||||
4.1. STATS
|
||||
4.2. VERSION
|
||||
4.3. ABOUT
|
||||
|
||||
5. LogFile Parsers
|
||||
|
||||
Welcome to the LogServ Manual. This document will aid you in setting
|
||||
up and running LogServServ on your IRC network.
|
||||
|
||||
LogServ is a basic Channel Logging Module for the NeoStats Services
|
||||
that can log channel activity to a log file for processing by 3rd
|
||||
party programs such as Onis or MircStats. These programs can then
|
||||
produce HTML pages with interesting statistics on the channel
|
||||
activities.
|
||||
|
||||
LogServ is flexible in the logging of channels, and can produce log
|
||||
files in the same format as Xchat, Mirc, EggDrop, or our own custom
|
||||
logging format, meaning you should be able to use just about any IRC
|
||||
Log Parsing program to produce statistics for you.
|
||||
|
||||
Additionally, LogServ can rotate log files based on log file size or
|
||||
age, and place them in a different directory for processing at any
|
||||
time.
|
||||
|
||||
We recomend that you use the Onis Log file parser, as its what we have
|
||||
done our testing with, and additionally, has several neat features
|
||||
that are applicable to logging lots of channels. These are:
|
||||
* Persistance. You don't need to keep old log files around if you
|
||||
wish your statistics to have a long history, thus saving you
|
||||
valuable file system space
|
||||
* Easily Customizable with stylesheets
|
||||
* Easily scriptable for processing many channels at once
|
||||
|
||||
We have provided a sample shell script and Onis configuration file to
|
||||
automatically parse your log files in one go, producing the required
|
||||
output.
|
||||
|
||||
LogServ is Copyright, 2003 by Justin Hammond.
|
||||
|
||||
1. Prerequisites and Installation.
|
||||
|
||||
LogServ is designed to run on Top of NeoStats. The Following
|
||||
requirements at the time of writing are required for NeoStats:
|
||||
* A Linux or BSD based Server or Shell.
|
||||
* A supported IRCd. Currently, Hybrid7, Unreal, Ultimate2.x or
|
||||
Ultimate3.x or NeoIRCd
|
||||
* Some basic Unix administration Skill
|
||||
* Of Course, a IRC network to connect it all together.
|
||||
* Spare disk space and a webserver to display the output
|
||||
* A log file parser such as Onis
|
||||
|
||||
Please refer to the NeoStats website for more information on the
|
||||
requirements
|
||||
|
||||
1.1. Compiling and Installation
|
||||
|
||||
As long as you have successfully setup NeoStats, and installed it
|
||||
correctly, Compiling LogServ is very simple and straight forward.
|
||||
First you must extract the files from the download package. This is as
|
||||
simple as:
|
||||
bash$ tar -xzf LogServ-<ver>.tar.gz
|
||||
|
||||
This should then create a directory called LogServ-<version> where
|
||||
<version> is the Version of LogServ. Then Proceed to Change into the
|
||||
LogServ directory, and run Configure as follows:
|
||||
bash$./configure [--enable-debug | --with-neostats=<dir>]
|
||||
|
||||
--enable-debug is only useful for diagnostics purposes when used in
|
||||
conjunction with debugging tools. There should be no need to use this
|
||||
option on a day to day basis
|
||||
|
||||
--with-neostats=<dir> should be used if your neostats directory is not
|
||||
in a standard location (~/NeoStats/). Replace <dir> with the full path
|
||||
to your NeoStats installation directory (NOT SOURCE DIRECTORY)
|
||||
|
||||
Configuring LogServ will look something like the following screen:
|
||||
[Fish@fish-dt]$ ./configure
|
||||
checking for gcc... gcc
|
||||
checking for C compiler default output... a.out
|
||||
checking whether the C compiler works... yes
|
||||
checking whether we are cross compiling... no
|
||||
checking for suffix of executables...
|
||||
checking for suffix of object files... o
|
||||
checking whether we are using the GNU C compiler... yes
|
||||
checking whether gcc accepts -g... yes
|
||||
checking for gcc option to accept ANSI C... none needed
|
||||
checking for a BSD-compatible install... /usr/bin/install -c
|
||||
checking for pcre_compile in -lpcre... yes
|
||||
checking Location of NeoStats...... /home/fish/NeoStats/
|
||||
checking for /home/fish/NeoStats//include/dl.h... yes
|
||||
checking Version of NeoStats...... Compatible Version
|
||||
checking Whether to Enable Debuging...... no
|
||||
configure: creating ./config.status
|
||||
config.status: creating Makefile
|
||||
|
||||
(*----------------------------------------------------------*)
|
||||
(| To compile your module, please type 'make' |)
|
||||
(| If make completes without errors, then you |)
|
||||
(| Must 'make install', but please be sure that NeoStats |)
|
||||
(| Is not currently running with a module of the same name |)
|
||||
(| Running, otherwise Make install will not work |)
|
||||
(| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |)
|
||||
(| If you are running a BSD, make install may produce a |)
|
||||
(| Error, if that is the case, then please manually copy |)
|
||||
(| opsb.so to the NeoStats/dl directory |)
|
||||
(| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |)
|
||||
(*----------------------------------------------------------*)
|
||||
(| For Support please visit: |)
|
||||
(| IRC: /server irc.irc-chat.org |)
|
||||
(| #neostats channel |)
|
||||
(| WWW: http://www.neostats.net/boards/ |)
|
||||
(*----------------------------------------------------------*)
|
||||
(|This Module was written by: |)
|
||||
(| fish (fish@dynam.ac) |)
|
||||
(*----------------------------------------------------------*)
|
||||
|
||||
If the configuration did not produce a error, you may then move onto
|
||||
Compiling LogServ. Compiling is simply just issuing the "make" command
|
||||
(or "gmake" if you are running BSD):
|
||||
[Fish@fish-dt]$ make
|
||||
gcc -c -O2 -Wall -g -ggdb -I/home/fish/NeoStats//include/ -I. logserv.c
|
||||
gcc -c -O2 -Wall -g -ggdb -I/home/fish/NeoStats//include/ -I. log_processing.c
|
||||
ld -shared -o logserv.so logserv.o log_processing.o
|
||||
|
||||
again, check for Error messages. As long as there are not error
|
||||
messages, "make install" will install LogServ, this README file, and
|
||||
any auxiliary files needed into your NeoStats directory:
|
||||
[Fish@fish-dt]$ make install
|
||||
/usr/bin/install -c -m 644 LogServ.so /home/fish/NeoStats//dl/
|
||||
/usr/bin/install -c -m 644 README.LogServ /home/fish/NeoStats//dl/../doc/
|
||||
|
||||
If you receive *ANY* errors at all during the this process, please
|
||||
post them on our Support boards, at http//www.neostats.net/boards/
|
||||
|
||||
Once Installation is complete, you can either configure NeoStats to
|
||||
load LogServ when it starts, or load LogServ via IRC.
|
||||
|
||||
To Configure NeoStats to automatically load LogServ when it boots, add
|
||||
the following line to your "neostats.cfg" file in the NeoStats
|
||||
directory:
|
||||
|
||||
LOAD_MODULE logserv
|
||||
|
||||
To load LogServ via IRC, you must make sure you have the appropriate
|
||||
permissions and issue the following command:
|
||||
|
||||
/msg neostats load logserv
|
||||
|
||||
Thats it. LogServ is now loaded and ready for use
|
||||
|
||||
2. Basic Configuration
|
||||
|
||||
LogServ is completely configured online via IRC. When you first start
|
||||
up LogServ, it attempts some "Sane" defaults for you get started with,
|
||||
but you should always review these settings as soon as you install.
|
||||
There are a few important settings you may want to review right away.
|
||||
They are:
|
||||
* LogType is the format we should be logging as (Xchat, Mirc,
|
||||
EggDrop, or LogServ)
|
||||
* Logfile size to rotate at (1Mb by default)
|
||||
* Logfile age to rotate at (1Hr by default)
|
||||
|
||||
These are outlined below:
|
||||
|
||||
2.1. LogType
|
||||
|
||||
Logtype is the format you wish to perform your logging in. By default,
|
||||
LogServ logs using its own internal logfile format, but as of
|
||||
writting, no external logfile parser supports that format, so you are
|
||||
advised to change it. There are four possible choices:
|
||||
* 0 - LogServ Format. Our own Logging file format
|
||||
* 1 - EggDrop Format. The Same logging format as the popular EggDrop
|
||||
Bot
|
||||
* 2 - Mirc Format. This is the same format as the mirc 6.0 series
|
||||
* 3 - Xchat Format. This is the same format as Xchat 2.0.5 IRC
|
||||
client
|
||||
|
||||
Warning
|
||||
Changing the LogType is imediate, and all new entries into a
|
||||
logfile will start with the new format imediatly. You should stop
|
||||
NeoStats, and remove the files in NeoStats/logs/chanlogs/
|
||||
directory after changing this setting, so when you next process
|
||||
your log files, it will not be confused by the changing formats.
|
||||
|
||||
Changing the LogFile Format
|
||||
|
||||
Before starting to log any channels, you should select which format
|
||||
you wish to log in. We recomend Xchat format. To change the LogType,
|
||||
issue the following command:
|
||||
/msg LogServ set logtype <type>
|
||||
|
||||
Where:
|
||||
|
||||
<type> = The Logging format time, indicated by a number from 0 to 3,
|
||||
representing the differnt formats available as outlined above.
|
||||
|
||||
The output is as follows:
|
||||
>logserv< set logtype 3
|
||||
-LogServ- LOGTYPE set to 3
|
||||
|
||||
Viewing the current Logtype setting
|
||||
|
||||
To view the current logtype selected, simple type:
|
||||
/msg LogServ set list
|
||||
|
||||
And all the current settings (the rest will be explained later in this
|
||||
document) are displayed. The output is as follows:
|
||||
>LogServ< set list
|
||||
-LogServ- Current LogServ settings:
|
||||
-LogServ- LOGTYPE: 3 Log Type
|
||||
-LogServ- LOGSIZE: 2000 Bytes
|
||||
-LogServ- LOGAGE: 3600 Seconds
|
||||
|
||||
2.2. LOGSIZE SETTING
|
||||
|
||||
LogServ stores logs in two places on your Shell. Live logs, or logs
|
||||
that are currently being written are stored in the
|
||||
~/NeoStats/logs/chanlogs/ directory, and these the logs that are
|
||||
currently being updated. When the log reaches a certian size, or age,
|
||||
it is closed, and moved to a the ~/NeoStats/ChanLogs/ directory where
|
||||
you can process the log files. The LogFile size settings specifies how
|
||||
big a "live log" is allowed to reach before it is moved to the final
|
||||
directory. By default, LogServ will rotate all files larger than 1Mb,
|
||||
and this should be satisfactory for most users.
|
||||
|
||||
Changing the LogSize to switch at.
|
||||
|
||||
To change the size at which a logfile will switch at, use the
|
||||
following format:
|
||||
/msg SecureServ set logsize <bytes>
|
||||
|
||||
Where:
|
||||
|
||||
<bytes> = if the file is larger than this size, it is "swapped"
|
||||
|
||||
The output is as follows:
|
||||
>logserv< set logsize 20000
|
||||
<LogServ> LOGSIZE set to 20000 by Fish
|
||||
-LogServ- LOGSIZE set to 20000
|
||||
|
||||
Viewing the current setting
|
||||
|
||||
Please refer to the previous section.
|
||||
|
||||
2.3. LOGAGE SETTING
|
||||
|
||||
In addition to the logsize setting above, LogServ will rotate a
|
||||
logfile after it has been opened for a period of time. This is so
|
||||
channels that might not have much activity still get a chance to be
|
||||
updated often.
|
||||
|
||||
The logage setting can be changed via:
|
||||
/msg LogServ set logage <seconds>
|
||||
|
||||
Where:
|
||||
|
||||
<seconds> = The number of seconds the log file must be opened for
|
||||
before rotating. Minium value is 5 minutes, but its recomended not to
|
||||
go under 1 Hour (3600 seconds)
|
||||
|
||||
The output is as follows:
|
||||
>LogServ< set logage 7200
|
||||
<LogServ> LOGAGE set to 7200 by Fish
|
||||
-LogServ- LOGAGE set to 7200
|
||||
|
||||
3. Configuring LogServ to Log Individual Channels
|
||||
|
||||
Obviously, we dont want to log every single IRC channel on the
|
||||
network, so you have to tell LogServ what channels you wish to Log.
|
||||
This is fairly basic. You have 4 options:
|
||||
* Add A channel
|
||||
* Delete A channel
|
||||
* Change a Channels settings
|
||||
* View the Channel list.
|
||||
|
||||
Each Setting is described in the following section.
|
||||
|
||||
3.1. Adding a Channel
|
||||
|
||||
Adding a Channel to be logged is instantanous, and the channel will
|
||||
begin logging straight after this command has complete. LogServ will
|
||||
join the channel, but not give itself any channel modes, so the
|
||||
channel owner can decide if it should be OP'd or not.
|
||||
|
||||
The Syntax is:
|
||||
/msg LogServ chans add <name> <public> <url>
|
||||
|
||||
Where:
|
||||
|
||||
<name> = The name of the channel you wish to Log. Must exist on the
|
||||
IRC network.
|
||||
|
||||
<public> = Indicates weather to show the channel to non-privledged
|
||||
users in the channel logging list or not. Either the words "public" or
|
||||
"private". If a invalid entry is specified, defaults to Public.
|
||||
Currently doesn't do anything.
|
||||
|
||||
<url> = For informational purposes only. Displays the Web Address that
|
||||
users can visit to view the channel statistics.
|
||||
|
||||
The output is as follows:
|
||||
>logserv< chans add #ircop public http://www.neostats.net
|
||||
<LogServ> Fish used CHANS
|
||||
-LogServ- Stats URL is set to http://www.neostats.net
|
||||
-LogServ- Now Logging #ircop
|
||||
<LogServ> Fish Activated Logging on #ircop
|
||||
|
||||
And the channel members of #ircop shall see:
|
||||
--> LogServ (LogBot@stats.dynam.ac) has joined #ircop
|
||||
-LogServ/#ircop- Fish Actived Channel Logging on #ircop
|
||||
-LogServ/#ircop- Stats will be avaiable at http://www.neostats.net when Logs ar
|
||||
e processed next
|
||||
|
||||
3.2. Deleting a Channel
|
||||
|
||||
Deleting a channel from LogServ means it will no longer log any
|
||||
activity in that channel. If the channel is currently active, LogServ
|
||||
shall part the channel, Close the "live log" and move it to its
|
||||
processing directory.
|
||||
|
||||
The Syntax is:
|
||||
/msg LogServ chans del <name>
|
||||
|
||||
Where:
|
||||
|
||||
<name> = The name of a channel we are currently logging.
|
||||
|
||||
The output is as follows:
|
||||
>LogServ< chans del #ircop
|
||||
<LogServ> Fish used CHANS
|
||||
-LogServ- Deleted Channel #ircop
|
||||
<LogServ> Fish deleted #ircop from Channel Logging
|
||||
|
||||
3.3. Changing Channel Settings
|
||||
|
||||
You can change the URL location displayed when viewing the channel
|
||||
list using the chans set command.
|
||||
|
||||
The Syntax is:
|
||||
/msg logserv chans set URL <name> <newurl>
|
||||
|
||||
Where:
|
||||
|
||||
<name> = The channel name you wish to alter
|
||||
|
||||
<newurl> = The new URL you wish to set.
|
||||
|
||||
The output is as follows:
|
||||
<LogServ> Fish used CHANS
|
||||
-LogServ- Changed URL for #blah to: http://nowhere.com
|
||||
<LogServ> Fish changed the URL for #blah to: http://nowhere.com
|
||||
|
||||
3.4. Viewing the Channel List
|
||||
|
||||
The channel list can be viewed by issuing the following command:
|
||||
/msg logserv chans list
|
||||
|
||||
The output is as follows:
|
||||
-LogServ- Monitored Channel List:
|
||||
-LogServ- #blah (-) URL: http://nowhere.com
|
||||
-LogServ- #bl (-) URL: None
|
||||
-LogServ- #ircop (*) URL: http://www.neostats.net
|
||||
-LogServ- End Of List.
|
||||
|
||||
The (-) or (*) indicate if the channel is currently active.
|
||||
|
||||
4. Misc Commands
|
||||
|
||||
There are several other commands available. These are documented
|
||||
below:
|
||||
|
||||
4.1. STATS
|
||||
|
||||
The stats command shows some basic stats about the Logging Activities.
|
||||
With future versions its expected the amount of information will
|
||||
increase with this command.
|
||||
|
||||
The Syntax is:
|
||||
/msg LogServ stats
|
||||
|
||||
And the output is
|
||||
<LogServ> Fish used STATS
|
||||
-LogServ- LogServ Stats:
|
||||
-LogServ- Monitoring 3 channels
|
||||
|
||||
4.2. VERSION
|
||||
|
||||
This displays LogServ's Version number
|
||||
|
||||
The Syntax is:
|
||||
/msg LogServ version
|
||||
|
||||
And the Output is:
|
||||
<LogServ> Fish used VERSION
|
||||
-LogServ- LogServ Version Information
|
||||
-LogServ- LogServ Version: $Rev: 19 $ Compiled Jan 13 2004 at 20:08:11
|
||||
|
||||
4.3. ABOUT
|
||||
|
||||
This displays a brief message to users describing the function of
|
||||
LogServ:
|
||||
|
||||
The Syntax is:
|
||||
/msg LogServ About
|
||||
|
||||
And the output is:
|
||||
<LogServ> Fish used ABOUT
|
||||
-LogServ- LogServ logs channel activities to produce HTML pages describing some
|
||||
interesting Statistics
|
||||
-LogServ- about that channel. If you wish to have your channel logged,
|
||||
-LogServ- please contact the Network Adminstration
|
||||
|
||||
5. LogFile Parsers
|
||||
|
||||
As mentioned in the introduction, LogServ only generates Log files,
|
||||
you still need to get some program to create the HTML pages from the
|
||||
logfiles.
|
||||
|
||||
We currently recomend Onis for parsing the logfiles. You can obtain a
|
||||
copy of Onis from http://verplant.org/onis/
|
||||
|
||||
We have provided a Sample Onis Configuration based on Onis 0.4.9, and
|
||||
a shell script that can be executed by Crontab to process all your
|
||||
Logfiles. This sample configuration and Shell script are installed
|
||||
into the ~/NeoStats/ChanLogs/ directory by default.
|
||||
|
||||
This shell script will automatically go through each of the channels
|
||||
logs running Onis to update the HTML pages. At the top of the script
|
||||
are some variables that should be setup to configure where you wish to
|
||||
place the resultant HTML files, and where Onis is installed. You
|
||||
should read the begining of the file OnisDoLogs.sh to figure out what
|
||||
needs to be configured.
|
||||
|
||||
This shell script assumes that you have a webserver on the same shell
|
||||
as NeoStats. If not, its upto the reader to implement some sort of
|
||||
FTP/SCP script to transfer either the logfiles, or the output from
|
||||
Onis to his webserver.
|
||||
|
||||
Additionally, if you are using a different LogFile parser, other than
|
||||
Onis, you will have to develop your own script or method for updating
|
||||
the HTML pages. If you do develop a script for another Logfile
|
||||
Processor, please send us a copy, so we may include it in future
|
||||
versions.
|
||||
|
||||
The logs for each channel are placed into their own directory within
|
||||
the ChanLogs directory, so if you are logging #neostats, The logfiles
|
||||
would be placed in ChanLogs/#neostats.
|
||||
|
||||
Warning
|
||||
|
||||
# is a special charactor on most shells and needs to be escaped. So if
|
||||
you wish to change directory to #neostats, you would actually type cd
|
||||
\#neostats. Keep this in mind when developing any scripts.
|
||||
|
||||
Each Logfile is timestamped with the time it was rotated out of the
|
||||
logs/chanlogs/ directory, with the format <name>-YYMMDDHHMMSS.log
|
File diff suppressed because one or more lines are too long
562
LogServ.xml
562
LogServ.xml
|
@ -1,562 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
<article>
|
||||
<title>LogServ Manual</title>
|
||||
|
||||
<para>Welcome to the LogServ Manual. This document will aid you in setting
|
||||
up and running LogServServ on your IRC network.</para>
|
||||
|
||||
<para>LogServ is a basic Channel Logging Module for the NeoStats Services
|
||||
that can log channel activity to a log file for processing by 3rd party
|
||||
programs such as Onis or MircStats. These programs can then produce HTML
|
||||
pages with interesting statistics on the channel activities. </para>
|
||||
|
||||
<para>LogServ is flexible in the logging of channels, and can produce log
|
||||
files in the same format as Xchat, Mirc, EggDrop, or our own custom logging
|
||||
format, meaning you should be able to use just about any IRC Log Parsing
|
||||
program to produce statistics for you.</para>
|
||||
|
||||
<para>Additionally, LogServ can rotate log files based on log file size or
|
||||
age, and place them in a different directory for processing at any time.</para>
|
||||
|
||||
<para>We recomend that you use the Onis Log file parser, as its what we have
|
||||
done our testing with, and additionally, has several neat features that are
|
||||
applicable to logging lots of channels. These are:<itemizedlist><listitem><para>Persistance.
|
||||
You don't need to keep old log files around if you wish your statistics
|
||||
to have a long history, thus saving you valuable file system space</para></listitem><listitem><para>Easily
|
||||
Customizable with stylesheets</para></listitem><listitem><para>Easily
|
||||
scriptable for processing many channels at once</para></listitem></itemizedlist></para>
|
||||
|
||||
<para>We have provided a sample shell script and Onis configuration file to
|
||||
automatically parse your log files in one go, producing the required output.
|
||||
</para>
|
||||
|
||||
<para>LogServ is Copyright, 2003 by Justin Hammond.</para>
|
||||
|
||||
<sect1>
|
||||
<title>Prerequisites and Installation.</title>
|
||||
|
||||
<para>LogServ is designed to run on Top of NeoStats. The Following
|
||||
requirements at the time of writing are required for NeoStats:<itemizedlist><listitem><para>A
|
||||
Linux or BSD based Server or Shell.</para></listitem><listitem><para>A
|
||||
supported IRCd. Currently, Hybrid7, Unreal, Ultimate2.x or Ultimate3.x or
|
||||
NeoIRCd</para></listitem><listitem><para>Some basic Unix administration
|
||||
Skill</para></listitem><listitem><para>Of Course, a IRC network to connect
|
||||
it all together.</para></listitem><listitem><para>Spare disk space and a
|
||||
webserver to display the output</para></listitem><listitem><para>A log
|
||||
file parser such as Onis</para></listitem></itemizedlist></para>
|
||||
|
||||
<para>Please refer to the NeoStats website for more information on the
|
||||
requirements</para>
|
||||
|
||||
<sect2>
|
||||
<title>Compiling and Installation</title>
|
||||
|
||||
<para>As long as you have successfully setup NeoStats, and installed it
|
||||
correctly, Compiling LogServ is very simple and straight forward. First
|
||||
you must extract the files from the download package. This is as simple
|
||||
as:</para>
|
||||
|
||||
<screen>bash$<command> tar -xzf LogServ-<ver>.tar.gz</command></screen>
|
||||
|
||||
<para>This should then create a directory called
|
||||
LogServ-<version> where <version> is the Version of
|
||||
LogServ. Then Proceed to Change into the LogServ directory, and run
|
||||
Configure as follows:<screen>bash$<command>./configure [--enable-debug | --with-neostats=<dir>]</command></screen></para>
|
||||
|
||||
<para>--enable-debug is only useful for diagnostics purposes when used
|
||||
in conjunction with debugging tools. There should be no need to use this
|
||||
option on a day to day basis</para>
|
||||
|
||||
<para>--with-neostats=<dir> should be used if your neostats
|
||||
directory is not in a standard location (~/NeoStats/). Replace
|
||||
<dir> with the full path to your NeoStats installation directory
|
||||
(NOT SOURCE DIRECTORY)</para>
|
||||
|
||||
<para>Configuring LogServ will look something like the following screen:</para>
|
||||
|
||||
<screen>[Fish@fish-dt]$ ./configure
|
||||
checking for gcc... gcc
|
||||
checking for C compiler default output... a.out
|
||||
checking whether the C compiler works... yes
|
||||
checking whether we are cross compiling... no
|
||||
checking for suffix of executables...
|
||||
checking for suffix of object files... o
|
||||
checking whether we are using the GNU C compiler... yes
|
||||
checking whether gcc accepts -g... yes
|
||||
checking for gcc option to accept ANSI C... none needed
|
||||
checking for a BSD-compatible install... /usr/bin/install -c
|
||||
checking for pcre_compile in -lpcre... yes
|
||||
checking Location of NeoStats...... /home/fish/NeoStats/
|
||||
checking for /home/fish/NeoStats//include/dl.h... yes
|
||||
checking Version of NeoStats...... Compatible Version
|
||||
checking Whether to Enable Debuging...... no
|
||||
configure: creating ./config.status
|
||||
config.status: creating Makefile
|
||||
|
||||
(*----------------------------------------------------------*)
|
||||
(| To compile your module, please type 'make' |)
|
||||
(| If make completes without errors, then you |)
|
||||
(| Must 'make install', but please be sure that NeoStats |)
|
||||
(| Is not currently running with a module of the same name |)
|
||||
(| Running, otherwise Make install will not work |)
|
||||
(| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |)
|
||||
(| If you are running a BSD, make install may produce a |)
|
||||
(| Error, if that is the case, then please manually copy |)
|
||||
(| opsb.so to the NeoStats/dl directory |)
|
||||
(| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |)
|
||||
(*----------------------------------------------------------*)
|
||||
(| For Support please visit: |)
|
||||
(| IRC: /server irc.irc-chat.org |)
|
||||
(| #neostats channel |)
|
||||
(| WWW: http://www.neostats.net/boards/ |)
|
||||
(*----------------------------------------------------------*)
|
||||
(|This Module was written by: |)
|
||||
(| fish (fish@dynam.ac) |)
|
||||
(*----------------------------------------------------------*)
|
||||
</screen>
|
||||
|
||||
<para>If the configuration did not produce a error, you may then move
|
||||
onto Compiling LogServ. Compiling is simply just issuing the
|
||||
"make" command (or "gmake" if you are running BSD):</para>
|
||||
|
||||
<screen>[Fish@fish-dt]$ make
|
||||
gcc -c -O2 -Wall -g -ggdb -I/home/fish/NeoStats//include/ -I. logserv.c
|
||||
gcc -c -O2 -Wall -g -ggdb -I/home/fish/NeoStats//include/ -I. log_processing.c
|
||||
ld -shared -o logserv.so logserv.o log_processing.o
|
||||
</screen>
|
||||
|
||||
<para>again, check for Error messages. As long as there are not error
|
||||
messages, "make install" will install LogServ, this README file,
|
||||
and any auxiliary files needed into your NeoStats directory:</para>
|
||||
|
||||
<screen>[Fish@fish-dt]$ make install
|
||||
/usr/bin/install -c -m 644 LogServ.so /home/fish/NeoStats//dl/
|
||||
/usr/bin/install -c -m 644 README.LogServ /home/fish/NeoStats//dl/../doc/
|
||||
</screen>
|
||||
|
||||
<para>If you receive *ANY* errors at all during the this process, please
|
||||
post them on our Support boards, at http//www.neostats.net/boards/</para>
|
||||
|
||||
<para>Once Installation is complete, you can either configure NeoStats
|
||||
to load LogServ when it starts, or load LogServ via IRC.</para>
|
||||
|
||||
<para>To Configure NeoStats to automatically load LogServ when it boots,
|
||||
add the following line to your "neostats.cfg" file in the
|
||||
NeoStats directory:</para>
|
||||
|
||||
<para><command>LOAD_MODULE logserv</command></para>
|
||||
|
||||
<para>To load LogServ via IRC, you must make sure you have the
|
||||
appropriate permissions and issue the following command:</para>
|
||||
|
||||
<para><command>/msg neostats load logserv</command></para>
|
||||
|
||||
<para>Thats it. LogServ is now loaded and ready for use </para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1>
|
||||
<title>Basic Configuration</title>
|
||||
|
||||
<para>LogServ is completely configured online via IRC. When you first
|
||||
start up LogServ, it attempts some "Sane" defaults for you get
|
||||
started with, but you should always review these settings as soon as you
|
||||
install. There are a few important settings you may want to review right
|
||||
away. They are:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>LogType is the format we should be logging as (Xchat, Mirc,
|
||||
EggDrop, or LogServ)</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Logfile size to rotate at (1Mb by default)</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Logfile age to rotate at (1Hr by default)</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>These are outlined below:</para>
|
||||
|
||||
<sect2>
|
||||
<title>LogType</title>
|
||||
|
||||
<para>Logtype is the format you wish to perform your logging in. By
|
||||
default, LogServ logs using its own internal logfile format, but as of
|
||||
writting, no external logfile parser supports that format, so you are
|
||||
advised to change it. There are four possible choices:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>0 - LogServ Format. Our own Logging file format</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>1 - EggDrop Format. The Same logging format as the popular
|
||||
EggDrop Bot</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2 - Mirc Format. This is the same format as the mirc 6.0
|
||||
series</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>3 - Xchat Format. This is the same format as Xchat 2.0.5 IRC
|
||||
client</para>
|
||||
|
||||
<warning>
|
||||
<para>Changing the LogType is imediate, and all new entries into a
|
||||
logfile will start with the new format imediatly. You should stop
|
||||
NeoStats, and remove the files in NeoStats/logs/chanlogs/
|
||||
directory after changing this setting, so when you next process
|
||||
your log files, it will not be confused by the changing formats.
|
||||
</para>
|
||||
</warning>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para><emphasis role="bold">Changing the LogFile Format</emphasis></para>
|
||||
|
||||
<para>Before starting to log any channels, you should select which
|
||||
format you wish to log in. We recomend Xchat format. To change the
|
||||
LogType, issue the following command:</para>
|
||||
|
||||
<screen>/msg LogServ set logtype <type></screen>
|
||||
|
||||
<para>Where:</para>
|
||||
|
||||
<para><type> = The Logging format time, indicated by a number
|
||||
from 0 to 3, representing the differnt formats available as outlined
|
||||
above. </para>
|
||||
|
||||
<para>The output is as follows:</para>
|
||||
|
||||
<screen>>logserv< set logtype 3
|
||||
-LogServ- LOGTYPE set to 3</screen>
|
||||
|
||||
<para><emphasis role="bold">Viewing the current Logtype setting</emphasis></para>
|
||||
|
||||
<para>To view the current logtype selected, simple type:</para>
|
||||
|
||||
<screen>/msg LogServ set list</screen>
|
||||
|
||||
<para>And all the current settings (the rest will be explained later in
|
||||
this document) are displayed. The output is as follows:</para>
|
||||
|
||||
<screen>>LogServ< set list
|
||||
-LogServ- Current LogServ settings:
|
||||
-LogServ- LOGTYPE: 3 Log Type
|
||||
-LogServ- LOGSIZE: 2000 Bytes
|
||||
-LogServ- LOGAGE: 3600 Seconds</screen>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>LOGSIZE SETTING</title>
|
||||
|
||||
<para>LogServ stores logs in two places on your Shell. Live logs, or
|
||||
logs that are currently being written are stored in the
|
||||
~/NeoStats/logs/chanlogs/ directory, and these the logs that are
|
||||
currently being updated. When the log reaches a certian size, or age, it
|
||||
is closed, and moved to a the ~/NeoStats/ChanLogs/ directory where you
|
||||
can process the log files. The LogFile size settings specifies how big a
|
||||
"live log" is allowed to reach before it is moved to the final
|
||||
directory. By default, LogServ will rotate all files larger than 1Mb,
|
||||
and this should be satisfactory for most users. </para>
|
||||
|
||||
<para><emphasis role="bold">Changing the LogSize to switch at.
|
||||
</emphasis></para>
|
||||
|
||||
<para>To change the size at which a logfile will switch at, use the
|
||||
following format:</para>
|
||||
|
||||
<screen>/msg SecureServ set logsize <bytes></screen>
|
||||
|
||||
<para>Where:</para>
|
||||
|
||||
<para><bytes> = if the file is larger than this size, it is
|
||||
"swapped"</para>
|
||||
|
||||
<para>The output is as follows:</para>
|
||||
|
||||
<screen>>logserv< set logsize 20000
|
||||
<LogServ> LOGSIZE set to 20000 by Fish
|
||||
-LogServ- LOGSIZE set to 20000</screen>
|
||||
|
||||
<para><emphasis role="bold">Viewing the current setting</emphasis></para>
|
||||
|
||||
<para>Please refer to the previous section.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>LOGAGE SETTING</title>
|
||||
|
||||
<para>In addition to the logsize setting above, LogServ will rotate a
|
||||
logfile after it has been opened for a period of time. This is so
|
||||
channels that might not have much activity still get a chance to be
|
||||
updated often.</para>
|
||||
|
||||
<para>The logage setting can be changed via:</para>
|
||||
|
||||
<screen>/msg LogServ set logage <seconds></screen>
|
||||
|
||||
<para>Where:</para>
|
||||
|
||||
<para><seconds> = The number of seconds the log file must be
|
||||
opened for before rotating. Minium value is 5 minutes, but its
|
||||
recomended not to go under 1 Hour (3600 seconds)</para>
|
||||
|
||||
<para>The output is as follows:</para>
|
||||
|
||||
<screen>>LogServ< set logage 7200
|
||||
<LogServ> LOGAGE set to 7200 by Fish
|
||||
-LogServ- LOGAGE set to 7200</screen>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1>
|
||||
<title>Configuring LogServ to Log Individual Channels</title>
|
||||
|
||||
<para>Obviously, we dont want to log every single IRC channel on the
|
||||
network, so you have to tell LogServ what channels you wish to Log. This
|
||||
is fairly basic. You have 4 options:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Add A channel</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Delete A channel</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Change a Channels settings</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>View the Channel list. </para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>Each Setting is described in the following section.</para>
|
||||
|
||||
<sect2>
|
||||
<title>Adding a Channel</title>
|
||||
|
||||
<para>Adding a Channel to be logged is instantanous, and the channel
|
||||
will begin logging straight after this command has complete. LogServ
|
||||
will join the channel, but not give itself any channel modes, so the
|
||||
channel owner can decide if it should be OP'd or not. </para>
|
||||
|
||||
<para>The Syntax is:</para>
|
||||
|
||||
<screen>/msg LogServ chans add <name> <public> <url></screen>
|
||||
|
||||
<para>Where:</para>
|
||||
|
||||
<para><name> = The name of the channel you wish to Log. Must
|
||||
exist on the IRC network.</para>
|
||||
|
||||
<para><public> = Indicates weather to show the channel to
|
||||
non-privledged users in the channel logging list or not. Either the
|
||||
words "public" or "private". If a invalid entry is
|
||||
specified, defaults to Public. Currently doesn't do anything.
|
||||
</para>
|
||||
|
||||
<para><url> = For informational purposes only. Displays the Web
|
||||
Address that users can visit to view the channel statistics. </para>
|
||||
|
||||
<para>The output is as follows:</para>
|
||||
|
||||
<screen>>logserv< chans add #ircop public http://www.neostats.net
|
||||
<LogServ> Fish used CHANS
|
||||
-LogServ- Stats URL is set to http://www.neostats.net
|
||||
-LogServ- Now Logging #ircop
|
||||
<LogServ> Fish Activated Logging on #ircop</screen>
|
||||
|
||||
<para>And the channel members of #ircop shall see:</para>
|
||||
|
||||
<screen>--> LogServ (LogBot@stats.dynam.ac) has joined #ircop
|
||||
-LogServ/#ircop- Fish Actived Channel Logging on #ircop
|
||||
-LogServ/#ircop- Stats will be avaiable at http://www.neostats.net when Logs are processed next</screen>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Deleting a Channel</title>
|
||||
|
||||
<para>Deleting a channel from LogServ means it will no longer log any
|
||||
activity in that channel. If the channel is currently active, LogServ
|
||||
shall part the channel, Close the "live log" and move it to its
|
||||
processing directory. </para>
|
||||
|
||||
<para>The Syntax is:</para>
|
||||
|
||||
<screen>/msg LogServ chans del <name></screen>
|
||||
|
||||
<para>Where:</para>
|
||||
|
||||
<para><name> = The name of a channel we are currently logging.
|
||||
</para>
|
||||
|
||||
<para>The output is as follows:</para>
|
||||
|
||||
<screen>>LogServ< chans del #ircop
|
||||
<LogServ> Fish used CHANS
|
||||
-LogServ- Deleted Channel #ircop
|
||||
<LogServ> Fish deleted #ircop from Channel Logging</screen>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Changing Channel Settings</title>
|
||||
|
||||
<para>You can change the URL location displayed when viewing the channel
|
||||
list using the chans set command. </para>
|
||||
|
||||
<para>The Syntax is:</para>
|
||||
|
||||
<screen>/msg logserv chans set URL <name> <newurl></screen>
|
||||
|
||||
<para>Where:</para>
|
||||
|
||||
<para><name> = The channel name you wish to alter</para>
|
||||
|
||||
<para><newurl> = The new URL you wish to set. </para>
|
||||
|
||||
<para>The output is as follows:</para>
|
||||
|
||||
<screen><LogServ> Fish used CHANS
|
||||
-LogServ- Changed URL for #blah to: http://nowhere.com
|
||||
<LogServ> Fish changed the URL for #blah to: http://nowhere.com</screen>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Viewing the Channel List</title>
|
||||
|
||||
<para>The channel list can be viewed by issuing the following command:</para>
|
||||
|
||||
<screen>/msg logserv chans list</screen>
|
||||
|
||||
<para>The output is as follows:</para>
|
||||
|
||||
<screen>-LogServ- Monitored Channel List:
|
||||
-LogServ- #blah (-) URL: http://nowhere.com
|
||||
-LogServ- #bl (-) URL: None
|
||||
-LogServ- #ircop (*) URL: http://www.neostats.net
|
||||
-LogServ- End Of List.</screen>
|
||||
|
||||
<para>The (-) or (*) indicate if the channel is currently active.
|
||||
</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1>
|
||||
<title>Misc Commands</title>
|
||||
|
||||
<para>There are several other commands available. These are documented
|
||||
below:</para>
|
||||
|
||||
<sect2>
|
||||
<title>STATS</title>
|
||||
|
||||
<para>The stats command shows some basic stats about the Logging
|
||||
Activities. With future versions its expected the amount of information
|
||||
will increase with this command. </para>
|
||||
|
||||
<para>The Syntax is:</para>
|
||||
|
||||
<screen>/msg LogServ stats</screen>
|
||||
|
||||
<para>And the output is</para>
|
||||
|
||||
<screen><LogServ> Fish used STATS
|
||||
-LogServ- LogServ Stats:
|
||||
-LogServ- Monitoring 3 channels</screen>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>VERSION</title>
|
||||
|
||||
<para>This displays LogServ's Version number</para>
|
||||
|
||||
<para>The Syntax is:</para>
|
||||
|
||||
<screen>/msg LogServ version</screen>
|
||||
|
||||
<para>And the Output is:</para>
|
||||
|
||||
<screen><LogServ> Fish used VERSION
|
||||
-LogServ- LogServ Version Information
|
||||
-LogServ- LogServ Version: $Rev: 19 $ Compiled Jan 13 2004 at 20:08:11</screen>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>ABOUT</title>
|
||||
|
||||
<para>This displays a brief message to users describing the function of
|
||||
LogServ:</para>
|
||||
|
||||
<para>The Syntax is:</para>
|
||||
|
||||
<screen>/msg LogServ About</screen>
|
||||
|
||||
<para>And the output is:</para>
|
||||
|
||||
<screen><LogServ> Fish used ABOUT
|
||||
-LogServ- LogServ logs channel activities to produce HTML pages describing some interesting Statistics
|
||||
-LogServ- about that channel. If you wish to have your channel logged,
|
||||
-LogServ- please contact the Network Adminstration</screen>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1>
|
||||
<title>LogFile Parsers</title>
|
||||
|
||||
<para>As mentioned in the introduction, LogServ only generates Log files,
|
||||
you still need to get some program to create the HTML pages from the
|
||||
logfiles. </para>
|
||||
|
||||
<para>We currently recomend Onis for parsing the logfiles. You can obtain
|
||||
a copy of Onis from http://verplant.org/onis/</para>
|
||||
|
||||
<para>We have provided a Sample Onis Configuration based on Onis 0.4.9,
|
||||
and a shell script that can be executed by Crontab to process all your
|
||||
Logfiles. This sample configuration and Shell script are installed into
|
||||
the ~/NeoStats/ChanLogs/ directory by default.</para>
|
||||
|
||||
<para>This shell script will automatically go through each of the channels
|
||||
logs running Onis to update the HTML pages. At the top of the script are
|
||||
some variables that should be setup to configure where you wish to place
|
||||
the resultant HTML files, and where Onis is installed. You should read the
|
||||
begining of the file OnisDoLogs.sh to figure out what needs to be
|
||||
configured.</para>
|
||||
|
||||
<para>This shell script assumes that you have a webserver on the same
|
||||
shell as NeoStats. If not, its upto the reader to implement some sort of
|
||||
FTP/SCP script to transfer either the logfiles, or the output from Onis to
|
||||
his webserver. </para>
|
||||
|
||||
<para>Additionally, if you are using a different LogFile parser, other
|
||||
than Onis, you will have to develop your own script or method for updating
|
||||
the HTML pages. If you do develop a script for another Logfile Processor,
|
||||
please send us a copy, so we may include it in future versions. </para>
|
||||
|
||||
<para>The logs for each channel are placed into their own directory within
|
||||
the ChanLogs directory, so if you are logging #neostats, The logfiles
|
||||
would be placed in ChanLogs/#neostats. </para>
|
||||
|
||||
<warning>
|
||||
<para># is a special charactor on most shells and needs to be escaped.
|
||||
So if you wish to change directory to #neostats, you would actually type
|
||||
cd \#neostats. Keep this in mind when developing any scripts. </para>
|
||||
</warning>
|
||||
|
||||
<para>Each Logfile is timestamped with the time it was rotated out of the
|
||||
logs/chanlogs/ directory, with the format <name>-YYMMDDHHMMSS.log</para>
|
||||
</sect1>
|
||||
</article>
|
100
README.LogServ
100
README.LogServ
|
@ -1,2 +1,98 @@
|
|||
LogServ 1.0
|
||||
=====================================================================
|
||||
|
||||
FloodServ Manual
|
||||
|
||||
1. Installing and configuring FloodServ
|
||||
---------------------------------------
|
||||
|
||||
This section explains how to install and configure FloodServ. We
|
||||
recommend that you read this section in full before trying to install
|
||||
FloodServ.
|
||||
|
||||
If you have any problems NOT addressed in this or other documents,
|
||||
please see the Support section for how to contact us for help.
|
||||
|
||||
|
||||
1.1 General notes
|
||||
-----------------
|
||||
|
||||
All commands and filenames are case sensitive. This means that
|
||||
NeoStats, floodserv, and FLOODSERV are all different things. When
|
||||
typing commands you should use the same case as provided in this
|
||||
file or things will not work correctly.
|
||||
|
||||
|
||||
1.2 Getting Started
|
||||
-------------------
|
||||
|
||||
First, you need to uncompress FloodServ. To do this type the following:
|
||||
|
||||
tar xvfz FloodServ3.0.x.tar.gz
|
||||
|
||||
This will vary depending on the version you run of FloodServ. Change the
|
||||
x in FloodServ3.0.x.tar.gz to match your filename e.g.
|
||||
|
||||
FloodServ3.0.0.tar.gz
|
||||
|
||||
For systems that don't run a new version of tar you need to do this:
|
||||
|
||||
gzip -d FloodServ3.0.x.tar.gz
|
||||
tar xvf FloodServ3.0.x.tar
|
||||
|
||||
1.3 Running configure
|
||||
---------------------
|
||||
|
||||
You must first run the configure script so that FloodServ can determine
|
||||
your build environment.
|
||||
|
||||
To run configure, you must first change to the directory where you
|
||||
uncompressed FloodServ. e.g.
|
||||
|
||||
cd ~/FloodServ3.0.0
|
||||
|
||||
Your prompt should look something like:
|
||||
|
||||
[user@host FloodServ3.0.0]
|
||||
|
||||
Now type:
|
||||
|
||||
./configure
|
||||
|
||||
The configure script will then check to see if all necessary programs to
|
||||
run FloodServ are installed on your system.
|
||||
|
||||
Optional settings:
|
||||
------------------
|
||||
|
||||
There are some options you can pass to configure if you wish.
|
||||
|
||||
Debugging:
|
||||
|
||||
Most users will never look at this option. It compiles FloodServ
|
||||
with debugging turned on. I would only suggest using this if you
|
||||
have problems and are about to fill out a bug form.
|
||||
|
||||
--enable-debug Enables Debugging
|
||||
|
||||
|
||||
1.4 Compiling FloodServ
|
||||
-----------------------
|
||||
|
||||
Ok, you should now be back at a shell prompt, type:
|
||||
|
||||
make
|
||||
|
||||
it will go through the source and compile it into an executable
|
||||
binary file.
|
||||
|
||||
|
||||
1.5 Installing FloodServ
|
||||
------------------------
|
||||
|
||||
To install FloodServ type:
|
||||
|
||||
make install
|
||||
|
||||
This will create the necessary files, and copy them to the
|
||||
installation directory.
|
||||
|
||||
|
||||
|
|
49
README.LogServ.html
Normal file
49
README.LogServ.html
Normal file
File diff suppressed because one or more lines are too long
629
README.LogServ.xml
Normal file
629
README.LogServ.xml
Normal file
|
@ -0,0 +1,629 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
<article>
|
||||
<title>ModuleName 3.0 Manual</title>
|
||||
|
||||
<para>Welcome to the ModuleName Manual. This document will aid you in
|
||||
setting up and running ModuleName on your IRC network.</para>
|
||||
|
||||
<para><add module introduction></para>
|
||||
|
||||
<para>ModuleName is Copyright, 2005 by Justin Hammond.</para>
|
||||
|
||||
<sect1>
|
||||
<title>Prerequisites and Installation.</title>
|
||||
|
||||
<para>ModuleName is designed to run on Top of NeoStats. The Following
|
||||
requirements at the time of writing are required for
|
||||
NeoStats:<itemizedlist>
|
||||
<listitem>
|
||||
<para>A Linux or BSD based Server or Shell.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>A IRCd supported by NeoStats. See the <link
|
||||
linkend="???">NeoStats</link> website.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Some basic Unix administration Skill</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Of Course, a IRC network to connect it all together.</para>
|
||||
</listitem>
|
||||
</itemizedlist></para>
|
||||
|
||||
<para>Please refer to the NeoStats website for more information on the
|
||||
requirements</para>
|
||||
|
||||
<para>ModuleName itself requires the following:<itemizedlist>
|
||||
<listitem>
|
||||
<para>NeoStats 3.0 or Higher correctly installed and Running</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>The time to read this entire document. </para>
|
||||
</listitem>
|
||||
</itemizedlist></para>
|
||||
|
||||
<sect2>
|
||||
<title>Compiling and Installation</title>
|
||||
|
||||
<para>As long as you have successfully setup NeoStats, and installed it
|
||||
correctly, Compiling ModuleName is very simple and straight forward.
|
||||
First you must extract the files from the download package. This is as
|
||||
simple as:</para>
|
||||
|
||||
<screen>bash$<command> tar -xzf ModuleName-<ver>.tar.gz</command></screen>
|
||||
|
||||
<para>This should then create a directory called
|
||||
ModuleName-<version> where <version> is the Version of
|
||||
ModuleName. Then Proceed to Change into the ModuleName directory, and
|
||||
run Configure as follows:<screen>bash$<command>./configure [--enable-debug | --with-neostats=<dir>]</command></screen></para>
|
||||
|
||||
<para>--enable-debug is only useful for diagnostics purposes when used
|
||||
in conjunction with debugging tools. There should be no need to use this
|
||||
option on a day to day basis</para>
|
||||
|
||||
<para>--with-neostats=<dir> should be used if your neostats
|
||||
directory is not in a standard location (~/NeoStats/). Replace
|
||||
<dir> with the full path to your NeoStats installation directory
|
||||
(NOT SOURCE DIRECTORY)</para>
|
||||
|
||||
<para>Configuring ModuleName will look something like the following
|
||||
screen:</para>
|
||||
|
||||
<screen>Fishs-Mac:~/Documents/Dev/ModuleName justin$ ./configure
|
||||
checking whether to enable maintainer-specific portions of Makefiles... no
|
||||
checking for a BSD-compatible install... /usr/bin/install -c
|
||||
checking whether build environment is sane... yes
|
||||
checking for gawk... no
|
||||
checking for mawk... no
|
||||
checking for nawk... no
|
||||
|
||||
<snip>
|
||||
|
||||
checking To Enable AutoTools Debug Mode?... no
|
||||
checking silent building of source files... Enabled
|
||||
configure: creating ./config.status
|
||||
config.status: creating Makefile
|
||||
config.status: creating modconfig.h
|
||||
config.status: modconfig.h is unchanged
|
||||
config.status: executing depfiles commands
|
||||
Configuration complete.
|
||||
Press Enter key to read the release notes</screen>
|
||||
|
||||
<para>The Configure process will then prompt you to read the release
|
||||
notes. You are encouraged to read this document throughly as it might
|
||||
contain important information about the current version of ModuleName
|
||||
that isn't covered in the manual.</para>
|
||||
|
||||
<para>If the configuration did not produce a error, you may then move
|
||||
onto Compiling ModuleName. Compiling is simply just issuing the "make"
|
||||
command (or "gmake" if you are running BSD):</para>
|
||||
|
||||
<screen>Fishs-Mac:~/Documents/Dev/ModuleName justin$ make
|
||||
make -s all-am
|
||||
Compiling Helpers.c: [OK]
|
||||
Compiling ModuleName.c: [OK]
|
||||
Compiling scan.c: [OK]
|
||||
Compiling OnJoinBot.c: [OK]
|
||||
Compiling ModuleName_help.c: [OK]
|
||||
Compiling update.c: [OK] </screen>
|
||||
|
||||
<para>Again, check for Error messages. As long as there are not error
|
||||
messages, "make install" will install ModuleName, this README file, and
|
||||
any auxiliary files needed into your NeoStats directory:</para>
|
||||
|
||||
<screen>Fishs-Mac:~/Documents/Dev/ModuleName justin$ make install
|
||||
Installing ModuleName.so: [OK]
|
||||
Installing viri.dat: [OK]
|
||||
Installing README.ModuleName: [OK]
|
||||
Installing README.ModuleName.html: [OK] </screen>
|
||||
|
||||
<para>If you receive *ANY* errors at all during the this process, please
|
||||
post them on our Support boards, at
|
||||
http//www.neostats.net/boards/</para>
|
||||
|
||||
<para>Once Installation is complete, you can either configure NeoStats
|
||||
to load ModuleName when it starts, or load ModuleName via IRC.</para>
|
||||
|
||||
<para>To Configure NeoStats to automatically load ModuleName when it
|
||||
boots, modify the neostats.conf file and add ModuleName to the list of
|
||||
modules to load:</para>
|
||||
|
||||
<screen>MODULENAME = {
|
||||
"statserv",
|
||||
"hostserv",
|
||||
"ModuleName",
|
||||
} </screen>
|
||||
|
||||
<para>To load ModuleName via IRC, you must make sure you have the
|
||||
appropriate permissions and issue the following command:</para>
|
||||
|
||||
<para><command>/msg neostats load ModuleName</command></para>
|
||||
|
||||
<para>Thats it. ModuleName is now loaded and ready for use (in fact, it
|
||||
will already be running now, but read on for further
|
||||
information.)</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1>
|
||||
<title>Basic Configuration</title>
|
||||
|
||||
<para>ModuleName is completely configured online via IRC. When you first
|
||||
start up ModuleName, it attempts some "Sane" defaults for you get started
|
||||
with, but you should always review these settings as soon as you install.
|
||||
There are a few important settings you may want to review right away. They
|
||||
are:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>blah blah</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>blah blah</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>blah blah</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>These are outlined below:</para>
|
||||
|
||||
<sect2>
|
||||
<title>Blah Blah</title>
|
||||
|
||||
<para>Blah Blah</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Blah Blah</title>
|
||||
|
||||
<para>BLAH BLAH</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1>
|
||||
<title>Detailed Configuration</title>
|
||||
|
||||
<para>ModuleName attempts to be as configurable as possible in order to
|
||||
cater for each individual networks requirements. This in turn though makes
|
||||
the configuration very complex. There are many many settings with
|
||||
ModuleName that affect how it operates, how it responds and even, how
|
||||
affects the performance of NeoStats Overall. Out of the box, ModuleName
|
||||
provides sensible defaults for these settings, but you may wish to read
|
||||
this section for details on exactly what each option does, and its affect
|
||||
on how ModuleName operates.</para>
|
||||
|
||||
<para>The following list summaries the available options you can set in
|
||||
ModuleName</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>NICK</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>ALTNICK</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>USER</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>HOST</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>REALNAME</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>EXCLUSIONS</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>BLAHBLAH</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>To change any of these settings, you use the Set Interface in
|
||||
ModuleName. Eg:</para>
|
||||
|
||||
<screen>/msg ModuleName set <option> <params></screen>
|
||||
|
||||
<para>To view the current settings, issue the following command:</para>
|
||||
|
||||
<screen>/msg ModuleName set list</screen>
|
||||
|
||||
<para>The following Sections describes the different options, their
|
||||
params, and the effect on ModuleName in detail.</para>
|
||||
|
||||
<sect2>
|
||||
<title>NICK Setting</title>
|
||||
|
||||
<para>This setting allows you to change the Nickname that ModuleName
|
||||
uses when it connects to your network. If you change this setting make
|
||||
sure you update your NeoNet account, otherwise you might loose access to
|
||||
the Secure IRC-Chat site if we perform a check on your network and can't
|
||||
find "ModuleName" running.</para>
|
||||
|
||||
<warning>
|
||||
<para>This option requires you to reload ModuleName or restart
|
||||
NeoStats to take effect.</para>
|
||||
</warning>
|
||||
|
||||
<screen>/msg ModuleName set NICK <nickname></screen>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>ALTNICK Setting</title>
|
||||
|
||||
<para>This setting allows you to set a "Backup" nickname used for
|
||||
ModuleName. If the primary Nickname in the NICK Setting is not
|
||||
available, ModuleName will use this nickname, and if that is not
|
||||
available, it will use a automatically generated nickname</para>
|
||||
|
||||
<warning>
|
||||
<para>This option requires you to reload ModuleName or restart
|
||||
NeoStats to take effect</para>
|
||||
</warning>
|
||||
|
||||
<screen>/msg ModuleName set ALTNICK <nickname></screen>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>USER Setting</title>
|
||||
|
||||
<para>This option allows you to customize the "user" or ident portion of
|
||||
the ModuleName Bot. </para>
|
||||
|
||||
<warning>
|
||||
<para>This option requires you to reload ModuleName or restart
|
||||
NeoStats to take effect</para>
|
||||
</warning>
|
||||
|
||||
<screen>/msg ModuleName set USER <user></screen>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>HOST Setting</title>
|
||||
|
||||
<para>This option allows you to customize the Hostname that ModuleName
|
||||
uses when it signs onto your Network. It defaults to the Standard
|
||||
Hostname specified in your NeoStats configuration.</para>
|
||||
|
||||
<warning>
|
||||
<para>This option requires you to reload ModuleName or restart
|
||||
NeoStats to take effect</para>
|
||||
</warning>
|
||||
|
||||
<screen>/msg ModuleName set HOST <host></screen>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>REALNAME Setting</title>
|
||||
|
||||
<para>This option allows you to customize the realname (or Gecos) that
|
||||
ModuleName uses when it signs onto your Network. </para>
|
||||
|
||||
<warning>
|
||||
<para>This option requires you to reload ModuleName or restart
|
||||
NeoStats to take effect</para>
|
||||
</warning>
|
||||
|
||||
<screen>/msg ModuleName set REALNAME <realname></screen>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>EXCLUSIONS Setting</title>
|
||||
|
||||
<para>This option enables ModuleName to use the Global Exclusions list
|
||||
that is control by the main NeoStats bot. This allows you to maintain a
|
||||
"global" exclusion list that is applicable to all modules in NeoStats,
|
||||
and then only apply individual exclusions to ModuleName. </para>
|
||||
|
||||
<warning>
|
||||
<para>This option only becomes effective on new users joining your
|
||||
Network. Existing users that are already connected when you enable
|
||||
this option will not be rescanned for exclusions, as the Global
|
||||
Exclusions are only effected when a new user signs onto the Network.
|
||||
In order to make the global exclusions list effective straight away,
|
||||
you should restart NeoStats.</para>
|
||||
</warning>
|
||||
|
||||
<para>If you wish to enable or disable the Global Exclusions lists,
|
||||
issue the following command</para>
|
||||
|
||||
<screen>/msg ModuleName set EXCLUSIONS <ON/OFF></screen>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>BLAH Blah Setting</title>
|
||||
|
||||
<para>blah blah description</para>
|
||||
|
||||
<para>To Change the setting, issue the following Command:</para>
|
||||
|
||||
<screen>/msg ModuleName set blahblah <blah> </screen>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1>
|
||||
<title>Operational Commands</title>
|
||||
|
||||
<para>ModuleName has a number of commands that you can issue it in order
|
||||
to perform checks or operations on your IRC network. These commands aid
|
||||
Administrators in keeping their network secure, and keeping ModuleName
|
||||
upto date.</para>
|
||||
|
||||
<para>The following list summarizes these commands:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>HELP</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>VERSION</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>ABOUT</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>CREDITS</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>LEVELS</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>SET</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>EXCLUDE</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>BLAHBLAH</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>The following Sections Describe these commands in detail</para>
|
||||
|
||||
<sect2>
|
||||
<title>HELP Command</title>
|
||||
|
||||
<para>The help command allows the users to access the online help for
|
||||
the different commands available. You can get general help about the
|
||||
available commands, or can access more specific information about a
|
||||
command.</para>
|
||||
|
||||
<para>To see the help pages, use the following format:</para>
|
||||
|
||||
<screen>/msg ModuleName help [command]
|
||||
</screen>
|
||||
|
||||
<para>command is optional and only required if you want more specific
|
||||
information about a particular command</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>VERSION Command</title>
|
||||
|
||||
<para>This command displays the Version of ModuleName, and the dat
|
||||
files. </para>
|
||||
|
||||
<para>The format of the command is as follows:</para>
|
||||
|
||||
<screen>/msg ModuleName version
|
||||
</screen>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>ABOUT Command</title>
|
||||
|
||||
<para>The about command shows a brief description of the Bot and its
|
||||
purpose.</para>
|
||||
|
||||
<para>The format of the command is as follows:</para>
|
||||
|
||||
<screen>/msg ModuleName about
|
||||
</screen>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>CREDITS Command</title>
|
||||
|
||||
<para>The credits command shows details about the authors or
|
||||
contributors of to the Module</para>
|
||||
|
||||
<para>The format of the command is as follows:</para>
|
||||
|
||||
<screen>/msg ModuleName credits
|
||||
</screen>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>LEVELS Command</title>
|
||||
|
||||
<para>The levels command allows you to adjust the security of each
|
||||
command available in this module. You can make certian commands only
|
||||
available to higher "level" users in NeoStats. </para>
|
||||
|
||||
<para>For more information about NeoStats Levels and Security, please
|
||||
consult the NeoStats Manual</para>
|
||||
|
||||
<para>To list the currently configured levels, issue the following
|
||||
command:</para>
|
||||
|
||||
<screen>/msg ModuleName levels list
|
||||
</screen>
|
||||
|
||||
<para>To change the minimum level required to execute a command, issue
|
||||
the following command:</para>
|
||||
|
||||
<screen>/msg ModuleName levels <command> <level></screen>
|
||||
|
||||
<para>Where:</para>
|
||||
|
||||
<para>command = is the actual command name you wish to modify</para>
|
||||
|
||||
<para>level = a number between 0 and 200 that specifies the new
|
||||
level.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>SET Command</title>
|
||||
|
||||
<para>The set command allows you to modify settings applicable to this
|
||||
module. For a complete description of the available set options, please
|
||||
consult the Detailed Configuration Section of this manual.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>EXCLUDE Command</title>
|
||||
|
||||
<para>Exclusion lists allow you to specify certain Hostmasks, Servers,
|
||||
or Channels that should be excluded from monitoring by ModuleName. This
|
||||
exclusion list would allow a administrator to say, allow users on that
|
||||
are matched against Trojans, when the administrator has verified that
|
||||
the Trojan does not in fact exist on the users host.</para>
|
||||
|
||||
<caution>
|
||||
<para>Exclusions should be setup for your Services Server, so that
|
||||
ModuleName does not try to scan ChanServ, or NickServ, or any of the
|
||||
bots relating to Nickname protection.</para>
|
||||
</caution>
|
||||
|
||||
<para>With NeoStats 3.0, you should also be aware that there are two
|
||||
types of Exclusion Lists. There are "Global" exclusion lists that all
|
||||
modules may optionally use, and there is module specific exclusion
|
||||
lists. ModuleName defaults to not using the Global Exclusion lists. You
|
||||
can enable it by the following command:<screen>/msg ModuleName set exclusions on</screen></para>
|
||||
|
||||
<para><emphasis role="bold">Adding a Entry</emphasis></para>
|
||||
|
||||
<para>To add a entry to the Exclusion list, use the following
|
||||
format:</para>
|
||||
|
||||
<screen>/msg ModuleName exclude add <host/Server/Channel/UserHost> <pattern> <reason></screen>
|
||||
|
||||
<para>Where:</para>
|
||||
|
||||
<para><Host/Server/Channel/UserHost> = The type of exclusion you
|
||||
are adding. The different types are:<itemizedlist>
|
||||
<listitem>
|
||||
<para>Host - The Users real (Internet) Hostname</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Server - The Users server they are connecting to. You should
|
||||
ensure you add a exclusion for your Services Server</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Channel - A specific channel on your IRC Network</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>UserHost - The users Virtual Hostname (IRC)</para>
|
||||
</listitem>
|
||||
</itemizedlist></para>
|
||||
|
||||
<para><pattern> = The pattern you wish to match on. May include
|
||||
wildcard charactors such as * and ?</para>
|
||||
|
||||
<para><reason> = a short description of the exclusion, for
|
||||
operator reference only.</para>
|
||||
|
||||
<para>The output is as follows:</para>
|
||||
|
||||
<screen>[13:20] -ModuleName- Added *.blah.com (userhost) to exclusion list
|
||||
[13:20] ModuleName Fish added *.blah.com (userhost) to the exclusion list</screen>
|
||||
|
||||
<para><emphasis role="bold">Listing an Entry</emphasis></para>
|
||||
|
||||
<para>To list the Exclusions simple type:</para>
|
||||
|
||||
<screen>/msg ModuleName exclude list</screen>
|
||||
|
||||
<para>And all the current exclusions are listed. Additionally, a
|
||||
Position number is provided for use with the delete command. The output
|
||||
is as follows:</para>
|
||||
|
||||
<screen>[13:21] -ModuleName- Exclusion list:
|
||||
[13:21] -ModuleName- #bothouse (Channel) Added by Fish on Sat Aug 13 2005 01:20 AM SGT for Requested
|
||||
[13:21] -ModuleName- #ircop (Channel) Added by Fish on Sat Aug 13 2005 07:40 PM SGT for IRCop channel
|
||||
[13:21] -ModuleName- *irc-chat.net (Host) Added by Fish on Tue Aug 09 2005 10:13 PM SGT for Services Exclusion
|
||||
[13:21] -ModuleName- chieftess!*@* (Userhost) Added by Fish on Tue Aug 09 2005 10:14 PM SGT for buggy client
|
||||
[13:21] -ModuleName- *.blah.com (Userhost) Added by Fish on Sun Jan 15 2006 01:20 PM SGT for Cause Blah.com is cool
|
||||
[13:21] -ModuleName- End of list.</screen>
|
||||
|
||||
<para><emphasis role="bold">Deleting an Entry</emphasis></para>
|
||||
|
||||
<para>To delete a entry, you should first lookup the Position of the
|
||||
entry that you wish to delete. The format of the command is as
|
||||
follows:</para>
|
||||
|
||||
<screen>/msg ModuleName exclude del <pattern></screen>
|
||||
|
||||
<para>Where:</para>
|
||||
|
||||
<para><pattern> is the pattern of the entry you wish to delete in
|
||||
the list</para>
|
||||
|
||||
<para>The output of the command is as follows:</para>
|
||||
|
||||
<screen>[13:22] ModuleName Fish used EXCLUDE
|
||||
[13:22] -ModuleName- *.blah.com delete from exclusion list</screen>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>BLAHBLAH Command</title>
|
||||
|
||||
<para>That command forces ModuleName to check the Dat File version at
|
||||
<link linkend="???">http://secure.irc-chat.net/</link> and download the
|
||||
latest version if required.</para>
|
||||
|
||||
<warning>
|
||||
<para>Repeated use of this command in a short period of time will
|
||||
result in your account at secure.irc-chat.net being suspended for
|
||||
abuse. Use with CARE</para>
|
||||
</warning>
|
||||
|
||||
<para>The format of the command is as follows:</para>
|
||||
|
||||
<screen>/msg ModuleName update</screen>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1>
|
||||
<title>Optional Chapter</title>
|
||||
|
||||
<para>use this to write any optional information etc etc etc</para>
|
||||
|
||||
<sect2>
|
||||
<title>Optional Sub Heading</title>
|
||||
|
||||
<para>Subheading</para>
|
||||
|
||||
<sect3>
|
||||
<title>Minor heading</title>
|
||||
|
||||
<para>minor heading</para>
|
||||
</sect3>
|
||||
</sect2>
|
||||
</sect1>
|
||||
</article>
|
Reference in a new issue