Installation und Konfigurations Anleitung, (Tutorial, Howto) eines ZNC Bouncers

Falls die Installation trotzdem nicht klappt und ihr Hilfe benötigt, dann schaut im Chat vorbei. Ein Blick in unserem Forumsbereich Bouncer könnte euch auch helfen.



Es gibt verschiedene Möglichkeiten, ZNC auf Deinem Rechner zu installieren. Die aktuellste Version ist immer im Quellen-Archiv bei SourceForge zu finden. Einige Distributionen stellen ZNC bereits über ihr jeweiliges Paket-System bereit, beachte aber bitte, dass es sich dabei oft um veraltete Versionen handelt!

Inhaltsverzeichnis

    [summarypoint=1.1]Voraussetzungen[/summarypoint][summarypoint=2.1]Installation[/summarypoint]
      [summarypoint=2.1]Installation unter[/summarypoint][summarypoint2=2.1.1]Debian[/summarypoint2][summarypoint2=2.1.2]openSuSE[/summarypoint2][summarypoint2=2.1.3]Gentoo[/summarypoint2][summarypoint2=2.1.4]FreeBSD[/summarypoint2][summarypoint2=2.1.5]CentOS und Fedora[/summarypoint2][summarypoint2=2.1.6]Slackware[/summarypoint2][summarypoint2=2.1.7]Generic Installation[/summarypoint2][summarypoint=2.3]Konfiguration[/summarypoint][summarypoint=2.5]Befehle[/summarypoint][summarypoint=2.6]Features[/summarypoint][summarypoint=2.7]Webadmin[/summarypoint][summarypoint=2.8]Backup[/summarypoint]




Pfeil [anker]1.1[/anker] Um ZNC installieren zu können benötigst du folgendes:

  • Unix/Linux Shell
Pfeil Das wär's erstmal und !Achtung! niemals unter root, sondern immer als User installieren!



Pfeil [anker]1.2[/anker] Wie erstelle ich einen User/Benutzer auf dem System, um die ganzen IRC-Programme installieren und starten zu können?

  • Bitte den folgenden Befehl als root ausführen. Dieser Befehl erstellt einen User im System und legt automatisch ein Homeverzeichnis an. Im folgenden Beispiel wird der User unreal und das Homeverzeichnis /home/unreal/ angelegt.
  • Im 2. Befehl ändern wir das Passwort.
server ~ # useradd -m znc
server ~ # passwd znc



Pfeil [anker]2.1[/anker] Installation


Pfeil [anker]2.1.1[/anker] unter Debian/Ubuntu

Pfeil Debian stellt die erforderlichen ZNC Archive und Ubuntu ZNC für Ubuntu zur Verfügung
Pfeil Befehl zum Installieren:

apt-get install znc



Pfeil [anker]2.1.2[/anker] unter openSUSE

Pfeil ZNC ist Teil des offiziellen Repositories. Zur Installation benutze die YaST Oberfläche oder installiere per Konsole:

yast -i znc



Pfeil [anker]2.1.3[/anker] unter Gentoo

Pfeil Gentoo stellt ZNC zur Verfügung, die Ihr so installiert:

emerge -av net-irc/znc



Pfeil [anker]2.1.4[/anker] unter FreeBSD

Pfeil ZNC ist in den FreeBSD Ports, benutze einfach:

cd /usr/ports/irc/znc
make config
make install clean



Pfeil [anker]2.1.5[/anker] unter CentOS und Fedora mittels RPM

Pfeil Veit Wahlich hat RPM Pakete und yum repositories für RedHat-basierte Linux-Distributionen (RHEL/CentOS und Fedora) erstellt. Version 0.052 ist verfügbar auf ircnet.de
Pfeil CentOS, RedHat & SuSE Enterprise RPM´s j0ke.net



Pfeil [anker]2.1.6[/anker] unter Slackware

Pfeil Slackware 0.052.tgz



Pfeil [anker]2.1.7[/anker] Generic Installation

Pfeil Die offiziellen Archive findest Du auf SourceForge
Pfeil Herunterladen des aktuellsten Archives

# wget http://downloads.sourceforge.net/projec ... irror=mesh
# tar -xzvf znc0.080.tar.gz
# cd znc0.080
# ./configure

