ZNC is is typically installed on a Virtual Machine and used as a proxy to a public IRC server. The advantage being that since it is permanently connected it can record all messages and play them back to your client when it connects.
On a Debian/Ubuntu Virtual Machine you can use
apt-get to install the znc package:
sudo apt-get update sudo apt-get install znc
Create a new linux user for ZNC, should ZNC ever become exploitable at least it will be limited to a single user on the server.
sudo adduser znc-admin su znc-admin; cd ~ znc --makeconf
ZNC will ask you a load of questions and create
~/.znc/configs/znc.conf. Mostly you can use the default answers by pressing enter.
What port would you like ZNC to listen on? (1025 to 65535):
This is the port that you will connect your IRC client. The same port is used for the web admin UI.
Would you like ZNC to listen using SSL? (yes/no) [no]: no
You will be asked if you want to use SSL, if you are already running a web server you will need to set this to no if the web server listening on the port 443.
The rest of questions will ask about installing modules, install them all.
Now you will create an IRC user. This is the username/password you will end up putting in to your IRC client.
Username (AlphaNumeric): znc-admin Enter Password: Would you like this user to be an admin? (yes/no) [yes]: yes
Now set your IRC nickname that ZNC will use when connecting to a channel, I like to use my regular nick.
Nick [FirstUser]: your.name
Accept the defaults and opt-in to installing all the admin modules.
Now add the public IRC server and channel you wish to proxy too, e.g. irc.freenode.net.
Would you like to set up a network? (yes/no) [no]: yes Network (e.g. 'freenode' or 'efnet'): freenode IRC server (host only): irc.freenode.net Does this server use SSL? (yes/no) [no]: no Would you like to add another server for this IRC network? (yes/no) [no]: no Would you like to add a channel for ZNC to automatically join? (yes/no) [yes]: yes Channel name: #microrb Would you like to set up another network? (yes/no) [no]: no Would you like to set up another user? (yes/no) [no]: no
And start ZNC:
Launch ZNC now? (yes/no) [yes]: yes
You should now find that port 1025 is open, you can check using
nmap -v -A example.com
Point your browser at
http://example.com:1025 to access to the web admin UI,
you will need the IRC username/password you setup earlier to login.
Finally grab your favourite IRC client and connection to
the username and password you set for the IRC user. You will be able to join
new channels and they will be automatically added to ZNC’s list of channels.
Now enjoy being able to see messages from people in different timezones!