Kategorien
Messenger Server

Zulip – Open Source Messaging Server

Die Mitarbeiter der Firma wollen (und sollen) online kommunizieren, aber die Firma möchte keinen Chat Service wie beispielsweise Slack nutzen, bei dem nicht klar ist, wo die Daten gespeichert werden und wer alles darauf zugreifen kann. Es sollte ein selbst gehostetes System sein, bei dem die Daten im eigenen Hause gespeichert werden.

Eine mögliche Lösung wäre ein Jabber Server (siehe auch Ein eigenes Messenger System mit Jabber/XMPP).

Eine Alternative ist die Chatanwendung Zulip.

Das Startup Zulip wurde Anfang 2014 in seiner Beta Phase vom Cloud Speicher Anbieter Dropbox gekauft. Im September 2015 wurde die Software dann von Dropbox als Open Source Projekt veröffentlicht. Zulip ist Slack sehr ähnlich und zeichnet sich unter anderem durch weitreichende Integrationsmöglichkeiten für Tools, die in der Softwareentwicklung genutzt werden, aus.

Integrationen für Zulip
Integrationen für Zulip

Ausser diesen Integrationen bietet Zulip

  • Themenspezifische Gruppenchats (Streams)
  • Die Speicherung aller Nachrichten und in einem Stream auch im Nachhinein lesbar und durchsuchbar
  • Privatchats
  • Statusanzeige: Wer ist online
  • Automatische Inline-Darstellung von in den Chat kopierten Links (Bilder, Videos, Tweets)
  • Dateiupload per Drag and Drop
  • Benachrichtigungen per @name
  • Gruppenweite Benachrichtungen per @all
  • E-Mail- und Desktop Benachrichtigungen
  • Emojis
  • Syntax Highlighting bei Code
  • Die Bearbeitung von Chat-Nachrichten
  • Gruppen, die nur per Einladung zugänglich sind
  • Die Darstellung markierter Nachrichten in einer Liste (Favoriten)
  • Mobile Apps für Android und iOS
  • Desktop Apps für Windows, OSX und Linux

Um das System nutzen zu können, muss ein eigener Zulip Server aufgesetzt werden.
Es existiert ein Installationsscript für Ubuntu 14.04 Trusty das ich auch in diesem Blogbeitrag nutze. Das Script geht davon aus, dass Zulip die einzige Anwendung auf dem Server ist. Ein eventuell bereits laufender Apache Web Server auf Port 80 sollte gestoppt werden, Zulip nutzt Nginx.

Die Servervoraussetzungen für ein kleines Team sind 2 GB Hauptspeicher, bei mehr als 50 Nutzern sollten es mindestens 4 GB oder sein. Viel Speicher ist selten eine schlechte Wahl!

Die Chats sind verschlüsselt. Letsencrypt Zertifikate können genutzt werden.

Installation

Die Installation erfolgt als root User. Logge dich auf der Konsole ein. Der Befehl

sudo -i

schaltet dauerhaft root ein.

Codepaket laden

Wechsle in das /root Verzeichnis, lade und überprüfe das Codepaket, entpacke es und verschiebe die Dateien in das /root/zulip Verzeichnis.

cd /root
wget https://www.zulip.com/dist/releases/zulip-server-1.3.10.tar.gz
echo "3d96694abc878056bb6436d24b381e1776f3f70e zulip-server-1.3.10.tar.gz" | sha1sum -c
tar -xf zulip-server-1.3.10.tar.gz
mv zulip-server-1.3.10 zulip

SSL Zertifikate

Zulip setzt HTTPS voraus. Zertifikatserzeugung mit Letsencrypt oder anderen Anbietern funktioniert „wie immer“, ist aber abhängig vom Zertifikatsanbieter.
Wenn du kein Zertifikat „zur Hand“ hast, findest du hier die Befehle für ein selbst unterschriebenes Zertifikat. Die Abhörsicherheit, verglichen mit signierten Zertifikaten, ist die Gleiche, die Browserwarnung für selbst zertifizierte Zertifikate kann in diesem Fall von deinem Team ignoriert werden.

apt-get install openssl
openssl genrsa -des3 -passout pass:x -out server.pass.key 4096
openssl rsa -passin pass:x -in server.pass.key -out zulip.key
rm server.pass.key
openssl req -new -key zulip.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey zulip.key -out zulip.combined-chain.crt
rm server.csr
cp zulip.key /etc/ssl/private/zulip.key
cp zulip.combined-chain.crt /etc/ssl/certs/zulip.combined-chain.crt

