Schön, Dich auf meinem Blog zu sehen! Hier befindet sich ein Sammelsurium an Tipps und Tricks entstanden beim täglichen Umgang mit Hard- und Software, aufgeschrieben direkt aus dem IT-Alltag.

Fragen und Antworten zu meinem Blog

Jansens Pott hat in seinem Blog eine Idee aus dem englischsprachigen Raum übernommen, in der Blogger ein paar Fragen zu ihren Blogs und ihrer Bloggerkarriere beantworten. Ich finde es interessant, auch mal etwas Persönliches über meine Blogger-Kolleginnen und -Kollegen zu lesen und möchte gern selbst etwas zu dieser Idee beitragen. Auf geht’s.

[Mehr]

Externe Links mittels CSS kennzeichnen

Um externe Links automatisch mit CSS zu kennzeichnen müssen zuerst mit einem passenden CSS-Selektor alle externen Links ausgewählt werden. Anschließend können Darstellungseigenschaften für die ausgewählten Links festgelegt werden. Mit folgendem Code werden z.B. hier im Blog alle ausgehenden Links mit einer kleinen Grafik versehen.

article a[href^="http://"]:not([href*="blog.tausys.de"]):not([href*="localhost"]):after,
article a[href^="https://"]:not([href*="blog.tausys.de"]):after {
  content: " " url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAVklEQVR4Xn3PgQkAMQhDUXfqTu7kTtkpd5RA8AInfArtQ2iRXFWT2QedAfttj2FsPIOE1eCOlEuoWWjgzYaB/IkeGOrxXhqB+uA9Bfcm0lAZuh+YIeAD+cAqSz4kCMUAAAAASUVORK5CYII=);
  position: relative;
  top: -.3em;
}

Alle Artikel hier im Blog stehen innerhalb von <article> ... </article>. In diesen Artikeln werden alle Links (a) selektiert, welche mit http:// beginnen und nicht auf die Blog-Webseite (blog.tausys.de) zeigen. Der Link darf auch nicht auf localhost zeigen, da ich Artikel-Entwürfe mit hugo darüber anzeigen lasse.

[Mehr]
CSS  OSS 

Anpassungen in Nginx für Hugo

Nachdem die Migration zu Hugo sehr erfolgreich verlaufen ist, wurden auch Einstellungen in der Nginx-Konfiguration notwendig.

Nicht mehr vorhandene Seiten

Nicht mehr vorhandene Seiten müssen Suchmaschinen mitgeteilt werden. Dadurch wissen die Suchmaschinen, dass die Seite nicht nur temporär nicht gefunden werden kann, sondern permanent entfernt wurde. Mit Nginx setze ich dazu mit einer Map eine Variable, welche in der nachfolgenden Nginx-Konfiguration abgefragt wird um den Code HTTP-Statuscode 410 (gone) zurückzusenden. In der Map sind alle nicht mehr verfügbaren Pfade eingetragen.

[Mehr]

Suche für Hugo

Nach der erfolgreichen Migration zu Hugo fehlen noch diese und jene Bausteinchen auf der Webseite. Heute soll es um die Suche gehen. Hugo bietet dazu mehrere Tools an, Open Source wie auch kommerziell.

Da ich hier alles selbst hoste, habe ich mich für pagefind entschieden. Pagefind erstellt nach dem Generieren der Seiten durch Hugo in einem eigenen Lauf einen Suchindex. Dieser wird im public-Verzeichnis unter searchindex/ abgelegt.

[Mehr]
Hugo 

Migration zu Hugo

Seit langer Zeit habe ich hier keinen neuen Beitrag mehr veröffentlicht. Was im Gegensatz zur Veröffentlichungsfrequenz neuer Artikel jedoch enorm gestiegen ist, sind die Anmeldeversuche an der hiesigen WordPress-Instanz. WordPress und die wenigen installierten Addons aktualisieren sich zwar automatisch, aber es bleibt immer das ungute Gefühl, irgendwann doch von einer Lücke im PHP-Code oder gar im PHP-Interpreter betroffen zu sein und sich dann zumindest Arbeit und evtl. auch Ärger einzuhandeln.

[Mehr]
Hugo  CMS  WordPress  OSS 

