Install an IRC server

From Organic Design wiki
Revision as of 23:46, 7 May 2020 by Nad (talk | contribs) (Installation: simpler now)
Legacy.svg Legacy: This article describes a concept that has been superseded in the course of ongoing development on the Organic Design wiki. Please do not develop this any further or base work on this concept, this is only useful for a historic record of work done. You may find a link to the currently used concept or function in this article, if not you can contact the author to find out what has taken the place of this legacy item.
Procedure.svg Install an IRC server
Organic Design procedure

Server

An IRC server can be set up on the local LAN so that chat is available independently of the Internet connection. Traditionally the problem with setting up an IRC client has been configurational complexity, but the "Next Generation IRC client" (ngIRCd) can literally be set up in minutes. On Ubuntu or Debian systems it can be installed with apt-get install ngircd.

Installation

Installation is very straight forward using apt. Then configuration is all done via /etc/ngircd/ngircd.conf, with only a few settings needing to be changed from default such as the server name, SSL settings and channel additions. A global password may be a good idea as well.

The SSL settings can just refer to the existing LetsEncrypt files, e.g.ssl_dhparam /var/www/ssl/dhparams4096.pem;

CertFile = /var/www/ssl/le-latest/fullchain.pem
KeyFile  = /var/www/ssl/le-latest/privkey.pem
DHFile   = /var/www/ssl/dhparams4096.pem

Configuration

Only a few adjustments need to be made to the configuration in /etc/ngircd/ngircd.conf to get a functional server up and running; set the Name value of the server to an IP or domain name it can be reachable by within the LAN or Internet. You can set a global password which simplifies the set up of users (any username will work with the global password) by setting the Password value. We also add the PredefChannelsOnly = yes. You may wish to refine the configuration further by setting up specific users and channels.

  • You may beed to disable DNS lookups with DNS = no if connections are being refused due to IP addresses not matching their reverse lookup.
  • Another useful directive is MaxNickLength (all servers in the group must have the same value if this is used)

Connecting servers

To have IRC servers connect together to form larger channels, fill in [Server] sections in the configuration. For each server to connect to, specify the Name, Port (leave empty to allow only incoming connections from the remote server), and ensure that MyPassword and PeerPassword settings compliment each other in both directions.

  • Note: when one ngircd connects to another using SSL, then only local SSL clients will be connected to the remote server. To allow non-SSL clients to join a second [Server] section will need to be created which does not use SSL.

Debugging and testing

To get debugging output in the case of problems, stop the server from init.d and then run from shell with the -n switch to have output logged to STDOUT as follows:

/etc/init.d/ngircd stop
ngircd -n

Clients

We use the default instant messaging client that comes with Ubuntu which is Pidgin. First set up an account on your server from the "Buddies" menu. This is where you enter your name and the global password along with the address/Name of the server. In the advanced tab, there are options for connecting with SSL and for disabling the annoying Away message!

When the chat opens in the channel, select "Save" from the "Conversation" menu to save the channel in the "Buddies" list and allow it to connect on start up etc. You may want to right-click on it in the Buddie list and set it to "auto join" and "persistent" if you want to always be present in that channel while Pidgin is running.

If running Pidgin you can File:Od-pidgin-theme.zip which is currently just all the Skype ones (we've all been using mainly skype until now and would like to keep the same emoticons). It's a zipped up folder called "OD" which should be unpacked into ~/.purple/smileys. Next open the main Pidgin "Buddy list" window, then go into Preferences from the Tools menu, go to the Themes tab and select "OD" for the "Smiley theme". See this link for details about finding the Smileys folder on Windows.

Note: The theme icons currently work only for IRC and XMPP, to make them also work for other protocols paste an additional section into the "theme" text file.

Channels

#mediawiki
The MediaWiki IRC channel is on freenode, see freenode FAQ for details about registering a nickname etc

#organicdesign
We have our #organicdesign channel running from irc.organicdesign.co.nz, it uses a password to connect (ask your systems administrator for that) and connects over SSL on port 16667.

See also