Nun mit TLS!

Eigentlich wollte ich heute „nur mal schnell“ letsencrypt auf meinem Server installieren um meinen Blog auf TLS umzustellen. Die Installation lief nicht ganz rund, aber nach 1-2 Anläufen war blog.zuberonline.net via TLS erreichbar.

Zufällig bemerkte ich, dass bei machen alten Beiträgen Content fehlte. Schnell war mir klar woran es liegt: Der besagte Content war via iframe eingebettet und die URL zeigte auf eine nicht TLS Ressource. Beispielsweise Videos von Vimeo welche ich via iframe eingebettet habe. Das Problem ist, dass ich keine Ahnung habe, welche Beiträge Content via iframe eingebettet haben. Ich könnte alle Beiträge durchschauen, aber das war mir dann doch zu langwierig.

Ich habe das Problem wie folgt gelöst:

  1. Zuerst habe ich mich via SSH auf meinen Server verbunden und den Port von MySQL an meinen lokalen Rechner weitergeleitet:
    ssh -L 3306:localhost:3306 -p 22 user@meinserver.net
  2. Anschliessend habe ich mich mit Sequel Pro auf die Datenbank verbunden und
  3. mit dem folgenden Query die betroffenen Beiträge ausfindig gemacht:
    select post_title,post_content from wp_posts where post_status in ('publish','revision') and post_content like '%iframe src="http://%';
  4. Anschliessend konnte ich die betroffenen Beiträge „reparieren“ (die besagten Links auf https umstellen) und alles war wieder beim Alten, puh

NAS Umzug

Neulich habe ich mir ein neues NAS gekauft und musste natürlich die Daten vom bestehenden NAS übernehmen. Da beide Systeme mit Linux laufen, konnte ich auf rsync zurückgreifen. Ich musste lediglich auf dem neuen NAS SSH und rsync aktivieren. Da ich das gesamte root-Verzeichnis kopieren wollte und dort viele Systemverzeichnisse liegen welche ich nicht brauche, erstellte ich zuerst eine Textdatei mit den Verzeichnissen, welche ich ausschliessen wollte (Verzeichnisse als Liste, unten „exclude.me“ gennant). Das bestehende NAS ist mit seinem ARM Prozessor wenig schwach auf der Brust, so dass das Kopieren die CPU zu 100% auslastet. Daher habe ich mit „nice“ die Priorität des rsync Prozesses runtergesetzt. Das gesamte Kommando sieht dann wie folgt aus:

nice -n 20 rsync -aP --exclude-from=exclude.me /source/directory <admin>@<target-ip>:/target/directory

Das Schöne an rsync ist, dass man den Kopierprozess (oder besser Syncprozess) bei einem Abbruch wieder starten kann, ohne das die Daten nochmals kopiert werden, welche bereits übernommen wurden.

Am Ende schaute ich noch mit:

find source/source/ -type f | wc -l

(ausgeführt auf beiden Systemen), ob auch alle Daten kopiert wurden.