Infobox:
benutze --prefix=/installations/pfad/fuer/znc wenn du keine systemweite Installation wünschst oder einfach keine root-Rechte besitzt;
benutze --with-openssl=/pfad/zu/openssl wenn du einen vom Standard abweichenden OpenSSL Pfad hast

# make && make install
# ./znc --makeconf

Sollten Probleme bei der installation oder Fragen aufkommen, schaut einfach in den FAQ's von ZNC vorbei oder in unserem Forum - Bereich Bouncer



Pfeil [anker]2.3[/anker] Koniguration



Pfeil Speicherorte von ZNC

Pfeil Konfiguration - ZNC liest seine ganze Konfiguration aus der Datei ~/.znc/configs/znc.conf
Pfeil Sonstiges - Auch alle anderen Dateien sind im ~/.znc Verzeichnis gespeichert, wie z.B. das SSL Zertifikat (znc.pem) und das PidFile (znc.pid).
Pfeil Lokale Module - Gespeichert in ~/.znc/modules. ZNC sucht zuerst im lokalen Modul-Ordner, wenn es Module lädt.
Pfeil Globale Module - Findet man standardmäßig in /usr/local/lib/znc (wobei /usr/local der von dir gewählte Prefix ist)
Pfeil Binaries - znc, znc-config, und znc-buildmod befinden sich standardmäßig in /usr/bin.
Pfeil Den Prefix kannst du ändern, indem du bei der Konfiguration ./configure --prefix=/welchen/pfad/du/willst benutzt


Pfeil Module entfernen

Um Module zu entfernen, kannst Du sie ganz einfach aus dem entsprechenden Ordner löschen. Dabei sind keine anderen Konfigurationen oder Neustarts nötig. ZNC sucht direkt nach den *.so Modulen. Um ein Modul zu behalten, kannst du einfach die Dateierweiterung ändern, wie hier:

Pfeil mv sample.so sample.so_.


Pfeil Die Konfigurations-Datei - (~/.znc/znc.conf)

Um eine automatische Konfigurationsdatei zu erstellen, musst du nach der Installation einfach nur znc --makeconf aufrufen.
Eine Konfigurationsdatei setzt sich im Grunde aus folgenden Dingen zusammen:

Pfeil Listen - Der Port auf dem ZNC arbeiten soll. Wenn vor dem Port ein '+' steht, benutzt ZNC eine SSL verschlüsselte Verbindung. 
Füge noch einen Host/IP mit einem Leerzeichen getrennt vor den Port ein, um ZNC auf einer bestimmten IP hören zu lassen.
Pfeil Listen6 - Genau das selbe wie Listen, nur mit den Unterschied, dass statt IPv4 nun IPv6 benutzt wird.
Pfeil ConnectDelay - Die Zeit die ZNC bei jeder Verbindung verzögern soll.
Pfeil ISpoofFile - ZNC schreibt den ident des Benutzers, der sich zu verbinden versucht, in diese Datei. Das ist sehr nutzlich, wenn deine Shell oidentd unterstützt.
Pfeil ISpoofFormat - Stellt das Format dar, indem nun in das ISpoofFile geschrieben wird.
Pfeil PidFile - Stellt ein, wohin ZNC sein PidFile schreibt.
Pfeil StatusPrefix - Der Standard-Präfix für Status- und Modul-Querys (im IRC). Diese Einstellung kann von den Benutzern überschrieben werden.
Pfeil LoadModule - Lädt ein globales Modul beim Starten.
Pfeil MOTD - Die MotD (Message of the Day) wird via *status gesendet, wenn sich ein Client verbindet. Kann auch mehrmals angegeben sein.
Pfeil VHost - Beschreibt die Liste der erlaubten vHosts. Es wird vom Modul webadmin benutzt, damit die Benutzer sich einen aussuchen können.
(Stelle zuerst verschiedene vHosts unter Einstellungen im Webinterface ein - ein vHost pro Zeile -
um diese anschließend in den Benutzer-Konfigurationen verfügbar zu machen)
Pfeil User - Die Benutzer-Definition, davon kannst du natürlich mehrere haben. Jeder Benutzer ist mit nur einem Netzwerk verbunden, also benötigst du für jedes Netzwerk
einen entsprechend neuen Benutzer.Das ist das beabsichtigte Verhalten! (Schau in die FAQ um mehr über multiple Netzwerke zu erfahren)
Pfeil Pass - Das vom Client benötigte Passwort, um sich mit ZNC zu verbinden. Ein hash kann mit znc --makepass generiert werden.
Pfeil Nick, AltNick, Ident, RealName, VHost - IRC-Benutzer-Info (Nickname, alternativer Nickname, Ident, Realer Name, vHost [wenn vorhanden])
Pfeil QuitMsg - Die Standard-Quit-Nachricht, wenn ZNC vom Server jumpt oder sich vom Server abmeldet.
Pfeil StatusPrefix - Der Präfix für Status- und Modul-Querys (im IRC).
Pfeil ChanModes - Die Standard-Modes, die ZNC einstellt, wenn du einen leeren Channel betrittst.
Pfeil Buffer - Die Anzahl der Zeilen, die im Wiedergabe-Puffer gespeichert werden, bevor die älteste Zeile überschrieben wird
(z.B. 50 um die letzten 50 Zeilen in allen Channels mitzuloggen). Der Puffer wird standardmäßig im Arbeitsspeicher gesichert.
Pfeil KeepBuffer - Wenn diese Einstellung true (also eingeschaltet) ist, wird der Puffer jedes mal abgespielt und behalten, wenn du dich zu ZNC verbindest.
Wenn die Einstellung false ist, so wird der Puffer verworfen, nachdem er ausgegeben wurde.
Pfeil KeepNick - Diese Einstellung wird bei true versuchen, deinen Nick ständig zu behalten bzw. wieder zu bekommen.
Pfeil MultiClients - Wenn diese Option true ist, kann man mit verschiedenen Clients eine Multi-Session eröffnen
(mehrere Clients auf einem Account benutzen, zur selben Zeit).
Pfeil BounceDCCs - Bei true wird ZNC DCC-Anfragen tunneln, ansonsten wird die DCC-Verbindung direkt zu ihrem Client aufgebaut.
Pfeil DenyLoadMod - Bei true wird dem Benutzer untersagt, Module zu laden.
Pfeil DenySetVHost - Bei true kann der Benutzer keinen vHost einstellen (wenn vorhanden).
Pfeil Admin - Bei true hat der Benutzer komplette Admin-Rechte (z.B. im webadmin Modul).
Pfeil DCCLookupMethod - Bei default benutzt ZNC die IP, die der Client übermittelt, bei client benutzt ZNC die IP, von der aus der Client zu ZNC verbunden ist.
Pfeil TimestampFormat - Definiert das Format für Zeitstempel, die im Puffer benutzt werden, z.B. [%H:%M:%S]
Pfeil AppendTimestamp - Soll der Zeitstempel an die Nachricht angehängt werden?
Pfeil PrependTimestamp - Soll der Zeitstempel vor der Nachricht angezeigt werden?
Pfeil TimezoneOffset - Dies kann einen Zeitzonen-Unterschied in den Zeitstempeln beheben. Beispiel: +1 um UTC+1 in Berlin/Paris zu verwenden.
Pfeil JoinTries - Hier wird festgelegt, wie oft ZNC versuchen soll, einen Kanal zu betreten, wenn der erste Versuch fehlschlägt.
Dies hilft beispielweise bei den Modes +i/+k oder wenn du gebannt wurdest.
Pfeil Allow - Standardmäßig ist jeder berechtigt, sich mit diesem Benutzer-Account zu ZNC zu verbinden.
Mit den Allow-Zeilen kannst du die Anmeldung auf bestimmte IP-Adressen beschränken.
Sternchen-Wildcards (*) werden dabei unterstützt.Mehrere Regeln können über mehrere Zeilen definiert werden.
Pfeil LoadModule - Lädt ein Modul für diesen Benutzer beim Starten.
Pfeil Server - Fügt ein IRC-Server hinzu, auf dem ZNC verbinden kann. Wenn du auf einen SSL-verschlüsselten Server verbinden möchtest,
gibst du einfach ein + vor den Port ein. Die IP-Adresse kann auch eine IPv6-Adresse sein.
Wird für den Server ein Passwort benötigt, füge dieses einfach als drittes Argument hinzu. Format: IRC-Server-Adresse [+]Port [Password]
Pfeil CTCPReply - Ein Anfrage-Antwort-Paar für CTCP-Funktionen. Format: Anfrage Anwort, z. B. VERSION unbekannt v1.0.
Pfeil Chan - Channels, die ZNC betritt, wenn der Benutzer geladen wird.
Pfeil Key - Channel-Passwort (gleicht der Funktion +k im IRC).
Pfeil Modes - Gleicht der ChanModes-Einstellung aus der Benutzer-Konfig, nur auf Channel-Ebene.
Pfeil Buffer - Gleicht der Buffer-Einstellung aus der Benutzer-Konfig, nur auf Channel-Ebene.
Pfeil Detached - Wenn hier true angegeben ist, wird ZNC diesen Channel als getrennt gekennzeichnet, sodass dein IRC-Client nicht durch diesen Channel gestört wird.




