IRC: znc einrichten

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Vorwort:

    Spoiler anzeigen


    Bei ZNC handelt es sich um einen sog. Bouncer (nachfolgend BNC genannt), [font="sans-serif"]das zwischen einem [/font][font="sans-serif"]IRC-Client[/font][font="sans-serif"] und [/font][font="sans-serif"]IRC-Server[/font][font="sans-serif"] vermitteln kann, und somit als [/font][font="sans-serif"]Proxy[/font][font="sans-serif"] arbeitet.[/font]
    Das Hauptziel der meisten Bouncer ist jedoch nicht die reine Vermittlung zwischen einem Client und einem Server, sondern das möglichst dauerhafte Aufrechterhalten einer Verbindung zu einem IRC-Server bzw. einem oder mehreren [font="sans-serif"]IRC-Netzwerken[/font][font="sans-serif"].
    [/font]

    [font="sans-serif"]quelle: http://de.wikipedia.org/wiki/Bouncer[/font]


    Es gibt verschiedene IRC-Bouncer, der znc ist aber einer der besten und wird immer noch weiterentwickelt
    Znc bietet zudem mehrere Schnittstellen zum programmieren von Scripten: Python, Perl und TCL
    Desweiteren bietet znc: Backlog (playback buffers), multiple users, multiple clients, multiple IRC servers oder ein standalone Webinterface zum Konfigurieren und noch einiges mehr :)

    Es besteht auch die Möglichkeit mit mehreren Client-Programmen gleichtzeitig über nur einen Benutzer verbunden zu sein. So könntet ihr zB über ein Windows und ein MAC mit nur einem Nick im selben Channel gleichzeitig online sein :D


    Vorbereitung:

    Ich hab mir für den znc einen neuen User angelegt: znc
    Neuen Benutzer, mit Erstellung des Homedirs sowie einer bash shell anlegen:

    Code
    useradd -m -s/bin/bash znc


    Installation:

    Zunächst die zum kompilieren benötigten Pakete installieren:

    Code
    apt-get install build-essential libssl-dev

    Optionale Pakete:

    Code
    apt-get install libssl-dev libperl-dev libperl-dev pkg-config libc-ares-dev python3-dev tcl8.5 tcl8.5-dev swig


    Nun holt ihr euch den neusten ZNC:

    Code
    wget http://znc.in/releases/znc-1.2.tar.gz

    Archive entpacken und anschliesend das Archive löschen:

    Code
    tar xfz znc-1.2.tar.gz && rm znc-1.2.tar.gz

    Dann gehts los: Ins neue Verzeichnis wechseln und zum kompilieren vorbereiten:

    Code
    cd znc-1.2
    ./configure --with-openssl

    Wer auch die Optionalen Pakete installiert hat nutzt stattdessen:

    Code
    ./configure --with-openssl --enable-perl --enable-python --enable-swig --enable-tcl

    Wer znc nur für einen bestimmten Benutzer installieren möchte fügt der ./configure Zeile noch folgendes hinzu:

    Code
    --prefix=/home/znc/znc

    Anschliesend znc kompilieren sowie installieren:

    Code
    make && make install


    (kann auf einem RaspberryPI recht lange dauern)


    Verwendung:

    Nach der Installation steht znc für jeden Benutzer des Systems zur Verfügung. Bevor ihr nun aber znc ausführt solltet ihr unbedingt erst zum entsprechenden Benutzer wechseln:

    Code
    su znc

    Jetzt ist es einmalig erforderlich die Konfiguration zu erzeugen, da werden euch ein paar Fragen usw gestellt:

    Code
    znc --makeconf


    mIRC:

    Wer nun mit mIRC auf den znc drauf will hat eine kleinigkeit zu beachten:
    Wenn ihr einen neuen Server hinzufügt müsst ihr in das Feld Password seine Zugangsdaten wie folgt eintragen:

    Code
    benutzer:password


    Wenn ihr verbunden seid könnt ihr euch alle verfügbaren Befehle wie folgt anzeigen lassen:

    Code
    /msg *status help

    Andere Extras (Module) von ZNC könnt ihr auf dem selben Weg ansprechen, eben immer mit einem * Prefix davor.
    Zum Beispiel:
    /msg *controlpanel help
    /msg *nickserv set <passwort>
    /msg *simple_away Reason Hi there, meigrafd's server speaking. He's disconnected, but I'm recording for him what you're saying.


    Webinterface:

    Das Webinterface ist über eure IP und den Port 8080 erreichbar. Solltet ihr diesen Port bereits für eine andere Anwendung verwenden, müsst ihr einen andere Port wählen. Dazu öffnet ihr die Datei: /home/znc/.znc/configs/znc.conf

    Dort ändert ihr:

    Code
    LoadModule = webadmin


    in:

    Code
    LoadModule = webadmin 12345


    12345 steht dabei für den Port, den ihr benutzen wollt.


    Automatisch starten nach Reboot/crash:

    Nun wollt ihr znc vielleicht noch so einrichten das es nach einem Reboot oder wenn es crasht automatisch gestartet wird :huh:
    Dann fügt ihr einfach in eure Benutzer-Crontab (befehl: crontab -e) folgendes ein:

    Code
    @reboot		/usr/local/bin/znc >/dev/null 2>&1
    */10 * * * *	/usr/local/bin/znc >/dev/null 2>&1

    Etwas schöner ginge es hiermit: http://wiki.znc.in/Running_ZNC_as_a_system_daemon


    Weiteres über ZNC könnt ihr hier nachlesen: http://wiki.znc.in/ZNC


    EDIT: Vor dem Kompilieren unbedingt sowas wie ZRAM ausschalten - das bremst sonst ungemein aus :(

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!