simple-lightbox domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /www/htdocs/w010b2f5/page_m/wp-includes/functions.php on line 6121advanced-responsive-video-embedder domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /www/htdocs/w010b2f5/page_m/wp-includes/functions.php on line 6121Mir 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.
Der Container war schnell gestartet. In /config liegt nur eine isso.conf, welche ich danach beschreibe.
docker run -itd --restart=always -v /docker/isso/config:/config -v /docker/isso/db:/db -e GID=1000 -e UID=1000 --hostname=comment-haus-automatisierung-com.docker --name isso-comment-haus-auto wonderfall/isso
Hier der Inhalt der isso.conf
[general] dbpath = /db/comments.db host = https://haus-automatisierung.com/ max-age = 15m [server] listen = http://0.0.0.0:8095/ [moderation] enabled = false [guard] enabled = true ratelimit = 2 direct-reply = 3 reply-to-self = true require-author = true require-email = true
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:
<Macro comment-haus-automatisierung-com>
ServerName comment.haus-automatisierung.com
ServerAdmin postmaster@emailu.de
DocumentRoot "/blabla/htdocs/comment/"
ErrorLog "/blabla/logs/comment.error.log"
CustomLog "/blabla/logs/comment.access.log" combined
ProxyPreserveHost On
ProxyRequests off
ProxyPass / http://localhost:8095/
ProxyPassReverse / http://localhost:8095/
</Macro>
<VirtualHost *:80>
Use comment-haus-automatisierung-com
</VirtualHost>
<VirtualHost *:443>
Use comment-haus-automatisierung-com
SSLEngine on
SSLCertificateFile /blabla/comment.cert.cer
SSLCertificateKeyFile /blabla/comment.private.key
SSLCertificateChainFile /blabla/comment.fullchain.cer
</VirtualHost>
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.
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:
isso -c /config/isso.conf import /db/haus-automatisierung-2018-05-01T09_00_33.682754-all.xml
Der Fortschritt wird dann mit einer Prozentanzeige angezeigt und am Ende hoffentlich wie folgt quittiert:
[100%] 98 threads, 1876 comments
Das sollte der wichtigste Schritt auch schon gewesen sein. Gar nicht so schwer bis hier hin.
Wie man gesehen hat, lautet meine Domain für die Kommentare comment.haus-automatisierung.com. Entsprechend binde ich nun das JavaScript dafür ein.
<script data-isso="//comment.haus-automatisierung.com/"
data-isso-css="true"
data-isso-lang="de"
data-isso-reply-to-self="true"
data-isso-require-author="true"
data-isso-require-email="true"
data-isso-max-comments-top="inf"
data-isso-avatar="false"
data-isso-vote="true"
src="//comment.haus-automatisierung.com/js/embed.min.js"></script>
<section id="isso-thread"></section>
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.
]]>