Differences between revisions 9 and 10
Revision 9 as of 2013-01-01 08:58:23
Size: 3850
Comment:
Revision 10 as of 2013-02-17 19:02:32
Size: 4039
Comment: added link to it translation + fixes
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: English-~ ~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: English - [[it/InspIRCd|Italiano]] -~
Line 4: Line 4:
InspIRCd Modular IRCd written in C++. InspIRCd IRC daemon written entirely from scratch. InspIRCd's website has recently moved to [[http://inspircd.github.com/|GitHub]] InspIRCd is a modular IRCd (an IRC daemon) written entirely from scratch in C++. InspIRCd's website has recently moved to [[http://inspircd.github.com/|GitHub]]
Line 10: Line 10:
Install inspircd along with its dependencies Install the package DebianPkg:inspircd along with its dependencies
Line 17: Line 17:
Edit default configuration files in /etc/inspircd/ and '''this directory and files are owned by user irc. So you may edit file as ''irc'' user or change the permission to ''irc'' user after editing'''. Edit the default configuration files in {{{/etc/inspircd/}}} '''This directory and the files in it are owned by the user irc. So you may edit them as the ''irc'' user or you can change the ownership to the ''irc'' user after you are done editing'''.
Line 19: Line 19:
For minimum configuration you need <server> and <bind>, may be <oper>. For a minimal configuration you need ''<server>'' and ''<bind>'', maybe ''<oper>'' too.
Line 23: Line 23:
Sample configuration files can be obtained from ''/usr/share/doc/inspircd/examples/'' and available modules location ''/usr/lib/inspircd/modules/'' Sample configuration files can be obtained from {{{/usr/share/doc/inspircd/examples/}}} and the available modules are located in {{{/usr/lib/inspircd/modules/}}}
Line 25: Line 25:
In your '''inspircd.conf''' you need to ''set full file path to any external file''. Example In your '''inspircd.conf''' you need to ''set the full path of the file for any external file''. Example:
Line 30: Line 30:
<include file="/etc/inspircd/opers.conf"> // you must edit the opers.conf example some duplicate error reported while testing around line 130 <include file="/etc/inspircd/opers.conf"> // you must edit the opers.conf example due to some duplicate error reported while testing, around line 130
Line 37: Line 37:
If you have used '''hash="md5"''' for storing password you need to load in ''/etc/inspircd/modules.conf'' If you have used '''hash="md5"''' for storing password you need to load in {{{/etc/inspircd/modules.conf}}}
Line 43: Line 43:
GnuTLS sample configuration for ''/etc/inspircd/inspircd.conf'' GnuTLS sample configuration for {{{/etc/inspircd/inspircd.conf}}}
Line 49: Line 49:
=== creating certificate ===
generate certificate and '''set ownership to user ''irc'''''.
=== Creating a certificate ===
Generate the certificate and '''set ownership to user ''irc'''''.
Line 56: Line 56:
Or using certtool or using certtool
Line 62: Line 62:
=== loading modules === === Loading modules ===
Line 64: Line 64:
Configuration for ''/etc/inspircd/modules.conf'' Configuration for {{{/etc/inspircd/modules.conf}}}:
Line 73: Line 73:
To test the configuration file switch to user irc from root. To test the configuration file, switch to user irc from root.
Line 78: Line 78:
Run the following command to test Run the following commands to test it:
Line 87: Line 87:
If it is running successfully, stop inspircd, copy changes from ''conf/inspircd''.conf to ''/etc/inspircd.conf'' and remove '''conf, logs''' directory from /etc/inspircd/ If it runs successfully, stop inspircd, copy changes from ''conf/inspircd.conf'' to ''/etc/inspircd.conf'' and remove '''conf, logs''' directories from /etc/inspircd/
Line 89: Line 89:
After finishing configuration edit /etc/default/inspircd to enable it After finishing configuration edit {{{/etc/default/inspircd}}} to enable it:
Line 94: Line 94:
Start inspircd Start inspircd:
Line 99: Line 99:
check log file in ''/var/log/inspircd.log'' Check the log file in {{{/var/log/inspircd.log}}}.
Line 101: Line 101:
Check wether ''inspircd'' is running: Check whether ''inspircd'' is running:
Line 106: Line 106:
Test with an IRC client. Test it with an IRC client.
Line 110: Line 110:
You may need to set '''Accept invalid SSL certificate''' like option in your IRC client, if you get following error. You may need to set an option similar to '''Accept invalid SSL certificate''' in your IRC client, if you get the following error:

Translation(s): English - Italiano


InspIRCd is a modular IRCd (an IRC daemon) written entirely from scratch in C++. InspIRCd's website has recently moved to GitHub

Installation

Install the package inspircd along with its dependencies

# apt-get install inspircd

Configuration

Edit the default configuration files in /etc/inspircd/ This directory and the files in it are owned by the user irc. So you may edit them as the irc user or you can change the ownership to the irc user after you are done editing.

For a minimal configuration you need <server> and <bind>, maybe <oper> too.

Backup the default configuration files and modify example configuration to use.

Sample configuration files can be obtained from /usr/share/doc/inspircd/examples/ and the available modules are located in /usr/lib/inspircd/modules/

In your inspircd.conf you need to set the full path of the file for any external file. Example:

...
<pid file="/var/run/inspircd.pid">
...
<include file="/etc/inspircd/opers.conf">   // you must edit the opers.conf example due to some duplicate error reported while testing, around line 130
...
<include file="/etc/inspircd/modules.conf">
...
<files motd="/etc/inspircd/inspircd.motd" rules="/etc/inspircd/inspircd.rules">

If you have used hash="md5" for storing password you need to load in /etc/inspircd/modules.conf

<module name="m_md5.so">

GnuTLS

GnuTLS sample configuration for /etc/inspircd/inspircd.conf

<bind address="" port="6697" type="clients" ssl="gnutls">
<gnutls cafile="" crlfile="" certfile="/etc/inspircd/cert.pem" keyfile="/etc/inspircd/key.pem" dh_bits="1024">

Creating a certificate

Generate the certificate and set ownership to user irc.

Using openssl

# openssl req -x509 -nodes -newkey rsa:1024 -keyout key.pem -out cert.pem

or using certtool

# certtool --generate-privkey --outfile key.pem
# certtool --generate-self-signed --load-privkey key.pem --outfile cert.pem

Loading modules

Configuration for /etc/inspircd/modules.conf:

<module name="m_ssl_gnutls.so">
<module name="m_spanningtree.so">

Note: we need to load m_ssl_gnutls.so module before m_spanningtree.so.

Testing

To test the configuration file, switch to user irc from root.

# su irc

Run the following commands to test it:

$ bash
$ cd /etc/inspircd
$ mkdir conf   // testing search for a conf directory
$ mkdir logs
$ cp inspircd.conf conf/
$ /usr/sbin/inspircd start  //it will start or report any error

If it runs successfully, stop inspircd, copy changes from conf/inspircd.conf to /etc/inspircd.conf and remove conf, logs directories from /etc/inspircd/

After finishing configuration edit /etc/default/inspircd to enable it:

INSPIRCD_ENABLED=1

Start inspircd:

# /etc/init.d/inspircd start

Check the log file in /var/log/inspircd.log.

Check whether inspircd is running:

# netstat -nplt | grep inspircd

Test it with an IRC client.

Common Errors

You may need to set an option similar to Accept invalid SSL certificate in your IRC client, if you get the following error:

'* Connection failed. Error: self signed certificate.? (18)'

See also