/ isso

Isso auf Uberspace U7 installieren und in Ghost einbinden

Seid gegrüßt Freunde,

heute installieren wir mal zackig Isso auf der U7 Beta und binden das noch auf unserem Ghost Blog ein. Wie man einen Ghost Blog auf U7 installiert habe ich bereits gezeigt (vgl. Ghost auf Uberspace U7)

Isso
a commenting server similiar to Disqus

Ghost bietet von Haus aus keine Möglichkeit für Kommentare. Daher gibt es verschiedene Optionen, dies zu beseitigen. Das bekannteste Beispiel wäre Disqus. Darüber hinaus können Facebook, Isso und einige mehr genutzt werden.

Ich hab mich für Isso entschieden, dann liegen die Kommentare auch auf dem Uberspace und nicht irgendwo in den USA.

Die offizielle Anleitung zeigt mehrere Möglichkeiten auf, um Isso zu installieren.
Wir entscheiden uns für die Variante über pip.

$ pip install --user isso

Schon wurde Isso unter ~/.local/bin/ installiert.
Nun suchen wir wieder einen freien Port wie bei Ghost.

$ ISSOPORT=$(( $RANDOM % 4535 + 61000)); netstat -tulpen | grep $ISSOPORT && echo "versuch's nochmal"

Als nächstes wird die Konfigurationsdatei für Isso erzeugt.

$ mkdir etc/isso
[user@vulpecula ~]$ cat <<__EOF__ >~/etc/isso/user.cfg
[general]
dbpath = $HOME/etc/isso/comments.db
host =
    https://YOURURL/
    http://YOURURL/
log-file = $HOME/logs/isso_logfile
[server]
listen = http://localhost:$ISSOPORT/
__EOF__

Weitere Erläuterungen und Konfiguration können der offiziellen Dokumentation entnommen werden. Die sqlite3 Datenbank wird unter ~/etc/isso/comments.db gespeichert.
Host enthält die URL zum gewünschten Blog. In meinem Fall ist es blog.amuehlbeier.de.
Ich nutze die log-file, um zu überprüfen, ob neue Kommentare vorhanden sind. Zum Schluss wird noch festgelegt auf welchem Port Isso laufen soll.

Nun testen wir, ob Isso auf unsere Datenbank verbinden kann.

$ isso -c ~/etc/isso/user.cfg run
... connected to https://blog.amuehlbeier.de/

Jetzt benötigen wir noch eine Sub-Domain, damit Isso von draußen erreichbar ist. In meinem Beispiel habe ich isso.amuehlbeier.de gewählt.

$ uberspace web domain add www.isso.amuehlbeier.de
$ uberspace web domain add isso.amuehlbeier.de

Anschließend müssen wir wieder die Datei .htaccess bearbeiten, damit unsere ausgewählte Sub-Domain auf den Isso Prozess weitergeleitet wird.

$ nano ~/html/.htaccess

Hier habe ich folgendes hinzugefügt:

RewriteCond %{HTTP_HOST} ^(www\.)*isso\.amuehlbeier\.de [NC]
RewriteRule ^(.*) http://localhost:ISSOPORT/$1 [P,L]

Falls www.isso.amuehlbeier.de oder isso.amuehlbeier.de aufgerufen wird, dann auf den Isso Prozess umleiten.

Nun erzeugen wir einen Service, damit Isso automatisch gestartet wird, sobald dieser abstürzt oder Ähnliches.

Wir erzeugen die isso-daemon.ini (vgl. manual Uberspace):

$ nano etc/services.d/isso-daemon.ini

mit folgendem Inhalt:

[program:isso-daemon]
command = /home/USER/.local/bin/isso -c /home/USER/etc/isso/user.cfg run
autostart = true
autorestart = true

Dann machen wir supervisor aufmerksam und starten den neuen Service

$ supervisorctl reread
$ supervisorctl update
$ supervisorctl status
ghost-daemon                     RUNNING   pid 16070, uptime 5:08:52
isso-daemon                      RUNNING   pid 9794, uptime 0:26:14

Jetzt muss nur noch

<script data-isso="//isso.amuehlbeier.de/"
  src="//isso.amuehlbeier.de/js/embed.min.js">
</script>
<section id="isso-thread"></section>

in das Ghost Theme eingetragen werden (URL anpassen).

Ich verwende das Standard Theme Casper und habe nur die post.hbs Datei editiert.

$ nano ~/ghost/content/themes/casper/post.hbs

Dort findet man bereits ein Template für Disqus, welches einkommentiert ist. Genau an diese Stelle habe ich den Code für Isso eingetragen.
So bleiben Startseite, Impressum etc ohne Kommentarfunktion.

Zum schnellen Testen kann der obige Code aber auch einfach in Code injection eingetragen werden.

Viele Grüße
Arthur

Isso auf Uberspace U7 installieren und in Ghost einbinden
Share this