Migration von Disqus zu isso

Bald ist es soweit. Die DSGVO greift und die Übergangszeit ist zu Ende. Für mich ist es also an der Zeit, Disqus abzulösen und durch eine eigene Plattform zu ersetzen. Erst dachte ich: Das programmierst Du eben selbst. Aber warum so kompliziert, wenn es auch einfacher geht? Mit isso wurde nämlich schon genau so eine Lösung geschaffen.

Mir ging es darum, dass ich die Webseite eigentlich genauso lassen kann wie zuvor. Also weiterhin statischer Content und ein JavaScript lädt dann die Kommentare dazu. Genau wie bei Disqus also. Und das habe ich getan. Zum Glück gibt es auch schon fertige Docker-Images. Zusammen mit LetsEncrypt und der Apache-Konfiguration hatte ich Ablösung innerhalb weniger Stunden stehen.

Docker-Container starten

Der Container war schnell gestartet. In /config liegt nur eine isso.conf, welche ich danach beschreibe.

Hier der Inhalt der isso.conf

Das ist auch schon alles. Host die die Webseite, welche später die Kommentare laden soll. Diese Angabe ist für die CORS-Geschichten notwendig. Der Teil läuft also schonmal. Nur ist nun noch nichts von extern erreichbar. Man könnte natürlich die Ports direkt freigeben und das Ganze auf Port 8080 oder so laufen lassen. Aber ich habe mich für eine Variante mit https über den Apache per ReverseProxy entschieden:

Das wars. Zertifikat erstellt und gestartet. Läuft alles. Eigentlich arbeite ich intern ebenfalls mit Namensauflösung. Für diesen Beitrag habe ich das aber in localhost geändert. Müsste eigentlich auch klappen.

Kommentare migrieren

Auf dieser Seite kann man sich einen Export der aktuellen Kommentare laden. Sobald man dies getan hat, sollte man Disqus abschalten. Ansonsten bekommt man logischerweise eventuell eine Differenz. Danach bekommt man per Mail einen öffentlich zugänglichen Link auf die XML-Datei mit den Kommentaren. Alleine an dieser Stelle sollte man sich schon fragen, wie groß Datenschutz dort wirklich geschrieben wird. Meine Datei enthält gut 32.000 Zeilen und ziemlich viele Kommentare.

Jetzt muss diese Datei natürlich noch importiert werden. Dazu kopiere ich die XML-Datei auf den Server und schiebe sie einfach in das DB-Verzeichnis (da dieses ja eh schon ein Volume von Docker ist). Dann führe im Container den folgenden Befehl aus:

Der Fortschritt wird dann mit einer Prozentanzeige angezeigt und am Ende hoffentlich wie folgt quittiert:

Das sollte der wichtigste Schritt auch schon gewesen sein. Gar nicht so schwer bis hier hin.

Client-Seite ändern

Wie man gesehen hat, lautet meine Domain für die Kommentare comment.haus-automatisierung.com. Entsprechend binde ich nun das JavaScript dafür ein.

Fertig. Läuft!

Leider steht jetzt noch die Aufgabe an, das Design an den Rest der Seite etwas anzupassen.

Zum Backup gehört nun noch das comments.db-File, welches eine sqllite-Datenbank ist.

Über

Jahrgang 87, gelernter Softwareentwickler und 15 Jahr Erfahrung im Bereich Web-Entwicklung mit PHP. Weiterhin bin ich seit Ende 2013 Magento Certified Developer.