Categories
Free Software

Tutorial/HowTo: ejabberd + jwchat + apache2 on Ubuntu or Debian

What is jwchat? Jwchat

is a full featured, web-based Jabber™ client.

It uses the HTTP-POLL method to connect to a jabber-server. It is written in Javascript, which is quite nice because you do not open a glaring security-hole by installing it.

I am not going to explain how you set up ejabberd or apache2; there are tons of tutorials for that out there.

  1. Go to the jwchat download-page and download it. Extract it to somewhere where the webserver can read it; i put it in /usr/share/jwchat. Alternatively you can just aptitude install jwchat.
  2. Edit the config.js you can find in jwchat/www . There are two things you want to edit:
    1. The SITENAME. Just put in your servername.
    2. The httpbases a bit further down. This is the relative path where jwchat will try to contact the jabber-server. Put in anything you want; the default makes sense, though.
  3. Now comes the part where the jwchat-documentation fails us: we have to configure the apache2 to proxy all requests which go to the httpbase over to the jabber-server. jwchat proposes the following configuration:
    DocumentRoot /var/www/jwchat
    Options +Indexes +Multiviews
    AddDefaultCharset UTF-8
    RewriteEngine on
    RewriteRule http-poll/ http://127.0.0.1:5280/http-poll/ [P]

    While this works, it adds a burden to the user: his firewall needs to allow outgoing connections to port 5280. It is way better to keep all connections on one port so that jwchat works in heavily locked-down environments like libraries, universities and schools. This can be achieved by mod_proxy.

  4. First you have to enable mod_proxy_http and mod_proxy. You can do that by calling a2enmod proxy proxy_http
  5. Once this is done, put this somewhere into one of your (virtual)host configurations:ProxyRequests Off
    ProxyPass /http-poll/ http://127.0.0.1:5280/http-poll/
    ProxyPassReverse /http-poll/ http://127.0.0.1:5280/http-poll/
    Allow from all
    Alias /jwchat /usr/share/jwchat/www
    Options +Indexes +Multiviews +FollowSymLinks
    AddDefaultCharset UTF-8

    Now the users can go to $example.com/jwchat and use their jabber-accounts without having to install a client.

It is important to note that the username and password are transmited as plaintext; this is dangerous and stupid. Not only will you die, it will also hurt the whole time you’re dieing.

Edit: I was wrong: Jwchat uses DIGEST-MD5. While it is better than nothing, SSL is way more secure, seeing as the IETF is in the process of deprecating DIGEST-MD5 because of the bruteforceability.

Never use jwchat over an unencrypted connection. Be smart and put that whole configuration into an SSL-enabled host. You don’t lose any functionality but gain important security.

Categories
uncategorized

OpenSuse 10.3 – A joyride

Aus Spaß an der Freude habe ich mir gerade OpenSuse 10.3 installiert.

Ich mag es nicht.

OpenSuse ist eine Distribution die verdammt gut sein könnte. Das Ding sieht sehr gut aus (weitaus besseres artwork als Ubuntu), ist aber nicht wirklich zu verwalten.

Mein Ziel mit der Installation: Ein KDE installieren, neueste Updates draufspielen und ein bischen rumsurfen. Nichts wildes eigentlich.

Das Problem: Standardmäßig wird (wenn man die Installation ohne aktive Internetverbindung ausführt) keinerlei Update-Quelle konfiguriert. Das Programm welches selbstständig nach Updates sucht meldet das auch. Es besitzt sogar einen Knopf “Quellen hinzufügen”. Nur leider ermöglicht der darauf folgende Dialog nur die direkte Eingabe einer URL.

Wie bekommt man also eine Update-Quelle? Die Buttons “Online-Update” und “Automatisches Online-Update” in dem Yast-Kontrollzentrum führen einen nur wieder zu dem bekannten Dialog zurück. Installationsquelle wechseln ebenfalls.

Das Geheimnis verbirgt sich hinter “Community Repositories”, einer großen Liste von Paketquellen, in der auch das OpenSuse-Repository auftaucht.

Hätte ich das meiner Mutter zumuten können?

Und warum zum Teufel ist RPM so elendig langsam?

Das Kontrollzentrum ist relativ aufgeräumt (auch wenn ich die Sortierung/Benennung manchmal etwas doppeldeutig finde). An sich eine echt tolle Sache. Da Yast seit 2004 unter der GPL verfügbar ist sollte einer Portierung eigentlich nichts im Wege stehen, oder?

Denkste: Yast4Debian ist tot, und die Ubuntu-Neuentwicklung Ubuntu System Tools ist ebenfalls sehr sehr still. Schade eigentlich, denn für absolute Anfänger ist das Ding ziemlich praktisch.

Der Rest von OpenSuse ist klassische Linux-Kost: viele tolle Programme, die im Regelfall sehr stabil sind und weitaus besser zu konfigurieren sind als ihre Counterparts.

Ich bleibe trotzdem bei Ubuntu (Ubuntu ist afrikanisch und bedeutet “Ich bin zu faul Debian richtig zu konfigurieren”).