Pfeil [anker]2.4[/anker] Befehle

Pfeil Befehle werden an ZNC gesand, durch ansprechen des virtuellen Users *status .
Pfeil Ebenso ist es möglich die Module mit dem jeweiligen Modulnamen anzusprechen, als Beispiel *away für das Awaymodul.
Pfeil Alternativ ist es möglich /znc Befehl anstatt von /msg *status Befehl und /znc *module Befehl an Stelle von /msg *module Befehl zu verwenden

Beispiel: /msg *status listmods

<*status> +---------+------------------------------------------------------+
<*status> | Name | Description |
<*status> +---------+------------------------------------------------------+
<*status> | email | Monitors Email activity on local disk /var/mail/user |
<*status> | shell | Gives shell access. |
<*status> | schat | Secure cross platform (:P) chat system |
<*status> +---------+------------------------------------------------------+


Pfeil Der Präfix * für diese virtuellen User kann in der znc.conf Datei geändert werden.
Pfeil Es ist zu empfehlen, einen Buchstaben zu nutzen, der im IRC nicht erlaubt ist, sodass man nicht die Möglichkeit verliert mit Usern zu schreiben die den gleichen Präfix in ihrem IRC Nick verwenden.



Pfeil Liste der Befehle

<zncuser> help
<*status> +------------------------+-------------------------+---------------------------------------------+
<*status> | Befehl | Argument | Beschreibung |
<*status> +------------------------+-------------------------+---------------------------------------------+
<*status> | Version | | Zeigt die verwendete Version von ZNC an |
<*status> | ListDCCs | | Listet alle aktiven DCC's |
<*status> | ListMods | | Listet alle geladenen Module |
<*status> | ListAvailMods | | Listet alle verfügbaren Module |
<*status> | ListChans | | Listet alle betretenen Channel |
<*status> | ListNicks | <#channel> | Listet alle User in diesem Channel |
<*status> | ListServers | | Listet alle Server |
<*status> | AddServer | <host> [[+]port] [pass] | Fügt einen Server hinzu |
<*status> | RemServer | <host> | Löschtt einen Server aus der liste |
<*status> | Enablechan | <#channel> | Aktiviert einen Channel |
<*status> | Detach | <#channel> | Verlässt einen Channel |
<*status> | Topics | | Zeigt die Topics aller Channel |
<*status> | PlayBuffer | <#channel> | Zeigt den Wiedergabe Puffer des Channels |
<*status> | ClearBuffer | <#chanel> | Löscht den Wiedergabe Puffer des Channels |
<*status> | ClearAllChannelBuffers | | Löscht alle Wiedergabe puffer |
<*status> | SetBuffer | <#chanel> [Zeilenanzahl]| Setzt die Anzahl der Zeilen des Puffers |
<*status> | SetVHost | <vhost (ip bevorzugt)> | Setzt einen Vhost für diese Verbingung |
<*status> | ClearVHost | | Löscht den Vhost für diese Verbindung |
<*status> | Jump | | Springen zum nächsten Server in der liste |
<*status> | Disconnect | | Vom IRC Trennen |
<*status> | Connect | | Zum IRC Wiederverbinden |
<*status> | Send | <nick> <Datei> | Eine Datei zu einem User senden |
<*status> | Get | <Datei> | Eine Datei zu sich selbst senden |
<*status> | LoadMod | <Modul> | Ein Modul laden |
<*status> | UnloadMod | <Modul> | Ein Modul entfernen |
<*status> | ReloadMod | <Modul> | Ein Modul erneut laden |
<*status> | ShowMOTD | | MOTD anzeigen |
<*status> | SetMOTD | <Nachricht> | MOTD setzen |
<*status> | AddMOTD | <Nachricht> | Nachricht zur MOTD hinzufügen |
<*status> | ClearMOTD | | MOTD löschen |
<*status> | Rehash | | Znc.conf erneut laden |
<*status> | SaveConfig | | Speichern der aktuellen Einstellungen |
<*status> | ListUsers | | Listet alle User/Clients |
<*status> | ListClients | [User] | Listet alle verbundenen Clients des Users |
<*status> | Traffic | | Zeigt Traffic Statistiken aller User |
<*status> | Uptime | | Zeigt die Zeit die ZNC bereits läuft |
<*status> | Broadcast | [Nachricht] | Schickt eine Nachricht zu allen Usern |
<*status> | Shutdown | [Nachricht] | Fährt ZNC runter |
<*status> | Restart | [Nachricht] | Startet ZNC erneut |
<*status> +------------------------+-------------------------+---------------------------------------------+




