Kategorie: Produktivität

Windows 10 Vorschaubilder für SVG-Dateien im Windows Explorer anzeigen

Windows unterstützt unschöner Weise traditionell keine Vorschau für SVG-Dateien.

Abhilfe schaft eine kleine Erweiterung namens SVG Viewer Extension for Windows Explorer, welche sich auf GitHub findet.

Die Erweiterung liegt als Release für Windows 32-bit und Windows 64-bit vor.

Wichtig ist, dass der Windows Explorer nach der Installation über den Task Manager ein Mal neu gestartet werden muss, damit die Erweiterung funktioniert. Ansonsten würde sie erst nach dem nächsten Neustart von Windows laufen.

Wie kann ich Typo3 6.2 auf einen neuen Server umziehen?

In aller Kürze:

  • DB-Dump auf altem Server erstellen
  • DB-Dump auf neuem Server einspielen
  • Code-Backup auf altem Server stellen
  • Code-Backup auf neuem Server einspielen
  • DB-Konfiguration in /typo3conf/LocalConfiguration.php anpassen
  • Leere Datei “ENABLE_INSTALL_TOOL” in /typo3conf anlegen

Möglicherweise sind die benötigten Symlinks beim Übertragen den Codes verloren gegangen. Die lassen sich durch
ln -s ./typo3_src-6 typo3_src
ln -s typo3_src/typo3 typo3
ln -s typo3_src/index.php index.php

