IRCServices Workshop Tutorial
Workshop für die Installation der IRCServices – Tutorial
Anmerkung:
Dieser IRCServices-WorkShop wurde von einem GastAutor erstellt, weiteres unten.
Er wurde unzensiert und unbehandelt auf IRC-Mania.de aufgenommen !
Sollte ein hier präsentierter WorkShop extrem viele Fehler aufweisen, bitte ich um eine Benachrichtigung WorkShopKritik@IRC-Mania.de
Autor: Kokoloris
URL: http://www.IRC-Promotion.de
Email: Kokoloris@IRC-Promotion.de
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 h
ttpd/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