Pfeil [anker]2.5[/anker] Features

Module 
Pfeil ZNC unterstützt das dynamische Laden von C++ und Perl Modulen.
Detaching
Pfeil ZNC wird online bleiben wenn du offline gehst. Wenn du dann wiederkommst, bekommst du einen Teil der geschriebenen Nachrichten (einstellbar) und deine Privatnachrichten. So verpasst du nichts.
Mehrere Benutzer
Pfeil Du kannst mehrere Benutzer hinzufügen, ohne einen zweiten ZNC starten zu müssen. Das ist sinnvoll bei Shells, die die maximale Anzahl an Hintergrundprozessen limitieren.
Mehrere Clients
Pfeil Du kannst mit sovielen Clients zu einem Benutzer verbinden wie du willst.
Wiedergabe Puffer
Pfeil Sieh was passiert ist, während du offline warst. Auch die Zeitstempel der Nachrichten werden gespeichert und ausgegeben.
SSL
Pfeil Verschlüsselung für die Verbindung zum BNC und zum IRC Server.
DCC Bouncing
Pfeil Transparentes Bouncing von DCCs um die eigene IP geheim zu halten.
Partyline
Pfeil Mit dem globalen partyline-Modul kannst du ZNC-interne Channels betreten und Benutzer anschreiben.
Web Administration
Pfeil Mit dem globalen webadmin-Modul können Admins Benutzer hinzufügen/bearbeiten/löschen und globale Einstellungen ändern. Normale Benutzer können ihre eigenen Einstellungen ändern.




Pfeil [anker]2.1[/anker] Module

Pfeil ZNC ist in der Lage, dynamisch C++ und Perl Module zu laden.
Pfeil Module sind in Globale und Benutzer-Module aufgeteilt. Globale Module arbeiten Server-weit für alle Benutzer. Benutzer-Module können für jeden Benutzer einzeln geladen werden.

Globale Module

Admin 
Pfeil Erlaubt dir, Einstellungen und Benutzer on-the-fly per IRC-Kommando zu erstellen/löschen/bearbeiten.
Adminlog
Pfeil Loggt Verbindungen und Trennungen und fehlgeschlagene Logins in eine Datei oder per syslog.
Imapauth
Pfeil Ermöglicht Benutzern, sich über ein IMAP-Konto zu authentifizieren.
Modperl
Pfeil Lädt Perl Scripte als ZNC Module.
Notify
Pfeil Informiert alle Benutzer, wenn ein Client verbindet/trennt.
Partyline
Pfeil Ermöglicht ZNC Benutzen interne channels zu betreten und Benutzer auf dem selben ZNC anzuschreiben.
Saslauth
Pfeil Ermöglicht Benutzern, sich über SASL zu auhentifizieren.
Webadmin
Pfeil Ermöglicht Admins, Benutzer über einen Webbrowser hinzuzufügen, zu bearbeiten oder zu löschen.


Benutzer Module

