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
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