Installationscript

Wechsle in das /root/zulip Verzeichnis und starte das Installationsscript.

cd /root/zulip
./scripts/setup/install

Die Installation kann ein paar Minuten dauern.

Konfiguration

Bevor der Server gestartet werden kann, müssen in der Datei /etc/zulip/settings.py ein paar Einstellungen getätigt werden.

/etc/zulip/settings.py
/etc/zulip/settings.py

Zulip ist standardmässig so organisiert, dass alle Nutzer aus einer Domain kommen und sich mit Ihrer E-Mail Adresse registrieren müssen. Diese Einstellungen können natürlich verändert werden, aber gerade der Standard passt hervorragend auf Firmenstrukturen.

Daher muss der Parameter ADMIN_DOMAIN mit deinem Domainnamen versehen werden und es muss mindestens ein AUTHENTICATION_BACKEND ausgewählt werden (in meinem Fall E-Mail/Paswort).

Im weiteren Verlauf der Konfigurationsdatei muss ein SMTP Server angegeben werde, damit E-Mails verschickt werden können.

EMAIL_HOST = 'mail.seafolly.ch'
EMAIL_HOST_USER = 'hagen@seafolly.ch'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = "Hagen (Zulip) <hagen@seafolly.ch>"
NOREPLY_EMAIL_ADDRESS = "noreply@seafolly.ch"

Jetzt sind die Änderungen in der /etc/zulip/settings.py erledigt. Damit der E-Mail Versand funktioniert, muss in der Datei /etc/zulip/zulip-secrets.conf noch das Passwort für den E-Mail Versand hinterlegt werden. Einfach am Ende der Datei

email_password = geheim
email_host_password = geheim

eintragen.

Datenbank initialisieren

Auf der Basis der Konfigurationsdateien kann nun die Datenbank initialisiert werden.

su zulip -c /home/zulip/deployments/current/scripts/setup/initialize-database

Damit ist die Installation beendet und der Zulip Server läuft. Für den produktiven Einsatz solltest du noch das Zulip in Production README lesen und dich in die Zulip Annoucement Mailing Liste eintragen um Nachrichten über Updates u erhalten.

Mit dem Befehl

su zulip -c /home/zulip/deployments/current/scripts/restart-server

kann der Zulip Server nach Konfigurationsänderungen neu gestartet werden.

Beim Aufruf im Browser erwartet dich folgendes Bild:

Zulip - Erster Start
Zulip – Erster Start

Registrierung

Jeder Chatteilnehmer muss sich mit einer E-Mail Adresse registrieren, deren Domain mit der in der Konfiguration definierten Domain übereinstimmt.

Zulip - Registrierung
Zulip – Registrierung

Der Server verschickt eine E-Mail an die angegebene Adresse mit einem Bestätigungslink.

Zulip - E-Mail mit Aktivierungslink
Zulip – E-Mail mit Aktivierungslink

Nack Klicken des Links wird man zur Eingabe eines Namens und des gewünschten Passworts aufgefordert:

Zulip - Kontoaktivierung
Zulip – Kontoaktivierung

Nach dem Klick auf den Register Button erfolgt eine kleine Tour die die Zusammenhänge zwischen Streams und Topics zeigt.

Zulip - Tour
Zulip – Tour

Drei Streams sind bereits vorkonfiguriert (engineering, social und zulip).
Das Einzige, was nun noch fehlt, sind deine Arbeitskollegen (It’s lonely in here! Invite some coworkers).

Zulip - Web-Oberfläche
Zulip – Web-Oberfläche

Ausser der gut funktionierenden Webversion gibt es auch native Apps für Windows, OSX, Linux, iOS und Android!

Fazit

Um es mal kurz zu machen – es läuft!

Links


tl;dr: Zulip ist eine Open Source Group Chat Anwendung mit zahlreichen Integrationsmöglichkeiten, die auf einem eigenen Server installiert wird und über zahlreiche Clients angesprochen werden kann.

Kategorien
Messenger Server

Ein eigenes Messenger System mit Jabber/XMPP