Antiidle 
Pfeil Versteckt deine Idle-Zeit.
Autoattach
Pfeil Reattached dich zu den Channels bei Aktivität.
Autoop
Pfeil Auto op für die Guten.
Autovoice
Pfeil Gibt jedem, der einen bestimmten Channel betritt, Voice-Rechte.
Away
Pfeil Speichert Nachrichten, wenn du abwesend bist; auch bei Auto-away.
Awaynick
Pfeil Ändert deinen Nicknamen, wenn du abwesend bist.
Chansaver
Pfeil Speichert die Konfiguration, wenn ein Kanal betreten oder verlassen wird.
Crypt
Pfeil Verschlüsselung für Kanäle/Privatnachrichten.
Email
Pfeil Überwacht E-Mail Aktivität in /var/mail/user
Kickrejoin
Pfeil Automatisches Wiederbetreten eines Kanals, wenn du gekickt wurdest.
Lastseen
Pfeil Loggt, wann ein Benutzer sich zuletzt in ZNC eingeloggt hat.
Log
Pfeil Speichert Konversationen in Dateien.
Nickserv
Pfeil Authentifiziert dich bei NickServ.
Perform
Pfeil Führt Befehle beim Verbinden zum IRC-Server aus.
QAuth
Pfeil Authentifiziert dich beim Verbinden mit Q (im Quakenet).
Raw
Pfeil Macht den gesamten raw traffic sichtbar.
Route_replies
Pfeil Routet Antworten zum anfragenden Client zurück, wenn mehrere Clients mit einem Benutzer verbunden sind.
Sample
Pfeil Dies ist ein Beispiel, um eigene Module zu schreiben.
Savebuff
Pfeil Speichert deine Channel-Puffer in eine verschlüsselte Datei, so dass sie Neustarts und Reboots überleben können.
Schat
Pfeil SSL (verschlüsselte) DDC-Chats.
Shell
Pfeil Zugriff auf deine Unix-Shell direkt in deinem IRC-Client.
Stickychan
Pfeil Legt Kanäle fest, die du nicht verlassen kannst.
Watch
Pfeil Überwache Aktivität für bestimmte Textmuster von bestimmten Benutzern. Der Text wird in ein spezielles Query-Fenster geschrieben.


Module verwalten

Module können sehr einfach hinzugefügt und entfernt werden. Standardmäßig können sie in ~/.znc/modules und /usr/local/lib/znc abgelegt werden.
ZNC installiert seine Module in letzteres Verzeichnis, das eigentlich ${prefix}/lib/znc ist, aber dies kann vor dem Kompilieren mit ./configure --module-prefix=DIR angepasst werden.

ZNC sucht zuerst im lokalen Unterverzeichnis modules nach Modulen. Dabei werden nur Dateien mit der Endung .so berücksichtigt.
Um Module zu entfernen kann man sie einfach aus dem entsprechenden Ordner gelöscht werden.
Es sind keine anderen Einstellungen oder Neustarts nötig. Um ein Modul zu entfernen, es aber für eine spätere Benutzung zu behalten, reicht es, die Dateiendung umzubenennen,
wie zum Beispiel per mv sample.so sample.so_. Um neue Module zu kompilieren müssen sie zunächst als .cpp-Datei abgespeichert werden.

Module (ent)laden

Pfeil Globale Module können geladen werden, indem sie in der Konfigurationsdatei vor die Benutzerdefinitionen eingefügt werden:

LoadModule = Modul Parameter
User foo


Pfeil Um Benutzer-Module zu laden, müssen sie innerhalb der Benutzerdefinition eingefügt werden:

User foo
...
LoadModule = Modul Parameter
...
/User


Pfeil Alternativ können Module mithilfe des *status Nachrichtenfensters ge- und entladen werden:

/msg *status loadmod [-global] module parameters
/msg *status unloadmod [-global] module


Pfeil -global wird nur benötigt, wenn es sich um ein globales Modul handelt, dass ge- oder entladen werden soll.
Pfeil * ist der Status-Präfix, der in der Konfiguration eingestellt ist.
Pfeil Modul ist der Dateiname des Moduls ohne die Dateiendung .so.
Pfeil Parameter sind Modul-spezifisch und optional

Module benutzen

Pfeil Meist kann alternativ der folgende Befehl benutzt werden, um eine Befehls-Liste zu erhalten:

/msg *Modul help


Pfeil * ist der StatusPrefix, der in der Konfiguration festgelegt wurde.
Pfeil Modul ist der Modulname



Pfeil [anker]2.7[/anker] Das WebAdmin Modul

Einrichtung

Dieses Modul erwartet bis zu zwei Argumente... [IP] [+]port das + zeigt an, dass für diesen Port SSL verwendet werden soll. Bei der Angabe einer IP wird das Modul nur an diese binden.
Anmerkung: SSL steht nur zur Verfügung, wenn es explizit aktiviert wurde (./configure --enable-openssl).
Anmerkung: Ältere ZNC Versionen hatten ein Problem mit der Automatisch generierten pem Datei, die die Webbrowser nicht mochten.
Falls du (im Firefox) eine Meldung mit Fehlercode: -8182 bekommst, musst du die pem Datei mit ./znc --makepem neu generieren.
Da dies ein Globales Modul ist, wird es geladen bevor Benutzer definiert werden, wie hier:

