Update UnrealIRCD

Draft Newest approved | Approver: psycore

This is an old revision of the document!


Update UnrealIRCD

Introduction

Installing / updating UnrealIRCD (tested with version 6.1.0)

Importing GPG keys

wget -O- https://raw.githubusercontent.com/unrealircd/unrealircd/unreal60_dev/doc/KEYS|gpg --import

Download source

First we download the source files. The current version is replaced instead of x.x.x (e.g. unrealircd-6.1.0.tar.gz).

wget https://www.unrealircd.org/downloads/unrealircd-x.x.x.tar.gz

Check integrity

wget https://www.unrealircd.org/downloads/unrealircd-x.x.x.tar.gz.asc
gpg --verify unrealircd-x.x.x.tar.gz.asc unrealircd-x.x.x.tar.gz

Unpack archive

Now we unpack the archive.

tar xfvz unrealx.x.x.tar.gz

Stop / rename old IRCD

To protect the config files, the directory with the obsolete IRCD should be renamed. To do this, the UnrealIRCD must first be stopped.

./Unreal.x.x.x/unreal stop
mv Unrealx.x.x Unreal

Configuring the sources

Let's change to the directory of the new IRCD and start with the configuration.

cd Unrealx.x.x
./Config

Now the configuration process begins. The following values are recommended:

In what directory do you want to install UnrealIRCd?
(Note: UnrealIRCd 6 will need to be installed somewhere.
 If this directory does not exist it will be created.)
[/home/USER/unrealircd] ->
 
What should the default permissions for your configuration files be? (Set this to 0 to disable)
It is strongly recommended that you use 0600 to prevent unwanted reading of the file
[0600] ->
 
If you want, you can manually enter the path to OpenSSL/LibreSSL here.
In most cases you can leave this blank and it will be detected automatically.
[] ->
 
UnrealIRCd comes with support for 'remote includes', this allows things like:
include "https://www.example.org/files/opers.conf";
Do you want to compile with the libcurl library to enable additional protocols?
If you answer 'No' then only https:// links will work for remote includes.
Answer 'Yes' if you need other protocols, such as plaintext http, ftp, tftp or smb.
Most people answer 'No' here because they don't use remote includes or only need https.
[No] ->
 
How far back do you want to keep the nickname history?
[2000] ->
 
GeoIP is a feature that allows converting an IP address to a location (country)
Possible build options:
     classic: This is the DEFAULT geoip engine. It should work on all systems
              and receives automatic updates.
libmaxminddb: This uses the libmaxminddb library. If you want to use this, then
              you need to install the libmaxminddb library on your system first
        none: Don't build with any geoip library (geoip-csv is still built)
Choose one of: classic, libmaxminddb, none
[classic] ->
 
What is the maximum number of sockets (and file descriptors) that
UnrealIRCd may use?
It is recommended to leave this at the default setting 'auto',
which at present results in a limit of up to 16384, depending on
the system. When you boot UnrealIRCd later you will always see
the effective limit.
[auto] ->
 
Are you running UnrealIRCd as a test, debugging a problem or developing a module?
Then it is possible to run with AddressSanitizer enabled. This will make it
catch bugs such as out-of-bounds and other memory corruption issues, which can
be really helpful in some cases. The downside is that it will consume a lot
more memory and run slower too. So, only answer 'Yes' if you are OK with this.
Also, on some systems (notably FreeBSD), when you enable AddressSanitizer,
UnrealIRCd may fail to start. So when in doubt, answer 'No'.
Do you want to enable AddressSanitizer?
[No] ->
 
Would you like to pass any custom parameters to configure?
Most people don't need this and can just press ENTER.
Otherwise, see `./configure --help' and write them here:
[] ->

TLS parameters

The details can be set as required.

Compiling the sources

Now we compile the sources.

make

For a new installation

make install

The config files must then be edited.

For update

Copy the config files

FIXME This section still refers to version 3

The following files must be copied from the old directory to the new one:

ircd.motd
ircd.rules
oper.conf
server.cert.pem
server.key.pem
server.req.pem
spamfilter.conf
unrealircd.conf
vhost.conf
network/yournetwork.network

Start Unreal

Now we can start the IRCD.

./unrealircd start
en/linux/ircd-update.1707078823.txt.gz ยท Last modified: 2024/02/04 21:33
CC Attribution-Noncommercial-Share Alike 4.0 International