Unreal IRCd und Anope Services installieren

In diesem Tutorial wird der Grundlegende Aufbau der Unreal IRCd und der der Anope Services erklärt.

Die hier behandelten Versionen sind Unreal 3.2.9-rc2 sowie Anope 1.9.5.

Bevor du weiter machst, solltest du überprüfen ob neuere Versionen der Pakete verfügbar sind.

ACHTUNG: Bevor du anfängst:

  • Zunächst solltest du mittels “cd” in das Verzeichnis wechseln in das installiert werden soll. In diesem Tutorial wird das /srv/server/irc sein.
  • Du solltest eine Subdomain anlegen welche über das Internet erreichbar ist (z.B. irc.example.net). Wenn du keine Domain hast, kannst du auch eine Subdomain von afraid.org o.Ä. nutzen.

Benötigten Dateien downloaden

  • Unreal IRCd
  • CMake (apt-get install cmake)
  • Anope Services

Entpacken der Dateien

tar xfz Unreal3.2.9-rc2.tar.gz
tar xfz anope-1.9.5-source.tar.gz

Installation und kompilieren von UnrealIRCd

cd Unreal3.2
./Config

Antworten die du während dem Konfigurieren verwenden kannst

anti-spoof protection? No
directory with configuration files? "Enter drücken"
path to ircd binary? "Enter drücken"
hub or leaf? Hub
hostname? Subdomain eingeben (z.B. irc.example.net)
default permissions? 0600
SSL support? No
IPv6 support? No
enable ziplinks? No (außer du möchtest zu einem anderen IRCD linken)
enable remote includes? No (außer du möchtest zu einem anderen IRCD linken)
enable prefixes? Yes
listen backlog? 5 ist in Ordnung, "Enter drücken"
nickname history? 2000 ist in Ordnung, "Enter drücken"
max SendQ length? "Enter drücken"
buffer pools? "Enter drücken"
file descriptors? "Enter drücken"
more parameters? "Enter drücken"

Nun gebe make ein um den Kompilierungsprozess zu starten

Kopiere die Beispiel-Konfiguration

cp doc/example.conf unrealircd.conf

Öffne die Datei unrealircd.conf mit einem Texteditor (z.B. nano oder vi)

ACHTUNG:

Jede Variable in der Konfigurationsdatei ist Detailliert erklärt, deshalb werde ich hier nicht auf die einzelnen Punkte eingehen sondern nur die wichtigsten aufzählen. Verändere NICHTS an den anderen Variablen wenn du nicht absolut sicher bist was du damit bewirkst!

Zeilen die mit # starten sind meine Kommentare, diese mußt du nicht einfügen.

# FOR *NIX, uncomment the following 2lines:
loadmodule "src/modules/commands.so";
loadmodule "src/modules/cloak.so";

# Setze deine IRCd Infos:
me
{
	name "irc.example.net";
	info "Dein IRC Netzwerkname";
	numeric 1;
};

# Zeige deinen Usern wer der Admin des Netzwerks ist
admin {
	"Dein Name";
	"Dein Nickname";
	"[email protected]";
};

# Füge eine O:Line für dich selbst ein
# O:Lines definieren die IRCops
oper DeinNickname{
	class clients;
	from {
		userhost \*@\*;
	};
	password "DeinPasswort";
	flags {
		netadmin;
		can_zline;
		can_gzline;
		can_gkline;
		g lobal;
	};
};

# Füge eine C/N Line für die IRC Services ein
# C/N Lines erlauben anderen IRCd's oder IRC Services zu dir zu verlinken
link services.example.net
{
	username *;
	hostname 127.0.0.1;
	bind-ip *;
	port 7029;
	hub *;
	password-connect "services";
	password-receive "services";
	class servers;
	options {};
};

# Füge eine U:Line für die Services hinzu
ulines {
	services.example.net;
	stats.example.net;
};

# Die Netzwerk Konfiguration ist der wichtigste Part
set {
	network-name "DeinNetzwerkname";
	default-server "irc.example.net";
	services-server "services.example.net";
	stats-server "stats.example.net";
	help-channel "#help";
	hiddenhost-prefix "hidden";
	# Cloak keys should be the same at all servers on the network.
	cloak-keys {
		"aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
		"90jioIOjhiUIOH877h87UGU898hgF";
		"IOjiojiio8990UHUHij89KJBBKU898";
	};
	# on-oper host
	hosts {
		local "locop.example.net";
		global "ircop.example.net";
		coadmin "coadmin.example.net";
		admin "admin.example.net";
		servicesadmin "csops.example.net";
		netadmin "netadmin.example.net";
		host-on-oper-up "no";
	};
};

set {
	kline-address "[email protected]";
	auto-join "#lobby";
	modes-on-connect "+ixw";
	modes-on-oper "+xwgs";
	oper-auto-join "#opers";
	dns {
		nameserver Dein.DNS.IP.hier;
		timeout 2s;
		retries 2;
	};
};
  • Teste deinen IRCd Server mit:

./unreal start

Wenn du warning Nachrichten erhälst, kannst du diese ignorieren. Bei Fehlern solltest du jedoch diese beheben. Wenn der Unreal richtig gestartet wurde, ist alles soweit in Ordnung und wir können mit den Services starten.

Installation und Konfiguration der Anope IRC Services

Zuerst wechseln wir in das Anope Verzeichnis und starten die Installation

cd ../anope-x.x.x
./Config

Antworten die du während dem Konfigurieren verwenden kannst

install binaries to? /srv/server/irc/Unreal3.2/services
create dir? yes
install data files to? "Enter drücken"
group? "Enter drücken"
default umask? "Enter drücken"
MD5 passwd encryption? no (außer du willst das sicher)
auto-check for mysql libs? "Enter drücken"
cd build
make && make install

Wenn alles fertig ist, kopieren wir die Beispiel-Konfig und starten mit dem bearbeiten.

cd /srv/server/irc/Unreal3.2/services/data
cp example.conf services.conf

Öffne die Datei services.conf und bearbeite die folgenden Variablen:

ACHTUNG:

Dies sind die Werte welche du in der Datei unrealircd.conf angegeben hast, in den link, u:lins und network configuration Blöcken.

Diese Werte mußt du bearbeiten um die Services schnell ans laufen zu bekommen

serverinfo {

name = "services.example.net"
description = "Services for IRC Networks"
#localhost = "nowhere."
#id = "00A"
pid = "services.pid"
motd = "services.motd"
}
module { name = "unreal" }

Schließe und speichere die Datei

Starte die Anope IRC Services im Debug Modus um zu kontrollieren ob er auch korrekt verbindet

cd ../bin
./services -debug -nofork

Wenn die Services keine Fehler anzeigen und zum IRCd verbunden bleiben, kannst du sie im normalen Modus starten

./services

Du findest die Servic Kommandos (nickserv, register, etc …) und die Allgemeine Hilfe auf der Anope Webseite oder wenn du /msg nickserv help (chanserv, memoserv, …) auf dem IRC-Server eingibst.

Die UnrealIRCd Hilfe findest du auf der offiziellen Webseite.

Achte darauf das du die folgenden eingehenden Ports in deiner Firewall erlaubst: 6667, 6697, 8067.

So, das war es auch schon, nun wünsche ich dir viel Spaß mit deinem eigenen IRC Server!