wieder herstellen. Ggfls. ist noch der _ vor .htaccess zu entfernen.

  • das Installtool (http://www.example.com/typo3/install/) aufrufen
  • Cache leeren und prüfen, ob es sonst noch Probleme gibt und diese ggfls. beheben
  • Fenster mit Installtool schließen
  • Leere Datei “ENABLE_INSTALL_TOOL” in /typo3conf löschen
  • Ggfls. Typo3-Backend (http://www.example.com/typo3/) aufrufen und baseURL anpassen
  • Falls nur die Startseite und keine Unterseiten erreichbar sind, die .htaccess aus /typo3_src/ ins Doc-Root-Verzeichnis verschieben

Wie kann ich eine WordPress-Installation möglichst schnell und elegant umziehen?

Neben der “klassischen” Methode (Dateien einzeln per FTP herunterladen, DB-Backup per PHPMyAdmin erstellen) gibt es auch noch den etwas eleganteren Umweg über die Kommandozeile.

Oftmals hat man jedoch in einfacheren Hostingpaketen keinen Zugriff per Telnet oder SSH. Allerdings lassen sich fast immer trotzdem Systembefehle absetzen.

Diesen Umstand kann man sich für eine schnelle Erstellung von Backups von Code und DB zu nutze machen.

Backup DB:
system("mysqldump --opt -Q -h DB-ALT-HOST -u DB-ALT-USER -p DB-ALT-NAME --password=\"DB-ALT-PASSWORT\" > ./dbdump.sql",$ret);

Backup Code:
system("tar -zcf ./backup.tar.gz ./*",$ret);

Anschließend werden die beiden erzeugten Dateien per (S)FTP heruntergeladen und auf den neuen Server hochgeladen.

DB einspielen:
system("mysql -h DB-NEU-HOST -u DB-NEU-USER --password=\"DB-NEU-PASSWORT\" DB-NEU-NAME < ./dbdump.sql");

Code entpacken:
system("tar -xvzf ./backup.tar.gz ",$ret);

Anschließend müssen in der Datei “wp-config.php” noch die neuen DB-Daten eingetragen werden.

Hinter den DB-Daten müssen dann noch die beiden Zeilen für die neue Domain eingetragen werden:
define('WP_SITEURL', 'http://www.neue-adresse.de');
define('WP_HOME', 'http://www.neue-adresse.de');

Weiterhin sollte noch folgende Zeile eigefügt werden:
define('RELOCATE', true);

Anschließend muss die Login-Seite aufgerufen werden:
http://www.neue-adresse.de/wp-login.php

Diese Zeile wird noch vor dem Ausfüllen des Login-Formulars wieder entfernt.

Im Dashboard dann ein Plugin, z.B. “Better Search and Replace”, installieren und die alten URLs in der Datenbank durch die neuen URLs ersetzen.

WordPress zeigt nach dem Umzug keine Stylesheets oder Bilder an oder beim Versuch auf wp-admin zuzugreifen wirft der Server einen Fehler 403

Insbesondere beim Umzug zu einem neuen Hoster kann es vorkommen, dass beim Kopieren oder Entpacken der Dateien die Verzeichnisrechte nicht korrekt übernommen werden.

Dieses Problem lässt sich relativ leicht beheben, indem in einem FTP-Programm alle Verzeichnisse (rekursiv!) die Rechte 755 und alle Dateien die Rechte 644 zugewiesen bekommen.

Sollte man Zugriff auf die Serverkonsole, bspw. per SSH, haben, kann das Problem deutlich schneller gelöst werden, indem im WP-Stammverzeichnis folgende Befehle ausgeführt werden:
find ./ -type d -exec chmod 755 {} +
find ./ -type f -exec chmod 644 {} +

WordPress per PHP direkt von wordpress.org als Zip-Datei auf Server herunterladen und entpacken

Um Prototypen für Kunden zu bauen oder auch für eigene Bastelprojekte muss ich immer mal wieder WordPress neu aufsetzen.

Bei vielen Hostern geht das heute auch als App oder Service relativ vollautomatisch, aber oftmals hat man dann nicht volle Schreibrechte in den WordPress-Verzeichnissen. Also installiere ich lieber selbst.

Da das Herunterladen auf den eigenen Rechner, das lokale Entpacken der Zip-Datei und der anschließende Upload der Daten relativ unspannend und zumindest im FTP-Transfer auch zeitaufwändig ist, lässt sich dieser Vorgang mit einem kleinen Skript weitestgehend automatisieren.

  1. aktuelle deutsche Version von WordPress als Zip-Datei mit cURL direkt auf den Server ziehen
  2. Zip-Datei entpacken
  3. Verzeichnisse und Dateien aus dem Unterordner “wordpress” auf die aktuelle Verzeichnisebene verschieben
  4. WordPress-Installation anstoßen

Als Skript sieht das dann so aus:

Noch ein paar Worte zur Erläuterung:

  • Die Klasse ZipArchive sollte ab PHP 5.2 zur Verfügung stehen.
  • Das exec-Kommando kann bei anderen Hostern anders heißen, bspw. system etc.

 

Ein PHP-Skript unter Synology DSM per Cronjob regelmäßig ausführen lassen

In aller Kürze:

  1. Auf der Diskstation den SSH-Dienst aktivieren:
    Systemsteuerung => Terminal & SNMP => Häkchen bei “SSH-Dienst aktivieren” setzen => “Übernehmen” klicken
  2. Per Putty oder anderem SSH-Cilent mit der Diskstation verbinden:
    Host: diskstation (oder welchen Namen Ihr vergeben habt oder die IP-Adresse)
    User: root
    Password: Das Admin-Password
  3. Crontab bearbeiten:
    cd /etc[RETURN]
    vi crontab[RETURN]
    mit den Cursortasten an das Ende der untersten Zeile gehen
    [i] drücken, um in den Editiermodus zu gelangen
    Daten eintragen, bspw.
    0 6 * * * root curl http://127.0.0.1/ein_verzeichnis/eine_php_datei.php
    für das tägliche Aufrufen des Sripts morgens um 6 Uhr
    Die einzelnen Werte müssen mit Tabstopps getrennt werden!
    [ESC] drücken, um den Editiermodus zu verlassen
    [:][w][q] drücken, um die crontab zu speichern und den vi zu verlassen
  4. Cron neu starten:
    restart crond[RETURN]
    exit[RETURN]

Update ab DSM 6.0

Synology lässt nunmehr keinen Login auf das root-Konto zu. Stattdessen muss man sich als admin einloggen und dann vor das vi crontab[RETURN] noch ein sudo setzen. Komplett lautet der Aufruf dann
sudo vi crontab[RETURN]


Update ab DSM 7.0

Um crond neu zu starten:
sudo systemctl restart crond[RETURN]
und
sudo systemctl restart synoscheduler[RETURN]

Firefoxprofile zur Erhöhung von Datenschutz und Produktivität

Verfolgende Cookies sind heute allgegenwärtig. Große Datensammler wie Google, Facebook, Amazon & Co. können über Ihre Cookies ziemlich umfassend nachvollziehen, welche Webseiten wir besuchen. Je nach persönlicher Einstellung kann man das tragisch finden oder auch nicht. Unter Gesichtspunkten des Datenschutzes ist es zumindest fragwürdig.

Ich persönlich finde es irritierend, wenn ich mir bei Amazon ein Produkt angeschaut habe und beim Besuch der nächsten oder übernächsten Webseite genau dieses Produkt als Werbung angezeigt bekomme. Und ich habe auch überhaupt kein Bedürfnis, Facebook indirekt mitzuteilen, welche Webseiten ich außerhalb von Facebook aufrufe, sofern ich sie nicht aus Facebbok heraus aufrufe.

Das es natürlich noch weitere Techniken zur Identifizierung von Nutzern wie Fingerprinting etc. gibt, lasse ich an dieser Stelle mal bewusst außen vor.

Firefoxprofile für regelmäßig genutzte Dienste anlegen

Das Problen lässt sich ein gutes Stück weit eindämmen, indem man für bedenkliche und regelmäßig genutzte Dienste eigene Profile unter Firfox anlegt.

Zu diesem Zweck wird unter Windows mit der Tastenkombination [Windows] + [R] der “Ausführen-Dialog” aufgerufen und dann
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -no-remote -P eingegeben (ggfls. kann der Pfad zur firefox.exe variieren).

firefox profilmanager

Durch einen Klick auf “Profil erstellen…” und “Weiter” auf der kommenden Seite bekommt Ihr die Möglichkeit, Euer Profil zu benennen.

firefox profilmanager Seite 3

In diesem Fall lege ich ein eigenes Profil für Twitter an. Ein Klick auf “Fertigstellen” legt nun Euer neues Profil an und Ihr landet wieder im Profilmanager. Diesen könnt Ihr nun durch einen Klick auf “Beenden” beenden.

Firefox mit bestimmtem Profil direkt aufrufen

Im Zweifel wollt Ihr Eure verschiedenen Profile direkt vom Desktop oder aus dem Quickmenü heraus aufrufen.

Zu diesem Zweck kopier Ihr Euch am einfachsten die Verknüpfung zu Firefox und passt dann die Einstellungen an.

Unter dem Reiter “Allgemein” gebt Ihr einen aussagekräftigen Namen für Eure Verknüpfung ein:
firefox Verknüpfung Allgemein

Unter dem Reiter “Verknüpfung” gebt Ihr dann das Ziel der Verknüpfung ein. Auf meinem Rechner wäre das
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -no-remote -P Twitter
firefox Verknüpfung Verknüpfung

Datenschutz ist euch egal? Aber vielleicht Eure Zeit nicht…

Selbst wer sich um Datenschutz keinen Kopf macht, sollte sich überlegen, ob das Anlegen von eigenen Profilen für verschiedene Szenarien nicht trotzdem vor dem Hintergrund einer gesteigerten Produktivität Sinn macht.

Nicht nur als Webworker ist es nämlich sehr nützlich, alle wichtigen Links zu einem Projekt direkt in der Lesezeichen-Symboleiste erreichen zu können und sich nicht durch diverse Menüpunkte der Lesezeichenverwaltung durchhangeln zu müssen. Darüber hinaus kann man in den Einstellungen des jeweiligen Profils festlegen, dass die Fenster der letzten Sitzung wieder hergestellt werden. So hat man immer gleich alle wichtigen Tabs zu einem Projekt offen und muss nicht erst anfangen, diese einzeln oder auch gesammelt manuell zu öffnen.