1. Installation
Zur Installation der ircservices muss ein cc oder gcc Compiler
auf dem PC oder der Shell installiert sein.
Dann läd man sich die aktuellen ircservices (5.0.27) von www.ircservices.za.net
herunter. Dies machen wir mithilfe von wget mit folgendem Befehl
in einem belibigm Verzeichnis:
wget http://www.irc.gr/ircservices/current.tar.gz
Nach kurzer Zeit ist das Archiv komplett herunter geladen und es
muss durch folgenden Befehl entpackt werden:
tar fzxv current.tar.gz
Alle Dateien aus dem Archiv wurden nun in das Verzeichnis Unreal3.2
entpackt und wir betreten daher dieses Verzeichnis:
cd ircservices-5.0.27
Um mit der Installation zu beginnen, führen wir das Config-Script
aus:
./configure
Das Script stellt sofort die erste Frage:
In what directory do you want the binaries to be installed?
Press Return for the default, or enter a new value.
[/usr/local/sbin] /sonstiges/irc-services
Hier muss man das Installations-Verzeichnis auswählen. Ich
möchte die Services nach '/sonstiges/irc-services'. Auf einer
shell ist es aber zu empfehlen, dass man /home/USERNAME/ircservices
oder ähnliches wählt.
/sonstiges/irc-services does not exist. Create it?
[y]
Da das gewählte Verzeichnis nicht existiert, möchte das
Script dieses erstellen und wir bestätigen, indem wir ENTER
drücken.
Where do you want the data files to be installed?
[/sonstiges/irc-services/lib]
Jetzt wird ein Verzeichnis für die Datenbanken benötigt.
In diesem Verzeichnis werden auch die Konfigutationsdateien abgelegt,
daher wird der Pfad in Schritt 2 nocheinmal benötigt. Im Normalfall
kann hier ebenfalls ENTER gedrückt werden, da das Script bereits
den richtigen Ordner eingetragen hat.
/sonstiges/irc-services/lib does not exist. Create it?
[y]
und nocheinmal die Frage, ob das Verzeichnis erstellt werden soll
.... ENTER.
Jetzt sammelt sich das Script noch ein paar Daten aus dem System
und eine Option muss man per Hand nachbessern:
Wir geben folgenden Befehl ein, um die Datei 'defs.h' zu öffnen:
vi defs.h
Jetzt Drücken wir Die Pfeil-Runter-Taste, bis wir an folgender
Textstelle angelangt sind (Zeile 36):
/* Default language for newly registered nicks; see
language.h for
* available languages (LANG_* constants). Unless you're running
a
* regional network, you should probably leave this at LANG_EN_US.
*/
#define DEF_LANGUAGE LANG_EN_US
und ändern die letzte Zeile folgendermaßen, damit die
Standardsprache deutsch ist:
#define DEF_LANGUAGE LANG_DE
Dazu drücken wir die Pfeil-Nach-Rechts-Taste bis wir über
'LANG_EN_US' sind und drücken Entf auf der Tastatur, bis dies
weg ist. Dann drücken wir 'a' um den INSERT-Modus aufzurufen
und geben ein 'LANG_DE'. Um den Editor zu beenden drücken wir
Esc und geben ein ':wq' (mit dem doppelpunkt am anfang).
Dann können wir mit dem Compilen beginnen. Dazu geben wir
ein:
make
und danach (dauert ein paar Minuten):
make install
Wenn das auch durchgelaufen ist, können wir uns an die Konfiguration
der Servises machen ....
2. Konfiguration
Jetzt müssen wir eine Konfigurationsdateien bearbeiten. Wir
geben folgenden Befehl ein, um in das data-Verzeichnis zu gelangen.
Es ist das Verzeichnis, dass ebenfalls bei der Configuration oben
angegeben wurde:
cd /sonstiges/irc-services/lib
um die beiden Beispiel-Dateien zu übernehmen, tippen wir nacheinander
ein:
mv example-ircservices.conf ircservices.conf
mv example-modules.conf modules.conf
um den Editor mit dem Config-File zu öffnen, tippen wir ein
:
vi ircservices.conf
Alle Zeilen, die mit einer # beginnen, sind auskommentiert (werden
von den Services nciht gelesen), also gehen wir mit der Pfeil-Nach-Unten-Taste
bis in Zeile83, wo steht:
#RemoteServer 127.0.0.1 6667 "password"
Zuerst halten wir den Cursor über die # und drücken Entf
auf der Tastatur, damit diese verschwindet. dann gehen wir nach
Rechts über die '1' von der IP und drücken Entf bis der
Rest der Zeile verschwunden ist. Jetzt gehen wir durch drücken
der Taste 'a' in den INSERT-Modus und geben die Verbindungsdaten
zum IRC-Server ein. Wenn der IRC-Server auf dem Selben Rechner installiert
ist, kann als IP 127.0.0.1 verwendet werden. In diesem Beispiel
nehmen wir folgende Konfiguration:
RemoteServer 127.0.0.1 6667 "SeRVLiNK"
Das Passwort kann hier frei gewählt werden und muss später
in den Einstellungen vom IRC-Server (UnrealIRCd) eingegeben werden.
Dann wird Esc gedrückt um den INSERT-Modul zu beenden und es
kann weiter nach unten gesprungen werden. (Der Edit-Vorgang wird
nciht nochmal beschrieben!)
Wir gehen weiter runter bis 'ServerName' und ändern die Zeile
in folgende:
ServerName "services.MusterIRC.net"
Diese muss natürlich wieder dem gelinkten Server angepasst
werden, kann aber frei gewählt werden.
Die nächste zu editierende Stelle ist 'ServiceUser'. Diese
könnte so aussehen:
ServiceUser "services@MusterIRC.net"
In dieser Klasse werden später alle gelinkten Server zugeordnet
und es gelten die folgenden Regeln: Die gelinkten Server werden
ebenfalls alle 90 Sekunden gepinged; Es können maximal 50 Server
gleichzeitig verbunden sein; Der Send-Puffer beträgt 1000000;
Wenn autoconnect eingeschaltet ist, versucht der Server alle 100
Sekunden zu dem jeweiligen Server zu verbinden.
Die nächste Stelle ist in Zeile 499:
#LoadModule protocol/(insert protocol name here)
Da ich die Services zu einem UnrealIRCd linke, ändern wir
diese in
LoadModule protocol/unreal
Folgende Zeilen werden durch eine # am Anfang auskommentiert oder
einfach vollständig gelöscht, da diese nicht benötigt
werden:
#LoadModule mail/main
#LoadModule mail/smtp
und ein paar Zeilen weiter unten wird olgendes auskommentiert bzw.
gelöscht:
#LoadModule nickserv/mail-auth
#LoadModule nickserv/oldlink
#LoadModule nickserv/sendpass
Und wieder ein paar Zeilen weiter folgende Zeile:
#LoadModule chanserv/sendpass
Und wieder ein paar Zeilen weiter folgende Zeile:
#LoadModule memoserv/forward
Und wieder ein paar Zeilen weiter folgende Zeilen:
#LoadModule httpd/main
#LoadModule httpd/auth-ip
#LoadModule httpd/auth-password
#LoadModule httpd/dbaccess
#LoadModule httpd/debug
#LoadModule httpd/redirect
#LoadModule httpd/top-page
[...]
#LoadModule misc/xml-export
#LoadModule misc/xml-import
Jetzt kann (nachdem wir Esc gedrückt haben) :wq eingegeben
werden, um die Datei zu speichern und wir bearbeiten die modules.conf.
Um den Editor wieder zu öffnen, geben wir ein:
vi modules.conf
zuerst muss wieder der IRC-Server eingegeben werden:
Module protocol/unreal
und gehen dann runter zu 'ServerNumeric'. Da beim UnrealIRCd alle
Server eines Netzwerkes nummeriert sein müssen und das Netzwerk
nur aus einem Server besteht, geben wir hier 2 ein. So bildet der
UnrealIRCd den Server1 und die ircservices den Server2:
ServerNumeric 2
Dann wird die absender-Adresse für E-Mails bestimmt (# am
Anfang muss entfernt werden):
FromAddress services@MusterIRC.net
Etwas weiter unten muss der ServicesRoot bestimmt werden, er kann
der höchste Admin im IRC-Netz sein, da dieser durch die Services
überall vollen Zugriff haben kann:
ServicesRoot kokoloris
nachdem Esc gedrückt wurde, kann der Editor durch den Befehl
:wq wieder beendet werden.
Jetzt muss der UnrealIRCd so Konfiguriert werden, dass er die Verbindung
von den Services annimmt. Dazu wechselt man in das Verzeichnis des
Servers (cd /home/USERNAME/Unreal3.2 etc) und öffnet die config
(vi unrealircd.conf). Hier fügt man folgenden Block ein:
link services.MusterIRC.net {
username *;
hostname 127.0.0.1;
bind-ip *;
port 6667;
password-connect "SeRVLiNK";
password-receive "SeRVLiNK";
class servers;
};
Außerdem sollten die Services eine uline bekommen, damit
sie vollen Zugriff haben (ansonnsten funktionieren sie nicht richtig).
Dazu fügt man folgenden Block ein:
ulines {
services.MusterIRC.net;
};
Auch diese Datei kann (nachdem Esc gedrückt wurde) durch :wq
verlassen werden.
ACHTUNG: Der benutzte Port (6667) darf im listen-Block nicht die
option 'clientsonly' haben !
3. Starten
Um den IRC-Server zu starten wird nur folgender Befehl eingegeben:
./unreal start
Jetzt wechseln wir wieder in das Verzeichnis von den ircservices:
cd /sonstiges/irc-services
und starten die services durch folgenden Befehl:
./ircservices
|