Listen = +3300
LoadModule = webadmin +28000

User foo
...
/User


Verbinden

Wenn das Modul geladen ist, wird es mithilfe des HTTP Protokolls auf dem entsprechenden Port horchen.
Du kannst nun mithilfe eines Webbrowsers mit dem Modul verbinden.
Zum Beispiel wenn ZNC auf einer Shell namens foo.com läuft und die oben angegebene Konfiguration nutzt dann öffne deinen Standardbrowser und gib diese URL ein:

https://217.79.189.190:28000/

Das führt dich zu speedspace auf Port 28000 mit SSL. Wenn du verbunden bist wird dich das Modul nach Benutzername und Passwort fragen.
Normale ZNC Benutzer können mit diesem Modul verbinden und ihren ZNC Usernamen und Passwort zum einloggen verwenden.
Wenn ein Normaler Benutzer sich Einloggt kann er nur seine eigenen Einstellungen bearbeiten.
Dagegen kann ein Admin die Einstellungen aller Benutzer verändern, Benutzer hinzufügen oder löschen sowie globale ZNC Einstellungen bearbeiten.

Das Modul benutzen

Nachdem du als Admin verbunden bist kannst du:
Pfeil ZNC Einstellungen bearbeiten wie zum Beispiel ISpoofFile, Globale Module und VHosts.
Pfeil Alle Benutzer auflisten
Pfeil Benutzer bearbeiten - mitsamt ihren Einstellungen
Pfeil Neue Benutzer hinzufügen
(normale ZNC Benutzer können nur ihre eigenen Einstellungen bearbeiten.)
Du kannst Admins hinzufügen indem du dich im Webinterface als Admin einloggst und die Admin Option aktivierst.
Einem User kann man auch in der Konfigurationsdatei Adminrechte geben:

User foo
...
Admin = true
...
/User


Skins

Du hast die Möglichkeit das Webadmin Interface individuell anzupassen. Sämtlicher HTML-Code ist außerhalb des Modules in Templates gespeichert.
Um eigene Skins hinzuzufügen musst du ein paar Verzeichnisse im Skins Verzeichnis des Webadmin Modules erstellen.

    Bild
    Webadmin Modul im Einsatz


Skinverzeichniss

Zuerst musst du wissen wo du ZNC installiert hast. Wenn du dir nicht sicher bist tippe Pfeil which znc und du wirst so etwas wie Pfeil /usr/bin/znc oder Pfeil /usr/local/bin/znc sehen.
Du nimmst alles was vor dem /bin/znc ist, um den Pfad herauszufinden den wir suchen.
Falls gar nichts gefunden wird ist ZNC wahrscheinlich nicht im System installiert und du wirst wissen wo er liegt, da du ja in das Verzeichnis wechseln musst um ihn zu starten.
Gehen wir mal davon aus dass ZNC im System in /usr installiert wurde. Die Webadmin Skins würden dann in Pfeil /usr/share/znc/webadmin/skins sein.
Da du nun an der richtigen Stelle bist ist das beste was du tun kannst Pfeil cp -r default myskin[/Pfeil] um den Standardskin als Basis für deinen eigenen zu verwenden. Führe danach [Pfeil]cd myskinaus.

Zu bearbeitende Datein

Falls dir das Layout gefällt und du nur die Farben verändern willst reicht es aus diese Datei zu bearbeiten:

css/main.css


Wenn du das Layout ändern willst musst du diese Dateien bearbeiten:

Channel.tmpl
Error.tmpl
Footer.tmpl
Header.tmpl
ListUsers.tmpl
Main.tmpl
Settings.tmpl
UserPage.tmpl


Die wichtigsten Dateien sind Header.tmpl und Footer.tmpl. Dies sind die statischen Teile, die auf jeder seite angezeigt werden.
Durch das Bearbeiten dieser und der css/main.css Datei, kannst du bereits einen individuellen Skin erstellen.
Willst du Bilder verwenden musst du sie im img Verzeichnis speichern.
Verweise darauf sollten so aussehen: src=/img/foo.jpg. Der /img Pfad verweist auf zncpath/webadmin/skins/current skin/img.
Dasselbe gibt es auch für JavaScript- (Verweis auf /js) und CSS- (Verweis auf /css) Dateien.