Jabber (engl. Geplapper) ist der Name eines Kommunikations- und Streamingprotokolls das 1999 von Jeremie Miller veröffentlich wurde. 2004 wurde das Protokoll durch die IETF zu einem offiziellen Standard mit dem Namen Extensible Messaging and Presence Protocol (XMPP), oder auf Deutsch, erweiterbares Nachrichten- und Anwesenheitsprotokoll. Die Kernidee dabei war, den Anwesenheitsstatus eines Nutzers (online, offline) mit anderen Nutzern zu teilen (Freunde, Bekannte) und mit der Möglichkeit zu kombinieren, sich Nachrichten in Echtzeit zusenden zu können.

Die Daten werden dabei auf unterschiedlichen Servern gespeichert. Die Server sind miteinander verbunden.

Um Benutzer innerhalb des XMPP-Netzwerkes zu identifizieren und zu adressieren, gibt es den sogenannten „Jabber Identifier“ (JID). Dieser hat die Form „alice@example.com“, ähnelt einer E-Mail-Adresse und verhält sich auch ähnlich: So ist hier alice der Benutzername und example.com der Server, bei dem der Nutzer registriert ist. Durch das Konzept der „Ressourcen“ ist es möglich, sich mit einer Identität an einem XMPP-Server mehrfach anzumelden.
Ein großer Vorteil von XMPP ist, dass nahezu für jedes Betriebssystem und in jeder Programmiersprache XMPP-Clients existieren. Allerdings unterscheiden sich die Lösungen hinsichtlich des Umfangs, in dem sie das Protokoll unterstützen. (Wikipedia)

Fast alle grossen Messengersysteme, beispielsweise Facebook Messenger und Google Talk, bauen auf dem XMPP-Protokoll auf. Wenn nicht, so bieten sie meistens eine Unterstützung für XMPP an, beispielsweise Apple iChat.

Nach wie vor ist es natürlich möglich, seinen eigenen Messaging Server zu betreiben.

Wir bei Novatrend nutzen beispielsweise einen Jabber/XMPP Server für das interne Messaging. Der Nachrichtentransport ist verschlüsselt und auch wenn die Daten nicht immer geheim sind, so ist doch sichergestellt, dass Sie nicht auf Festplatten anderer Firmen gespeichert werden. Eine Registrierung ist auf unserem Jabber Server nicht erlaubt. Nur ein Administrator kann Benutzerkonten anlegen.
Es gibt Clients für alle denkbaren Betriebssysteme und Jabber/XMPP hat sich für uns zu einer einfachen und effektiven Art der Kommunikation entwickelt.

Installation

Es gibt unterschiedliche XMPP Server. Einer der gebräuchlichsten Open Source XMPP Server ist eJabberd. Er ist in der eher selten verwendeten Sprache Erlang geschrieben, zuverlässig und skalierbar.

Website eJabberd
Website eJabberd
Die Installation in Ubuntu 14.04 ist sehr einfach

sudo apt-get install ejabberd

Bei der Installation wird ein selbstunterzeichnetes Zertifikat erzeugt, das den Nachrichtenverkehr verschlüsselt.

Konfiguration

Der Server muss mit Domainnamen, Adminuser und Passwort konfiguriert werden. Der Rest der Konfiguration kann beim Standard belassen werden (eine Benutzerregistrierung über Clients ist in der Standardkonfiguration deaktiviert). Für die Konfiguration nutzen wir dieses Kommando:

sudo dpkg-reconfigure ejabberd

Zunächst wird der Namen des hosts abgefragt. Hier muss die Domain eingegeben werden und der Rechner muss auch über das DNS-System unter diesem Namen bekannt sein.

eJabberd - Domain
eJabberd – Domain

Als nächstes wird nach einem Namen für das Administratorkonto gefragt.
Dabei handelt es sich um die bereits oben angesprochene Jabber-ID, der administrative Rechte eingeräumt werden.
Mit dieser JID kann man sich dann später auch über einen XMPP-Client einloggen (concierge@serverblogger.ch).

eJabberd - Name des Administratorkontos
eJabberd – Name des Administratorkontos
eJabberd - Password
eJabberd – Password
Danach trat bei mir der folgende Fehler auf:

Waiting for ejabberd to register admin user...................................................^@.........
Can't register admin user "concierge@serverblogger.ch".
Ejabberd is starting too long.

Ich habe dann diese Prozesse gelöscht

