Wenn du eine Kommentarfunktion auf deiner eigenen Seite einrichten möchtest gibt es drei Möglichkeiten. Neben den systemeigenen Kommentaren und Disqus gibt es noch Isso, welches ich dir heute vorstellen werde.
Dieser Artikel wurde zuletzt vor über einem Jahr aktualisiert. Die Inhalte könnten inzwischen nicht mehr aktuell sein.
Warum Isso?
Im Normalfall wirst du auf das Kommentarsystem deines Content-Management-System (CMS) zurückgreifen wollen. Wordpress hat ein recht gutes, auch andere bieten das an. Wenn du einen Blog bei Blogger hast kannst du dort auch auf dieses System zurückgreifen.
Im Leben eines Webentwicklers gibt es aber auch Zeiten, in denen kein CMS verwendet wird sondern die Seite in reinem HTML geschrieben ist. Hierfür fällt einem dann als erstes Disqus ein, ein Kommentarsystem aus den USA. Gibts übrigens auch für Wordpress. Die Einrichtung ist denkbar einfach, Account erstellen, Einstellungen vornehmen und ein fertigen Codeblock direkt auf die Website packen. Disqus hat dabei aber zwei gravierende Nachteile: Erstens lässt sich das System vom Aussehen her fast gar nicht anpassen, da es per IFrame geladen wird (pfui!). Noch schlimmer aber: Du holst dir damit alle Möglichen Trackingtools mit ins Haus. Disqus setzt dabei mindestens Google Analytics ein. Außerdem werden alle Daten, Mailadressen der Nutzer u.ä. in den USA gespeichert. Und anonym kommentieren ist auch nicht möglich.
Genau hier setzt Isso an. Da du dieses System auf deinem eigenen Server betreibst, bist du Herr über alle anfallenden Daten. Es wird auch nichts getrackt, es gibt einfach nur eine Kommentarfunktion und gut ist. Die Einrichtung auf der Website ist dabei genauso einfach wie bei Disqus, einfach einen Codeblock kopieren und gut ist.
Weiterhin kannst du Isso optisch beliebig anpassen, da die Elemente hierbei direkt in den DOM eingefügt werden und nicht per IFrame integriert werden. Ebenso ist anonymes Kommentieren möglich, dennoch können Nutzernamen, Mailadressen und Webseiten bei Bedarf angegeben werden.
Der Name Isso kommt übrigens wirklich von dem deutschen "Isso" (Kurzform für "Ist so!"). Nur falls du dich gewundert hast.
Installation
Überzeugt? Dann nichts wie ran an die Installation! Zu allererst brauchst du Python. Wenn du einen eigenen (virtuellen) Root-Server hast, kein Problem. Auch ein uberspace bietet Python von Haus aus an, hierfür gibt es sogar schon fertige Isso-Anleitungen. Wenn du nur ein einfaches Webhosting-Paket hast, wird die Installation wahrscheinlich nicht möglich sein, zur Not frag einfach mal beim Support nach.
Python installieren
Nun, da die Vorraussetzungen geklärt sind, musst du Python installieren. Das geschieht auf Debian-Systemen ganz einfach mit
sudo apt-get install python-setuptools python-virtualenv
sudo apt-get install python-dev sqlite3 build-essential
Als nächstes legst du dir eine virtuelle Umgebung an. Das ist sinnvoll, damit sich verschiedene Anwendungen bei benötigten Bibliotheken nicht in die Quere kommen, wenn sie zB. verschiendene Versionen benötigen. Um diese Umgebung anzulegen und in diese hinein zu wechseln führst du folgende zwei Befehle (als normaler Nutzer) aus:
virtualenv /opt/isso source /opt/isso/bin/activate
Isso installieren
Nun geht es an die eigentliche Installation von Isso. Dazu reicht - wieder einmal - ein einziger Befehl:
pip install isso
Daumen drücken - nach etwa fünf bis zehn Sekunden sollte die Installation abgeschlossen sein.
Konfiguration
Isso konfigurieren
Vor dem ersten Start musst du Isso noch konfigurieren. Woher soll es schließlich wissen, wo es die Datenbank ablegen soll? (Moment, Datenbank ablegen? Ja, Isso verwendet SQLite, wo eine Datenbank aus einer einzigen Datei besteht, im Gegensatz zu MySQL und Konsorten.) Dazu legst du dir eine neue Datei an. Wo ist egal, ich lagere sie der einfachhalt halber direkt im Installationsverzeichnis.
touch /opt/isso/isso.cfg
nano /opt/isso/isso.cfg
Hier hinein kannst du nun verschiedene Optionen setzten. Als erstes wird im [general]
-Bereich festgelegt, wo deine Datenbank liegen soll. Du kannst die jetzt folgenden Codeblöcke einfach nacheinander in die Datei einfügen. Weiterhin definierst du hier die Domains, für die das Blogsystem gelten soll, die maximale Zeit, die Nutzer haben, ihre Beiträge zu editieren und die Benachrichtigung per Mail.
[general]
dbpath = /opt/isso/isso.db
host =
http://deinedomain.de
https://deinedomain.de
max-age = 15m
notify = smtp
Als nächstes muss der Server konfiguriert werden. Damit wird festgelegt, über welche Adresse (und vorallem: Port) der Server auf Eingaben wartet.
[server]
listen = http://localhost:2345
Weiterhin braucht Isso die nötigen Einstellungen um die Mails per SMTP versenden zu lassen. Da hier dein Passwort im Klartext gespeichert wird, solltest du für Isso einen eigenen Account auf deinem Mailserver einrichten. Alternativ kannst du die Moderation natürlich auch sein lassen und Kommentare direkt anzeigen lassen.
[moderation]
enabled = true
purge-after = 30d
[smtp]
username =
password =
host = localhost
port = 587
security = starttls
to = deine@mailadresse.de
from = comments@deinedomain.de
timeout = 10
Der Guard schließlich bietet eine einfache Spamprotection:
[guard]
enabled = true
ratelimit = 2
direct-reply = 3
reply-to-self = false
Zuletzt musst du auf deine Seite noch den Code einfügen, damit Isso überhaupt erscheint. Füge einfach an beliebiger Stelle (nach einem Artikel würde ggf. Sinn machen) folgenden Code ein:
<script data-isso="//comments.deinedomain.de/" src="//comments.deinedomain.de/js/embed.min.js"></script>
<section id="isso-thread"></section>
Apache bereit machen
Du möchtest das Kommentarsystem ja unter comments.deinedomain.de
erreichbar haben, nicht unter deinedomain.de:2345
. Dafür muss der Apache richtig konfiguriert werden. Als erstes müssen dazu zwei Module aktiviert werden:
a2enmod proxy
a2enmod proxy_http
service apache2 restart
Als nächstes kannst du einen VirtualHost einrichten:
touch /etc/apache2/sites-avaible/comments.conf
nano /etc/apache2/sites-avaible/comments.conf
Hierhinein schreibst du nun folgende Zeilen:
<virtualhost *:80="">
ServerName comments.deinedomain.de
ProxyPreserveHost On
ProxyRequests Off
ProxyVia Off
ProxyPass / http://127.0.0.1:2345/
ProxyPassReverse / http://127.0.0.1:2345/
</virtualhost>
Als letztes muss die Subdomain aktiviert werden, das geht mit
a2ensite comments.conf
service apache2 reload
Isso starten
Noch wird bei einem Neuladen der Seite ziemlich genau nichts erscheinen. Isso muss nämlich erst gestartet werden.
isso -c /opt/isso/isso.cfg run
Nun sollte im Terminal einen neue Zeile erscheinen, die besagt, Isso ist erfolgreich auf die Domain gemappt worden. Auf der Website solltest du jetzt ein Kommentarsystem sehen. Herzlichen Glückwunsch! Bleibt nur noch ein Problem: Sobald du den Server mittels [Strg]+[c]
oder verlassen des Terminals beendest, gibts auch keine Kommentare mehr zu sehen. Daher richten wir im letzten Schritt Isso als Service ein:
Isso-Service einrichten
Ein Service hat den Vorteil, das dieser immer im Hintergrund läuft und auch bei einem Neustart direkt mitgestartet wird. Um Isso als Service zu konfigurieren musst du folgendes machen:
Hier weiß ich leider nicht weiter, deswegen ist die Anleitung an dieser Stelle unvollständig.
Abschluss
Herzlichen Glückwunsch: Du hast jetzt ein voll funktionsfähiges Kommentarsystem!
Wenn du Kommentare von Disqus oder Wordpress importieren willst geht das auch ganz einfach:
isso -c /opt/isso/isso.cfg import disqus-or-wordpress.xml
Zu aller letzt kannst du jetzt noch Isso stylen wie du möchtest, es stehen dir mit CSS alle Optionen offen. Bei Fragen gilt wie immer: Ab in die Kommentare damit. Und jetzt: Viel Spaß!
- # Webentwicklung
- # Kirby
- # Isso