Skins herunterladen

Du kannst auch einfach einen fertig modifizierten Skin herunterladen und in das Skinverzeichniss entpacken (wie oben beschrieben auffindbar). Verfügbare Zusatzskins sind:

GreenVision - http://un1matr1x.de/home/webadmin-skins ... -2-t3.html




Pfeil [anker]2.8[/anker] ZNC Backup



Hier wird beschrieben, wie man die ZNC-Konfiguration sichert und sich per E-Mail einmal wöchentlich zuschicken lässt.

Benötigte Software

p7zip
Pfeil Very high compression ratio file archiver
tar
Pfeil A GNU file archiving program (dürfte standardmäßig bereits auf fast jedem Linux und Unix Betriebssystem sein)
SendEmail
Pfeil SendMail

Backup-Skript
Nach der Installation wird ein kleines Skript im Hauptverzeichnis des Users angelegt.

vi znc-sicherung.sh


Dieses wird mit folgenem Inhalt gefüllt:

#!/bin/bash
DATEI1=$(date +%Y-%m-%d)_znc_backup.tar
DATEI2=$(date +%Y-%m-%d)_znc_backup.tar.7z
DATUM=$(date +%Y-%m-%d)
USER=znc
sevenzp=a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on -mhe=on -p=Pa7Sw0r7
MAILADRESSE1=deine{at}email.de
DIR=/home/$USER/.znc
/usr/bin/tar -cvf $DATEI1 $DIR
/usr/bin/7za $sevenzp $DATEI2 $DATEI1
/usr/bin/sendEmail -f $USER@dein.host -u ZNC-Backup-$DATUM -m ZNC Backup vom $DATUM -a $DATEI2 -t $MAILADRESSE1
rm -f $DATEI1 $DATEI2


Hierbei ist zu beachten, dass das Skript an den User angepasst werden muss, unter dem znc läuft. Folgende Zeilen müssen dabei bearbeitet werden:

USER=
sevenzp= (nur das Passwort am Ende)
MAILADRESSE1=
/usr/bin/sendEmail -f $USER@dein.host


Bitte achtet auf die Zeile 7za $sevenzp $DATEI2 $DATEI1. Bei manchen Distributionen heißt das 7zip-Binary 7z statt 7za. Daher gegebenenfalls auch dies abändern.

Wenn man nicht über 1 GB an RAM verfügt, muss man gegebenenfalls die Komprimierungsrate herunterstellen.
Dies geschieht mit dem Parameter -mx=X in der sevenzp=...-Zeile. X bezeichnet dabei die Komprimierungsrate, die zwischen 0 und 9 sein darf, wobei 0 keine Komprimierung bedeutet.

Danach muss das Script ausführbar gemacht werden:

chmod a+x znc-sicherung.sh


Jetzt ist es an der Zeit, das Script einmal manuell zu testen:

./znc-sicherung.sh


Wenn alles klappt, geht es weiter mit der Crontab, ansonsten müsst ihr noch einmal das Skript nach Fehlern durchsuchen.

Crontab

Euer crontab könnt ihr wie folgt bearbeiten:

crontab -e


Fügt dort diese Zeile ein:

40 0  * * 4 cd /home/znc; ./znc-sicherung.sh >/dev/null 2>&1


Beispiel:

* * * * *   cd /home/znc/znc/bin; ./znc >/dev/null 2>&1
40 0 * * 4 cd /home/znc; ./znc-sicherung.sh >/dev/null 2>&1


Jede Minute wird überprueft, ob ZNC läuft, wenn nicht, wird ZNC neu gestartet. Die zweite Zeile startet das Backup-Skript einmal in der Woche jeweils Donnerstags (4) um 0:40 Uhr (40 0).



Pfeil Ihr habt noch weitere Fragen? Schaut doch mal in unser Forum.
Veröffentlicht am: Mo Mär 08, 2010 3:53 am
von: dumdidum
Geändert am: Do Mär 11, 2010 10:36 am
von: Andre
Artikeltyp: Installationsanleitung
Zugriffe: 289
Bewertung: 5/5 (1 Bewertungen)

[ Thema anzeigen ]

Artikel bewerten


Zurück zu BNC Tutorials


cron