Hinter den Wortbergen

Weit hinten, hinter den Wortbergen, fern der Länder Vokalien und Konsonantien leben die Blindtexte. Abgeschieden wohnen sie in Buchstabhausen an der Küste des Semantik, eines großen Sprachozeans. Ein kleines Bächlein namens Duden fließt durch ihren Ort und versorgt sie mit den nötigen Regelialien. Es ist ein paradiesmatisches Land, in dem einem gebratene Satzteile in den Mund fliegen. Nicht einmal von der allmächtigen Interpunktion werden die Blindtexte beherrscht – ein geradezu unorthographisches Leben.

[Mehr]

Bash-Kommandohistorie: Doppelte Einträge verhindern

Eine sehr nützliche Funktion der Bash ist es, Kommandos in einer Historie zu speichern, um sie wiederholt ausführen zu können. So z.B. können die zuletzt ausgeführte Kommando durch Drücken der Cursor-Hoch-Taste wieder in die Eingebezeile geholt, evtl. editiert und erneut ausgeführt werden.

Wenn nun durch wiederholtes Ausführen immer des gleichen Kommandos ausgeführt wird, z.B. um sich ändernden Plattenplatz bei einer Sicherung zu beobachten oder den Verzeichnisinhalt zu überwachen, der durch ein laufendes Programm geändert wird, schreibt die Bash auch immer wieder das gleiche Kommando in die Historie. Das ist sehr unpraktisch, wenn man evtl. ein weiter zurückliegendes Kommando wieder aus der Historie hervorholen will.

[Mehr]
bash  Linux  OSS 

Zabbix: Public key authentification failed

In der Monitoring-Software Zabbix gibt es die Möglichkeit, aufzuzeichnende Werte über Shell-Komandos zu ermitteln, die über SSH von einem enfernten Host gesammelt werden. Dazu muss sich der auf dem jeweiligen Host für die Datensammelei installierte Zabbix-Agent per SSH mit dem entfernten Rechner verbinden können. Passwortlos funktioniert das am besten mit dem in SSH integrierten Public-Key-Verfahren: dazu erstellt man zuerst für den Benutzer, unter dem der Zabbix-Agent läuft einen SSH-Key mit ssh-keygen, schickt dann den generierten öffentlichen Schlüssel an den entfernten Rechner und trägt diesen beim Benutzer in der Datei ~/.ssh/authorized_keys ein. Die letzten zwei Schritte kann man auch halbautomatisch mit dem Befehl ssh-copy-id erledigen.

[Mehr]
OpenSSH  OSS  SSH  Zabbix 

Cookies: was sind sie, was nicht

Immer wieder sind falsche Informationen zu Cookies zu lesen, selbst in Fachzeitschriften. Auch heute las ich wieder solch eine irreführende Aussage, dass Cookies beim Surfen angeblich Daten auf meiner Festplatte speichern. Das ist Humbug. Genausowenig speichert eine Webseite beim Surfen irgendwas auf meinem Computer. Vielmehr weist mein zum Surfen verwendeter Browser das Betriebssystem des Computers an, etwas zu speichern. Das können Inhalte aus einer Webseite oder eben auch ein mit der Webseite empfangenes Cookie sein. Aber von vorn.

[Mehr]

Syslog-Meldungen mit Bash verschicken

Kürzlich ergab sich das Problem, Syslog-Nachrichten an einen Remote-Host verschicken zu müssen, der sonst dazu verwendete Befehl logger auf dem System aber noch kein Verschicken an Remote-Systeme unterstützte. Leider gab es für das betreffende Gerät auch keine neuere Software, es handelte sich um eine externe Netzwerk-Festplatte von WD, ein My Book Live.

Wenn sonst keine entsprechenden Werkzeuge zur Verfügung stehen, ist es oft ein unterschätztes Feature, dass bash direkt an Netzwerkadressen senden oder von diesen empfangen kann. Glücklicherweise unterstützt die auf den Geräten installierte bash-Version das Lesen und Schreiben an Netzwerkadressen per TCP oder UDP. Das ursprüngliche Syslog-Nachrichtenformat, beschrieben in RFC3164, ist reiner Text. Gesagt getan, ein Skript muss her:

[Mehr]