sudo killall epmd

und den Befehl

sudo dpkg-reconfigure ejabberd

und die login Daten nochmal eingeben. Beim zweiten Versuch funktionierte es:

Starting jabber server: ejabberd.
Waiting for ejabberd to register admin user.
Admin user "concierge@serverblogger.ch" is registered successfully.

Der Jabber-Server läuft jetzt.

Das Start/Stop Script wird folgendermassen aufgerufen

sudo /etc/init.d/ejabberd restart

Adminbereich

In der Standardkonfiguration bietet ejabberd eine Weboberfläche, die über die URL http://serveradresse:5280/admin/ zu erreichen ist.

eJabberd - Adminbereich
eJabberd – Adminbereich
Hier kann man auf einfache Art neue Benutzer anlegen. In der Standardkonfiguration ist das Registrieren von Konten durch den Jabber-Client verboten.
eJabberd - User
eJabberd – User

Sie können sich jetzt bereits mit einem Client wie Adium verbinden. Weil das Zertifikat selbst erstellt ist, erscheint folgende Meldung:

Adium - Zertifikatsabfrage
Adium – Zertifikatsabfrage
Adium - Benutzerdaten eingeben
Adium – Benutzerdaten eingeben
Adium - Jabber Chat
Adium – Jabber Chat

Das ist die Minimal Konfiguration für einen SSL-verschlüsselten Messenger den problemlos alle Mitarbeiter Ihrer Organisation nutzen können!

Je nach Ihren Anforderungen, können Sie den eJabberd erweitern und umkonfigurieren.

Einen guten EInstieg und eine detailliertere Beschreibung der Konfiguration finden Sie in der Installationsanleitung von ubuntuusers.de (siehe Links).

Links:


tl;dr: Ein eigener Jabber/XMPP Messenger Server ist einfach einzurichten, ist verschlüsselt und läuft überall!

Kategorien
Messenger Server Soziale Netze

pump.io – die Basis für dezentrale soziale Netzwerke?

Nach meinen bisherigen Erlebnissen mit den alternativen sozialen Netzwerken Friendica und GNU social zeigte sich schnell die Hauptproblematik. Es fehlt bis heute ein gemeinsamer Standard für die Speicherung und Verwaltung der eigenen Daten und Beziehungen zu anderen Benutzern. Alle proprietären sozialen Netzwerke wie Facebook, Twitter, und Google+ lösen das auf die klassische Art. Sie nutzen Ihren eigenen Standard und versuchen, Ihre Nutzerzahlen, auch durch Zukäufe von anderen Netzwerken, zu erhöhen. Das hilft diesen Unternehmen, nicht aber den beteiligten Menschen, wie Ihnen und mir, die die Hoheit über Ihre Daten und Berechtigungen haben wollen.

Pump.io geht genau dieses Problem an

I post something and my followers see it. That’s the rough idea behind the pump.

Pump.io besitzt eine API, nutzt activitystrea.ms und JSON ist das Hauptdaten- und Kommandoformat. Man kann also beispielsweise kurzen und langen Text, Lesezeichen, Bilder, Video, Audio, Events und ortsbasierte Checkins posten. Man kann anderen Nutzern folgen und Listen von Nutzern anlegen und darüber wieder deren Inhalt, abhängig von deren Berechtigungen sehen und/oder downloaden. Pump.io wird unter der Apache-2.0-Lizenz veröffentlicht, die jedem die Nutzung des Quellcodes erlaubt, aber fordert, dass Änderungen an der Software weitergegeben werden müssen. Anders als bei der GPL fordert die AGPL dies auch dann, wenn man die Software selbst nur nutzt und nicht weiterverbreitet. Code unter der Apache-2.0-Lizenz kann auch in proprietären Projekten verwendet werden.

Durch die offene Struktur kann man selbst einen pump.io Server betreiben oder sich auf einem vertrauenswürdigem externen Server registrieren. Um diese Struktur herum können dann Anwendungen entstehen, die auf Telefonen, im Web oder von Maschine zu Maschine laufen.

Ein Projekt, daß momentan pump.io einbaut ist MediaGoblin. MediaGoblin ist ein dezentrales Netzwerk für Medien, also die dezentrale Alternative zu Flickr, YouTube und SoundCloud.

Eine stabile Version, die Sie auch nutzen können, finden Sie beispielsweise hier (https://goblinrefuge.com/).

Die proprietären sozialen Netzwerke könnten also einfach pump.io als Basis nehmen, sich gegenüber Ihren Nutzer vertauenswürdig verhalten und die Welt wäre ok? Im Prinzip ja. Das ebenfalls proprietäre Netzwerk Identi.ca, ist genau diesen Weg gegangen (Umbau bei Identi.ca – Golem 4.5.2013). Dazu muß man allerdings auch wissen, daß der Gründer von Identi.ca und pump.io derselbe ist, nämlich Evan Prodromou. Evan ist seit 2013 in der W3C Federated Social Web Incubator Group engagiert und steckt auch im GNU social Projekt, das ebenfalls pump.io als Standard nutzt.

Hier eine Präsentation von ihm, die einen detaillierteren Überblick über pump.io gibt.

Hier klicken, um den Inhalt von slides.com anzuzeigen

Um der Sache etwas mehr auf den Grund zu gehen, wollte ich pump.io einfach mal installieren und schauen was man damit tun kann. Nach der Installation war ich überrascht, einen vollständigen Twitterersatz gefunden haben.

Installation

Zur Installation habe ich die folgenden Anleitungen genutzt.

http://pump.io/
https://github.com/e14n/pump.io/wiki/Ubuntu-Installation#install-basic-build-essential-packages

pump.io ist momentan in der Version 0.3 verfügbar. Es arbeitet nicht wirklich gut mit dem Apache Proxy Modul zusammen und es wird empfohlen einen Root-Server exclusiv für pump.io zu nutzen. Mit dem Nginx Proxy harmoniert pump.io besser (http://sjoberg.fi/blog/pumpio.html). Da ich es für diesen Artikel nur ausprobieren wollte, gibt es dieses mal nur eine kurze Installationbeschreibung aber – eine Testversion auf http://pump.serverblogger.ch:31337.

Aber zurück zum Installieren.

Installationsvoraussetzung sind node.js 0.8.0 oder größer, npm 1.1.0 oder größer, eine Datenbank und das graphicsmagick Paket.

Ich habe ein Installationsscript genutzt, das wirklich gut funktioniert.

wget https://gist.githubusercontent.com/debanjum/3c3e92de34d290a8bc68/raw/f2d86de263980e744a7ac1079c2863f49fe1c9d6/Pump.sh
chmod +x Pump.sh        # Make script exectuable
sudo ./Pump.sh "local"  # For local testing
# OR #
sudo ./Pump.sh "server" # For server testing, with external ip and hostname

Danach habe ich in der /etc/pump.io.json Konfigurationsdatei noch die Werte für site, hostname, owner, ownerURL, address und serverUser angepasst.

{
    "driver":  "redis",
    "params":  {"host":"localhost","port":6379},
    "secret":  "my dog has fleas",
    "noweb":  false,
    "site":  "Serverblogger",
    "owner":  "NOVATREND Serverblogger",
    "ownerURL":  "http://blog.novatrend.ch/",
    "port":  31337,
    "hostname":  "pump.serverblogger.ch",
    "address":  "pump.serverblogger.ch",
    "nologger":  false,
    "serverUser":  "novatrend",
    "uploaddir": "/srv/pump.io/uploads",
    "debugClient": false,
    "firehose": "ofirehose.example"
}

In Screen läst es sich so starten

screen -S pumpserver -L -dm bash -c "cd /srv/pump.io; npm start"

Danach lief der Server … schauen Sie mal vorbei http://pump.serverblogger.ch:31337. Sie und ich können sich User anlegen, Bilder hochladen, Nutzern folgen und den Account auf anderen pump.io Plattformen nutzen. Denken Sie aber daran, dass es nur eine Testinstallation ist und wieder von unserem Server verschwinden wird.



Links


tl;dr: Pump.io stellt eine API aller notwendigen Funktionen für soziale Software unter einer auf kommerziell nutzbaren Lizenz zur Verfügung.

Kategorien
Messenger

Messenger – Schnell, Einfach, Sicher – IRC

In Zeiten von Facebook, WhatsApp, Telegram, Threema und vielen anderen Messaging Services stellt sich für Firmen und grössere Gruppen von Menschen die Frage, wie man denn nun am Besten ohne einen fremd verwalteten Server miteinander textbasiert kommunizieren kann.

Wie realisiert man textbasierte Kommunikation in einem Unternehmen, die auf allen Endgeräten funktioniert, wenig Ressourcen verbraucht und auch noch einigermassen „sicher“ ist? Die wohl älteste, aber nach wie vor funktionierende Variante ist der Interlay Relay Chat (IRC). Ursprünglich wurde der Relay Chat Anfang der achtziger Jahre im BITNET (Because It’s Time NETwork) genutzt. 1988 wurde das Prinzip durch den finnischen Studenten Jarkko Oikarinen auf das Internet übertragen.

Wenn Sie noch nie etwas von IRC gehört haben, schauen Sie sich New User Introduction auf irchelp.org an. Ein guter Anfang auf Deutsch ist Internet Relay Chat – Eine möglichst kurze Einführung von Kai ‚Oswald‘ Seidler.

Grundsätzlich benötigen Sie einen IRC-Client und einen IRC-Server. Der IRC-Client läuft auf Ihrem Endgerät, der IRC-Server ist entweder öffentlich zugänglich und wird von „jemandem“ betrieben.

Sie können sich aber auch Ihren eigenen IRC-Server auf Ihrem Root-Server installieren und darüber völlig autark passwortgeschützt und verschlüsselt kommunizieren. In diesem Artikel werden wir den UnrealIRC Server instalieren und über verschiedene Clients damit Kontakt aufnehmen.

IRC Server

Die Konfiguration von IRC Servern wie ratbox, die als Installationspaket für Ubuntu vorliegen ist ziemlich aufwändig, daher verwende ich in diesem Beispiel den Unreal IRC Server. Die Installation und Konfiguration ist recht überschaubar.

Installation

Ich lade die Dateien in das Verzeichnis /home/novatrend

Download des Quellcodes

wget https://www.unrealircd.org/downloads/Unreal3.2.10.4.tar.gz

Auspacken des Pakets

tar xfz Unreal3.2.10.4.tar.gz

Dann in das Verzeichnis wechseln und mit ./Config das Konfigurationsprogramm aufrufen.

novatrend@server1:~/Unreal3.2.10.4$ ./Config

Die meisten Fragen können mit der Entertaste und dem vorgeschlagenen Wert beantwortet werden

What directory are all the server configuration files in?
[/home/novatrend/Unreal3.2.10.4] ->

What is the path to the ircd binary including the name of the binary?
[/home/novatrend/Unreal3.2.10.4/src/ircd] ->

What should the default permissions for your configuration files be? (Set this to 0 to disable)
It is strongly recommended that you use 0600 to prevent unwanted reading of the file
[0600] ->

Wenn der Chat verschlüsselt sein soll müssen sie hier Yes eingeben

Do you want to support SSL (Secure Sockets Layer) connections?
[No] -> YES

Die nächste Frage können Sie mit Enter bestätigen. Die OpenSSL Library wird unter Ubuntu 14.04. automatisch gefunden

If you know the path to OpenSSL on your system, enter it here. If not
leave this blank (in most cases it will be detected automatically).
[] ->

Auch bei den weitere Fragen können Sie die Standardwerte übernehmen. Sie können im weiteren Verlauf der Installation auch ein Zertifikat erzeugen, falls Sie noch keins haben.

_______________________________________________________________________
|                                                                       |
|                    UnrealIRCd Compile-Time Config                     |
|_______________________________________________________________________|
|_______________________________________________________________________|
|                                                                       |
| Now all you have to do is type 'make' and let it compile. When that's |
| done, you will receive other instructions on what to do next.         |
|                                                                       |
|_______________________________________________________________________|
|_______________________________________________________________________|
|                        - The UnrealIRCd Team -                        |
|                                                                       |
| * Syzop     syzop@unrealircd.com                                      |
|_______________________________________________________________________|

Wenn diese Meldung erscheint ist die Konfiguration beendet und Sie müssen mit dem make Kommando die eigentliche Kompilierung starten

novatrend@server1:~/Unreal3.2.10.4$ make
...
__________________________________________________
| Compile is now complete.                         |
| You should now read the documentation and learn  |
| how to configure your IRCd.                      |
|                                                  |
| If you really like UnrealIRCd, and would like to |
| make a donation, please read the Donation file in|
| this archive. :)                                 |
|                                                  |
| Thanks for using Unreal IRCd! If you are in need |
| for any kind of help regarding the IRCd please   |
| read the Unreal.nfo file.                        |
|__________________________________________________|
novatrend@server1:~/Unreal3.2.10.4$

Der IRC Server ist nun auf Ihrem Root-Server installiert.

Konfiguration

Der IRC Server benötigt eine Konfigurationsdatei. Im /doc Vereichnis finden Sie Beispieldateien in mehreren Sprachen.

novatrend@server1:~/Unreal3.2.10.4/doc$ ls -l
total 1996
-rw-r--r-- 1 novatrend novatrend  20342 Jul 26 17:42 example.conf
-rw-r--r-- 1 novatrend novatrend  20414 Jul 26 17:42 example.de.conf
-rw-r--r-- 1 novatrend novatrend  22535 Jul 26 17:42 example.es.conf
-rw-r--r-- 1 novatrend novatrend  23120 Jul 26 17:42 example.fr.conf
-rw-r--r-- 1 novatrend novatrend  23117 Jul 26 17:42 example.hu.conf
-rw-r--r-- 1 novatrend novatrend  19916 Jul 26 17:42 example.nl.conf
-rw-r--r-- 1 novatrend novatrend  21650 Jul 26 17:42 example.ru.conf
-rw-r--r-- 1 novatrend novatrend  21524 Jul 26 17:42 example.tr.conf

Ich nehme die Datei example.de.conf und kopiere Sie in das /Unreal3.2.10.4 Verzeichnis. Der Name muss unrealircd.conf sein

nano unrealircd.conf

Ein Konfigurationsbeispiel finden Sie hier unter http://irc-guide.de/wiki/Main/UnrealIRCdBeispielkonfigurationsdatei.

Die Konfigurationsdatei ist sehr gut kommentiert (und sehr lang). Hier die Änderungen, die ich vergenommen habe:

Kommentieren Sie diese beiden Zeilen aus

/* FUER *NIX (Unix, Linux, Xenix etc.), sind diese 2 Zeilen auszukommentieren: */
loadmodule "src/modules/commands.so";
loadmodule "src/modules/cloak.so";

Geben Sie dem Server einen Namen

me
{
        name "irc.serverblogger.ch";
        info "Serverblogger Server";
        numeric 1;
};

Legen Sie den Admin fest

admin {
        "Hagen Graf";
        "hagen";
        "hagen@novatrend.ch";
};

Legen Sie ein Passwort fest

allow {
        ip             *@*;
        hostname       *@*;
        class           clients;
        password "geheimespasswort"
        maxperip 5;
};

Legen Sie Channel fest

allow   channel {
        channel "#serverblogger-chat";
        channel "#raum1";
        channel "#raum2";
        channel "#raum3";
};

Verhindern Sie, dass Channel angelegt werden

deny channel {
        channel "*";
        reason "Es gibt schon vier Raeume :) ";
};

Netzwerk Konfiguration

set {
    network-name            "IRC";
    default-server          "serverblogger.ch";
    services-server         "serverblogger.ch";
    stats-server            "serverblogger.ch";
    ...
    cloak-keys {
                "aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
                "Key eingeben";
                "Key eingeben";
     };

}

Lesen Sie die restlichen Einstellungen und speichern die Datei ab. Im gleichen Verzeichnis können Sie noch die Willkommensdateien motd.conf und rules.conf erstellen um eine Willkommensnachricht auf dem Client anzuzeigen.

Starten und stoppen können Sie den IRC Server nun mit den Befehlen

./unreal start

und

./unreal stop

IRC Clients

Es gibt ein grosses Angebot für IRC-Clients auf allen denkbaren Plattformen. Hier ein paar Beispiele mit dem gerade aufgesetzten irc.serverblogger.ch Server.

Lime (OSX)

http://limechat.net/mac/

Konfiguration Lime IRC Client
Konfiguration Lime IRC Client
Chat Fenster Lime IRC Client
Chat Fenster Lime IRC Client

AndroIRC (Android)

http://www.androirc.com/

AndroIRC Chatfenster
AndroIRC Chatfenster

Adium (OSX)

https://adium.im/

Adium Chat Client
Adium Chat Client

tl;dr: Der Internet Relay Chat ist eine schnelle, einfache und sichere Alternative zu proprietären Messenger Systemen.